地理信息系统

制图师,地理学家和GIS专业人员的问答

1
QGIS导出作曲家在python中为pdf
我有一个包含作曲家的QGIS项目。当然,如果进入GUI,我可以将其导出为pdf等。对于我的make脚本,尽管我想通过python脚本来完成。通过在线阅读,这是我的尝试: #!/usr/bin/env python import sys from qgis.gui import QgsMapCanvas, QgsLayerTreeMapCanvasBridge from PyQt4.QtCore import QFileInfo from PyQt4.QtXml import QDomDocument from qgis.core import * qgs = QgsApplication(sys.argv, True) QgsApplication.setPrefixPath("/usr", True) qgs.initQgis() def make_pdf(): canvas = QgsMapCanvas() bridge = QgsLayerTreeMapCanvasBridge( QgsProject.instance().layerTreeRoot(), canvas) bridge.setCanvasLayers() QgsProject.instance().read(QFileInfo('../board.qgs')) composition = QgsComposition(canvas.mapSettings()) map_item = composition.getComposerItemById('board36x48') map_item.setMapCanvas(canvas) map_item.zoomToExtent(canvas.extent()) composition.refreshItems() …
11 qgis  python  pyqgis  pdf 

1
GML 3.1 / 3.2是否符合“ EPSG:4326”规范的srsName?
我有时会srsName="EPSG:4326"在GML文档中看到(例如https://postgis.net/docs/ST_GeomFromGML.html,尽管我的特定来源不是公开的)。意图很明确(也许对于轴顺序来说不是很重要),并且可以在各种系统之间互操作,但是我想知道这是否确实符合规范。 我看过OGC命名机构和OGC URN政策,他们使用的是urn:ogc:def:crs:EPSG:\d{4,5}表格(即为urn:ogc:def:crs:EPSG:4326)。 GML点配置文件(OGC 05-029r4)srsName="urn:ogc:def:crs:EPSG:6.6:4326"在示例中使用,并且要求“众所周知”。我没有看到任何实际上排除任何srsName特殊之处的东西。 是srsName="EPSG:abcd"形式(特别是srsName="EPSG:4326")规范兼容的一个GML 3.1或3.2元件(特别是用于点资料)?
11 gml  ogc  specification 


1
GDAL是否支持并行处理?
我想加快与此命令相对应的过程: gdalwarp -t_srs EPSG:4326 -overwrite input.ntf output.tif 有没有办法在GDAL中使用并行处理?半场论题:如果不是,您是否建议使用非GDAL解决方案来加快类似galwarp的过程? 这是我浏览过的网页: 是否可以在GDAL和QGIS中进行并行处理? [gdal-dev] GDAL栅格处理:并行计算 编辑:我问了这个问题,因为我认为处理gdalwarp时我的CPU%保持在100%以下。但是,再看一看,它达到了555.5%。

1
等待画布完成渲染,然后再保存图像
我正在尝试编写一个脚本,该脚本将使用地图编辑器保存多个图层的渲染。我遇到的问题是脚本在qgis完成渲染所有图层之前保存。 根据其他几个答案(1,2,3),我试图使用iface.mapCanvas.mapCanvasRefreshed.connect(),并把图像函数内部节约,但我仍然遇到了同样的问题-图像不包括所有层。 下面列出了我正在使用的代码以及主窗口和渲染图的图像。 我注意到,如果打开控制台窗口并取消注释了print layerList三行,程序将等待渲染完成,然后再保存图像。我不确定这是由于处理时间的增加,还是正在改变程序的执行方式。 如何正确实现此功能,以便所有层都包含在图像中? from qgis.core import * from qgis.utils import * from qgis.gui import * from PyQt4.QtCore import * from PyQt4.QtGui import * import os.path ##StackExchange Version=name ##Map_Save_Folder=folder ##Map_Save_Name=string roadmap # Create save file location mapName = "%s.png" %Map_Save_Name outfile = os.path.join(Map_Save_Folder,mapName) pdfName = "%s.pdf" %Map_Save_Name outPDF …


2
在QGIS中设置图层面板的宽度?
当我打开QGIS时,“图层面板”默认设置为不显示“删除图层/组”按钮的宽度。因此,每次打开QGIS时,我必须调整面板大小以显示按钮。 是否可以为此面板设置默认宽度,这样我就不必调整其大小了? 我正在Windows 10上使用QGIS 2.18.5。


2
用潘带潘沙彭landsat反射产品科学上是否正确
我需要知道将/ pan-harpen Landsat 8表面反射产品与相应波段的pan波段融合是否在科学上有效?Landsat反射产品的详细信息可以在这里找到。需要指出的是,要获得该产品,需要单独订购表面反射产品。该产品仅包含7个波段(30m),不包含IR和Pan波段。因此,我的问题再次是,将7个波段(30m)的表面反射率产品与正常(而非表面反射率)的潘波段(15m)融合在一起是否有效。我想用这种锐化的图像进行分割和土地覆盖图绘制,所以我需要知道在学术界是否有建立这种泛锐化的实践,请参考。

1
r.mapcalc在QGIS中不提供输出
一段时间以来,我一直在尝试使用QGIS处理工具箱中的r.mapcalc。但是,该算法没有任何输出。我已经尝试了几个栅格图层和不同的表达式,但是该算法从不向“结果目录”输出任何内容。下面的图像显示了一个简单的算法设置示例。也许我错过了一些东西,但是我没有在网上找到任何类似的东西。

3
使用GDAL计算shapefile中多边形的总面积?
我在英国国家网格投影中有一个shapefile: Geometry: 3D Polygon Feature Count: 5378 Extent: (9247.520209, 14785.170099) - (638149.173223, 1217788.569952) Layer SRS WKT: PROJCS["British_National_Grid", GEOGCS["GCS_airy", DATUM["OSGB_1936", SPHEROID["Airy_1830",6377563.396,299.3249646]], PRIMEM["Greenwich",0], UNIT["Degree",0.017453292519943295]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",49], PARAMETER["central_meridian",-2], PARAMETER["scale_factor",0.9996012717], PARAMETER["false_easting",400000], PARAMETER["false_northing",-100000], UNIT["Meter",1]] cat: Integer (9.0) 我可以使用GDAL / OGR来获取shapefile中所有多边形的总面积(以公顷为单位)吗? 我想知道是否可以使用-sql,例如: ogrinfo -sql "SELECT SUM(ST_Area(geom::geography)) FROM mytable" myshapefile.shp 但是,尝试让我得到ERROR 1: Undefined function 'ST_Area' used.。 我想我可以将Shapefile导入QGIS,为每个多边形添加一个area属性,然后对其求和,但是如果可能的话,我宁愿使用命令行工具。
11 gdal  ogr  area  ogrinfo 

2
查找特定长/纬度坐标的前哨瓦
我正在构建一个工具,可从“ Sentinel-2 on AWS”下载图像 将Long / Lat坐标转换为特定的Sentinel磁贴时遇到麻烦。我知道Sentinel 2使用MGRS,并且我尝试将Long / Lat简单地转换为MGRS,但由于精度低,我得到了S2A tile ID。它有效,但并非总是如此。 例如,Long / Lat 34.665,31.625在MGRS中解析为“ 36R XA”,但前哨瓦36RXA不存在。 使用长/纬度坐标确定前哨瓦的正确方法是什么?

1
选择边界框内的所有点
我以前曾问过这个问题,但我尝试的答案却无效。 我想查询边界框内的所有OSM方式。OSM数据是使用默认的球形墨卡托导入的。我正在使用LAT / LON查询,因此转换 SELECT * FROM planet_osm_ways WHERE ST_Transform( ST_MakeEnvelope(37.808264, 37.804339, -122.275244, -122.271189, 4326),3857 ); 运行此命令时,出现以下错误: 错误:WHERE的参数必须为布尔型,而不是几何第3行:WHERE ST_Transform(ST_MakeEnvelope(37.808264,37.804339,-12 ...

2
将巨大的XYZ CSV转换为GeoTIFF
我有大量CSV格式的数据,其中包含UTM坐标X和Y和高程值作为Z信息。我需要将这些数据转换为GeoTIFF的DEM以便进一步分析。在这种情况下,大量意味着16 m。线,具有在一个点X,Y和Z每行。这些点是均匀分布的,因此不需要插值;每个点仅需要转换为栅格像元。 原始数据不带分隔符,列宽固定。我已经弄清楚了如何使用流文本编辑器sed将文件语法转换为使用分隔符而不是固定宽度并消除所有空格字符。从这里开始,通常,我的工作流程是通过根据和数据创建要素类,将数据导入ArcGIS X,Y然后Z第二步,使用“ 指向栅格”工具将点shapefile转换为GeoTIFF 。但是,对于该过程,我当前拥有的文件太大。 除了寻找上述工作流程之外,我一直在寻找一种有效的替代方法,并发现了GDAL。但是,在gdal_translate,我可以在支持的文件类型列表中找到的最接近的受支持格式是ASCII网格,但没有逗号分隔的XYZ。另一个困难是,我有UTM坐标,而大多数示例似乎都使用十进制度坐标。但是,我需要停留在UTM系统内(或者至少,我的输出GeoTIFF必须位于UTM坐标系内)。 因此,我正在寻找一种使用GDAL将CSV XYZ转换为GeoTIFF的方法,但到目前为止,尚无法找到处理此确切问题的示例。对于某些提示甚至代码示例,我将感到非常高兴。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.