地理信息系统

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

6
QGIS 3.0中的地理配准?
我刚刚升级到QGIS 3.0(在Windows 10上也为OS X),却找不到如何进行地理配准的方法。该软件告诉我,仍安装了GDAL地理配准,并且无法删除它,并且该分类应位于“光栅”类别中。但是我在那里找不到,菜单的其他部分也找不到。 创建了新的配置文件,但存在相同的问题...:

2
在地图上找到“终点”城市
我想找到末端的村庄/城市。这意味着:我需要这些村庄,这些村庄在X公里的距离上最多与一个村庄相连。 我只是想知道如何调用此算法(我猜有人曾经创建过类似的东西)。 有这个工具吗?这个概念怎么称呼? 例如 City ------------ Village 1 ------- Village 2 ------ Village 3 - - - [ Mountain] \ \ \ Village 4 | Road | \ in mountains Village 5----------Village6---------Village7 - - - - - 只要山区的道路长于Xkm,Village 3并且Village 7由我终端考虑,因为它们链接到一个村庄(V2和V6)。 否则,我将要使用我们拥有的开放数据构建一个。 我已经试过: 下载我国(罗马尼亚)的OSM数据,并将村庄和城市导入数据库。使用数据库中的地理位置功能,我可以找到半径R km 以内不超过X个村庄的村庄。 但是,这并不是我的情况的解决方案,因为在我的情况下,就像上面的示例一样,一个村庄可能位于山的另一侧,但是没有好的方法(或者根本没有办法)。

1
辐照度分析-GRASS与SAGA的显着差异
我想计算并可视化绘图的辐照度值。不知道为什么,但是在QGIS 2.18.5的副本中,“ 地形分析->闪电 ”中缺少合适的SAGA模块,因此我选择了GRASS“ r.sun ”算法。 结果非常惊人。似乎尽管进行了适当地理定位的栅格分析,但该图块必须位于金星而不是波兰东部。根本不可能在6月21日接收到近5千瓦时/平方米的电。 为了再次检查数字,我找到了独立的SAGA 5.0副本,然后重新运行分析(“潜在的太阳辐射”算法)。这次的结果更加可靠(导入QGIS进行比较的屏幕截图上的光栅)。 这两种算法有很大不同吗? 有没有人遇到过同样的问题? 仍然仅测试此功能。 QGIS版本: 2.18.5 草版: 7 SAGA版本: 5.0.0。 输入:栅格高程,坡度和长宽比数据(3个单独的值)。SAGA仅在高程栅格上运行。GRASS全部使用了3。

3
创建最大宽度/高度比的“斜边界框”?
我想从一组输入要素中创建一个最大宽度/高度比(“斜边界框”)的周围矩形,如下图所示: 例如PostGIS功能ST_Envelope和ST_Box2DFME变压器,BoundingBoxReplacer并BoundingBoxAccumulator生成轴平行边界框。 任何使用PostGIS,QGIS或FME的方法的建议都将受到欢迎!
13 qgis  postgis  fme  extents 

3
如何在面向最长边的多边形内创建网格?
我一直在使用一个名为“创建多边形格网”的过程来在具有指定行和列属性的多边形内创建网格。这是我一直在QGIS中运行的SAGA工具。它根据输入多边形的范围生成一个网格,其中单元格从N到S和E到W。如果网格的方向平行于多边形的最长边缘,则对我的分析会更好。作为参考,我附加了当前自动输出的图像以及我手动更改的输出以使网格与多边形对齐。网格最初覆盖了多边形的整个范围,但已被裁剪以仅显示内部的像元部分。 上图是默认情况下工具放置的内容。 这是网格的图像,已对其进行手动编辑以适合必要的参数。 我的问题是,有没有一种方法可以自动生成对齐的网格(例如第二张图像中的网格)?我将需要为数千个多边形生成网格。

