地理信息系统

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

5
同时更改几层的样式属性?
我正在处理批量数据。我将数百个GeoTIFF图像导入到QGIS项目中,我想修改其图层属性-例如无数据值,某些像素值的透明度,颜色图分配等。 但是,我似乎找不到一种将这些更改同时应用于多个层的方法,除非使用全局搜索和替换来编辑XML文件。有没有办法使用GUI做到这一点?

1
如何创建一个准确的天梭Indicatrix?
甲天梭率体是一目了然通信有用的方法的种失真的给定投影易于(在下面的图中,每个所述红色圆圈的占用相同的面积)。有人告诉我,生成TI的流行方法有其自身的问题,以至于有时会严重不准确。 常用方法有什么问题,什么是生成普通GIS dude(ette)可以访问的TI的最正确方法?

4
无需QGIS,ArcGIS,PostGIS等的Python中的高效空间连接
我正在尝试进行空间连接,类似于此处的示例:是否存在“按位置连接属性”的python选项?。但是,这种方法似乎效率低下/缓慢。即使仅以250点的分数运行它,也要花费近2分钟的时间,而对于> 1,000点的shapefile,它完全失败。有没有更好的方法?我想完全在Python中完成此操作,而无需使用ArcGIS,QGIS等。 我也想知道是否有可能对一个多边形内所有点的属性(即总体)求和,然后将该数量加入到多边形shapefile中。 这是我要转换的代码。我在第9行出现错误: poly['properties']['score'] += point['properties']['score'] 其中说: TypeError:+ =:'NoneType'和'float'不受支持的操作数类型。 如果我将“ + =”替换为“ =”,则可以正常运行,但不会对字段求和。我也尝试过将它们设置为整数,但这也失败了。 with fiona.open(poly_shp, 'r') as n: with fiona.open(point_shp,'r') as s: outSchema = {'geometry': 'Polygon','properties':{'region':'str','score':'float'}} with fiona.open (out_shp, 'w', 'ESRI Shapefile', outSchema, crs) as output: for point in s: for poly in n: if shape(point['geometry']).within(shape(poly['geometry'])): poly['properties']['score']) += point['properties']['score']) …

2
QGIS 2.2中的“合并所选功能”按钮在哪里?
我似乎找不到“合并所选功能”按钮。我需要在shapefile中合并几个多边形,但是在此版本中找不到方法。(我在弗罗茨瓦夫上运行直到2.2。) QGIS 2.2仍包含“合并所选功能”按钮吗?在哪里可以找到它?当前的图标是什么?
30 qgis  qgis-2.2 

3
在QGIS中仅在地图上显示所选要素?
不确定是否存在该选项,但是新的QGIS版本在其他地方隐藏了很多东西,而且看起来如此简单,以至于我确信以前可以这样做。 我有相当多的船舶航迹数据集。现在,我想分析单个航迹(由具有point2one的点层制成)-但是,它是如此拥挤,以至于很难查看单个航迹。我不想将每个轨道保存为新图层,所以我想知道是否可以在属性表中选择一个轨道并在地图上仅显示一个轨道/隐藏其他轨道?
30 qgis  select  display 

4
遍历QGIS Python中的地图图层?
我在弄清楚如何遍历地图图层时遇到麻烦。我可以通过以下方式访问目录中当前突出显示的图层,iface.activeLayer()但我希望我的代码在所有图层上均可使用。 我在API中看不到任何可轻松访问此功能的东西,找不到很好的在线示例,但也许我错过了什么?
30 pyqgis  layers 

6
在Mac上安装QGIS3?
Kyngchaos安装程序未找到python3。我使用HomeBrew安装了python3,但位于/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6 如何告诉QGIS安装程序识别已安装python3? 我以前曾使用HomeBrew安装GDAL,因此尝试重新安装(或在可能结束的地方安装其他版本),认为这可能有助于解决这种情况,但QGIS3安装程序仍然找不到python 3。 安装错误是在安装程序打开后弹出的错误消息,提示“ python3 QGIS需要Python 3.6”。 对于非Mac用户,大多数人似乎都依赖Kyngchaos提供QGIS安装程序,而他刚刚发布了v3安装程序。 更新:在下面回答了我自己的问题。除非您有足够的知识将QGIS安装程序/ QGIS指向正确的版本(我当然不是),否则不要使用HomeBrew,而要使用自述文件中链接到的python3安装程序版本。