1
检测分支多边形形状?
我有一个包含数百万个多边形的矢量层,可以连续覆盖。我需要根据它们的形状对其进行分类。我已经在使用景观生态学中的几个形状指标,例如紧密度(4piA / P ^ 2),平均宽度(2A / P),形状编号(P / sqrt(A)),我也看到了计算的圆度/紧凑度的答案多边形? 我的问题是所有这些指标都仅使用面积和周长的某种比率。即使是分形维数索引也仅使用面积和周长(2ln(0.25P)/ ln(A))。但是,如何区分两个具有相同面积和周长但形状完全不同的多边形?像这样的分支多边形A: 我试图以与弯曲的条带B相同的面积和周长进行绘制。我所有已知的索引对于它们都将是相同的。但是对我来说,区分简单的条带(包括弯曲的新月形)和复杂的分支形状非常重要。 我有意将多边形B显示为弯曲的条带,而不是直线的条带,因为我知道相关的外接圆索引可以检测到细长的笔直形状,但是我的多边形也可能具有相同的外接圆。即使我构造凸包并计算面积比Apolygon / Aconvex,在这里也可能非常相似。 那么,如何在矢量数据中自动清晰地区分分支多边形A和多边形B?(将它们转换为栅格将需要非常小的像元大小,巨大的数据集和内存不足,因此这是不可能的)。是否有其他形状索引包含其他参数?理想情况下,该方法不仅可以区分清楚分支的多边形,还可以区分C和D: 我唯一的想法是构造凸包,然后从其凸包中删除多边形,并计算它留下的(大)块的数量(逐个多边形而不是整个图层擦除多边形)。这可能表明边界的复杂性。 我欢迎数学解决方案/算法,以后将在Python中实现。

1
是否从QGIS测量工具获得距离?
我已经建立了一个插件来为Spatialite数据库提供输入掩码。有两个字段代表对象的最小/最大尺寸。 当我iface.actionMeasure().trigger()用两个按钮“ Measure” 调用“测量工具”()时,单击尺寸,然后用键盘将值键入字段(QLineEdit)。 使用“测量工具”右键单击(完成测量)后,是否有可能将值自动提交到该字段(最小或最大,QLineEdit)? 通话计量工具(有效) 左键单击:开始测量 4.一次:右键单击并将“测量工具的总值”提交到最小值字段(QLineEdit)。 更新1: 问了这个问题的一天后,我想到了一个线串层,可以用作测量工具(ST_Length(geom))。优点是您可以完全控制操作并从中获取数据。缺点是项目中的附加层。 工作流程可以是: 单击测量:切换编辑,激活“添加功能” 创建代表对象最小尺寸的线串 确认更改,计算线串的长度(ST_Length(geom)),将长度提交给QLineEdit 关闭对话框并删除线串(DELETE FROM) 但是我的实际问题仍然存在。有没有办法直接从测量工具获取距离值? 更新2: 在Jakob的帮助下,我可以使用Measure Tool的Total值更新QLineEdit,直到关闭Measure Tool。然后将该值设置为“ 0,000 m”。我通过使用以下方法解决了这个问题: def text_changed(str_measure): if str_measure == '0,000 m': pass else: self.min.setText(str_measure) 它可以工作,但是我不知道这是否是正确的解决方案。

2
奇形多边形的质心坐标
在QGIS(通过几何工具)中计算某些多边形的质心时,我遇到了一个问题:对于某些具有奇怪且相当长的形状的多边形,所计算的质心不在多边形内。例如,在下图中查看标记为红色的多边形: 它的质心(由蓝色箭头指向)实际上落在感兴趣的多边形之外。对于少数(但很烦人)其他多边形会发生这种情况。 我对QGIS相对较新,所以我不认为此问题是否是由于shapefile与多边形的投影所致(WGS 84)。无论如何,我还是尝试通过WGS84 / UTM Zone 31重新投影地图,该区域对应于比利时(我正在查看的国家)。 在过去的讨论中,我没有找到类似问题的答案;抱歉,如果我无意中忽略了它。


1
如何在“图层”面板中使图层或组不可见?
我在一个小组内的“ 层”面板中有许多层,但我不希望它们显示出来(有很多层,所以看起来很不整洁)。这些层也连接到其他几个层。 是否可以使这些图层对用户不可见(即,在“图层面板”中未显示,这与设置图层的可见性无关),但仍可以与其他图层连接?还是使该小组不可见? 我最近发现的是这篇文章,但希望有更直接的方法: 仅显示QGIS图例中的某些图层?