3
添加/删除Leaflet GeoJSON图层
我正在尝试使用Leaflet API在不同的缩放层上显示不同的GeoJSON层。我可以一次加载并显示所有三个图层(尽管我实际上不希望它们一次全部显示)。我可以加载和显示它们在不同的缩放级别。 我已经设置了代码,以便在1-6缩放级别下,地图将显示一个GeoJSON图层。在7-10级,它将显示另一个,在11+级,将显示第三个。显示它们的作品。我现在要开始工作的是,如果显示了其他人,则将其关闭。从1-6移到7-10可以正常工作(这意味着它可以正确关闭1-6层),但是从7-10到11+不能正常工作(这意味着7-10层仍然存在),我无法确定找出原因(使用相同的代码)。 这是GeoJSON图层的ajax: function getJson(defaultStyle, map, simp, geojsonLayer){ var url = 'file' + simp + '.json'; map.removeLayer(geojsonLayer); geojsonLayer.clearLayers(); $.getJSON(url, function(data){ geojsonLayer = L.geoJson(data, { style: defaultStyle, onEachFeature: onEachFeature }); geojsonLayer.addTo(map); }); } 这是根据缩放比例调用ajax的主要功能。simpCounter最初设置为0。 map.on('zoomend', function(e) { if (map.getZoom() >= 7 && map.getZoom() <= 10) { if (simpCounter == 0 …

3
如何使用正则表达式轻松编辑属性数据?
我正在为使用QGIS的MSc学生编写教程。其中一项任务要求修改属性数据(如果有兴趣,请参见此处的 pdf文档草稿)。 问题是如何让他们编辑属​​性数据。我知道这个问题以前曾被问过,而且答案曾经很简单:只需使用LibreOffice calc对其进行修改然后保存,确保行顺序和列标题保持不变。我以前曾使用过这种方法,效果很好。 不幸的是,该解决方案不再起作用:将.dbf文件保存在LibreOffice(5.4.2)或OpenOffice(3.4.1)中。Calc从QGIS角度对数据进行加扰(属性表中仅出现随机整数),并且而是创建一个附加的.dbt文件。 因此,要提出一个问题:我如何告诉一班理学硕士课程的学生下周去做?我考虑了以下选项: 改用R(对我来说很棒,但对学生来说却很可怕) 将文件编辑为.csv,然后根据时间戳进行合并(很好,但似乎过于复杂,可能会在2小时的实际操作中引入更多错误) 使用其他程序:我尝试了Gnumeric和Excel,但它们都不很快产生良好的结果。 为了帮助回答这个问题,我创建了一个可复制的示例。在QGIS中打开文件“ points.shp”,观察属性表,然后关闭。在LibreOffice中的属性表“ points.dbf”中编辑几个单元格-保存。在QGIS中重新打开“ points.shp”,并观察加扰的属性表。.zip文件夹中的其他shapefile已被LibreOffice和OpenOffice破坏,以说明该问题对我来说是什么样子。 简而言之,如何最好地解决这个问题?


3
毕达哥拉斯定理与Haversine公式在不同尺度下测量球面距离时的近似误差是多少?
许多人在首次尝试计算两个经度/纬度对之间的距离时会问,勾股定理是否可以作为合适的距离函数起作用。 人们最常回答“不,勾股定理仅适用于2D欧几里得平面”。但是,很少有人提到球形上的尺度和位置对勾股定理有多不精确的影响。 基本概念是很小的比例,球的表面看起来非常像飞机。在非常大的比例下,沿曲面的距离更加弯曲,因此,不正确的勾股定理和正确的Haversine公式之间的差异更大。 有谁知道一个公式或经验法则,它会根据您要测量的距离的大小来告诉您两次距离测量之间的差异? 我认为明确地这样做将有助于: 解释为什么勾股定理不完美;和 让正在寻找更多“粗略”距离的人知道毕达哥拉斯何时真正能够达到他们的目的。


7
通过QGIS中的选择创建新层?
是否可以通过在QGIS中进行选择来创建图层? 我正在使用QGIS 1.7.4-Wroclaw。 为了让其他人更容易看到这一点,这里有一些图片。我使用了QGIS 2.0.1-Dufour。 选择 保存 加
30 qgis  query-layer 

1
如何在PostGIS中将多边形从多边形转换/类型转换为多边形?
有什么方法可以将多边形转换为多面体类型? 例如,我在点上使用ST_Buffer()创建了一个圆。该函数的返回类型为Polygon类型。问题是,在几何列上有一个限制将其限制为Multipolygon类型。因此,我无法插入简单的多边形。 我已经使用过ST_MPolyFromText()函数,但是像往常一样,它为此返回null,而ST_Dump()没有给出正确的输出。 约束是: CONSTRAINT enforce_geotype_geom CHECK (geometrytype(geom) = 'MULTIPOLYGON'::text OR geom IS NULL),
30 postgis 

5
如何使用Python GDAL绑定获取栅格角坐标?
有没有办法使用gdal的Python绑定从栅格文件中获取角坐标(以纬度/经度为单位)? 网上的一些搜索使我确信没有这种搜索,因此我通过解析gdalinfo输出进行了开发,它有些基本,但是我认为这可能为那些不太熟悉python的人节省一些时间。仅当gdalinfo包含地理坐标和角坐标时,它也才有效,我认为并非总是如此。 这是我的解决方法,请问有人有更好的解决方案吗? 在适当的栅格上的gdalinfo会在输出中途产生如下所示的结果: Corner Coordinates: Upper Left ( -18449.521, -256913.934) (137d 7'21.93"E, 4d20'3.46"S) Lower Left ( -18449.521, -345509.683) (137d 7'19.32"E, 5d49'44.25"S) Upper Right ( 18407.241, -256913.934) (137d44'46.82"E, 4d20'3.46"S) Lower Right ( 18407.241, -345509.683) (137d44'49.42"E, 5d49'44.25"S) Center ( -21.140, -301211.809) (137d26'4.37"E, 5d 4'53.85"S) 此代码将在gdalinfo看起来像这样的文件上工作。我相信有时坐标将以度和小数表示,而不是度,分和秒。为这种情况调整代码应该是微不足道的。 import numpy as np import subprocess …
30 python  gdal 

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.