2
有没有找到网络中最长的最短路径的最佳算法?
我有大量的线性网络,我想找到每个网络沿网络彼此距离最远的两端(在下图中,它是D到K)。解决此问题的强力解决方案是为每对起点计算沿网络的最短路径,但是我有数百个网络,其中有数千个端点,因此计算每个可能的路径都非常繁重。 有没有一种在不使用蛮力的情况下进行计算的最佳方法?我可以根据一些聪明的规则排除一些要点吗? 编辑:为了澄清我的问题,我添加了@Alex Tereshenkov提到的最长路径的图示。黑色路径是最长路径算法(最长路径,不重复任何顶点)的结果。以我为例,假设您从任何字母进入网络,并且需要尽可能快地驶向另一个字母。哪两个字母最难加入?

1
匹配不同长度的片段
我正在尝试将较小的段与较大的段进行匹配,这些段最可能与以下段相关:相对紧密,相似的方位并且彼此相对。 这是我拥有的数据的典型示例: 在这里,我需要将段652与198969匹配,而使711和707不匹配任何内容。 我一直在寻找不同的方法,尤其是Hausdorff距离(基于此处的答案)。我使用PostGIS进行了计算,但结果却很奇怪:例如,我得到的最短距离是在707和198985之间,而652到198969的距离要比到198985的距离大(我可以在需要时添加查询和结果)。 Hausdorff实际上是解决此问题的正确方法吗?还有其他方法吗?我想到了简单地对我提到的参数(距离,方位等)创建一组检查的方法,但是我担心不得不添加一大堆条件来处理边缘情况或诸如阈值之类的事情面对对方。 更新:我发现了一种似乎可以接受的折衷方法: 我首先找到了我要匹配的蓝色部分中10个最接近的黑色部分(使用PostGIS <->运算符),它们相距不到10米。 然后,我通过找到每个黑色片段上蓝色片段末端的最近点来创建一个新片段(使用ST_ClosestPoint),并过滤出长度小于蓝色片段90%的结果(这意味着片段不是面,或者轴承差异大于〜20°) 然后,我得到按距离和Hausdorff距离(如果有)排序的第一个结果。 可能需要做一些微调,但目前看来可以接受。如果我错过了一些边缘情况,仍在寻找其他方法或其他检查来运行。

4
将.tif图片分割成几个图块?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 8个月前关闭。 我有一个大小为1GB(.tif),宽度和高度为94000x71680的图像。我想将此图像分成20000X20000个图块,以便我可以对其进行处理。 我怎样才能做到这一点?

5
使用ArcPy遍历1600万条记录?
我有一个包含8列和约1,670万条记录的表。我需要在列上运行一组if-else方程。我已经使用UpdateCursor模块编写了一个脚本,但是在记录了几百万条之后,它的内存不足。我想知道是否有更好的方法来处理这1670万条记录。 import arcpy arcpy.TableToTable_conversion("combine_2013", "D:/mosaic.gdb", "combo_table") c_table = "D:/mosaic.gdb/combo_table" fields = ['dev_agg', 'herb_agg','forest_agg','wat_agg', 'cate_2'] start_time = time.time() print "Script Started" with arcpy.da.UpdateCursor(c_table, fields) as cursor: for row in cursor: # row's 0,1,2,3,4 = dev, herb, forest, water, category #classficiation water = 1; herb = 2; dev = 3; forest = …

6
将线转换为多边形
我有一个包含市区的shapefile,但是不幸的是,shapefile仅包含单行。shapefile如下所示: 我想将这些线转换为QGIS中的区域多边形shapefile。我使用“到多边形的线”工具(“矢量”>“几何工具”>“到多边形的线”)进行了尝试,但无法正常工作。使用此工具后,shapefile如下所示: 还有其他方法可以将线shapefile转换为QGIS中的区域多边形shapefile吗? 顺便说一句,我正在使用QGIS 2.14.3 Essen。
13 qgis  polygon  line 

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.