地理信息系统

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

2
在公差范围内溶解QGIS(GEOS)中的多边形
我有一个多边形矢量层,代表洪水淹没的区域。该层的制作方式使得某些区域由多个较小的接触多边形组成(请参见下面的屏幕快照,标记为“原始数据”)。 我想溶解它们接触的多边形。如果我在使用GEOS库的QGIS fTools中使用了溶解地理处理工具,则会得到一些意外的结果(请参阅“使用QGIS fTools溶解”)。似乎在这些问题中提到,GEOS并没有使用阈值来确定多边形是否在接触: http://trac.osgeo.org/qgis/ticket/3126 http://trac.osgeo.org/qgis/ticket/3184 http://hub.qgis.org/issues/2806 在ArcGIS中,相同的方法可以提供预期的结果(请参阅“使用ArcGIS 10.1分解”)。 显然,这是GEOS的“功能”,而不是错误。有什么办法可以修复我必须产生预期结果的数据?对我来说,轻微的精度损失(几厘米?)是可以接受的。理想情况下,解决方案是可以将其写入QGIS插件中,作为预处理步骤。 相关问题(无答案):如何在QGIS中设置地理处理工具的公差值? 以shapefile链接到示例数据:https : //www.dropbox.com/s/c8ns7wwfv289ad0/sample.zip
11 qgis  polygon  dissolve  geos 

1
如何立即自动填充字段?
我正在尝试创建一个属性表,其中的第一个字段是一个下拉菜单(我已经通过使用“值图”编辑小部件实现了此目的),但是我正努力寻找下一部分的方法。 从下拉菜单中选择值之后,我希望根据下拉菜单中的值自动填充相邻的单元格(在下一个字段中)。例如 如果下拉值= A,则相邻字段= 1;或者,如果下拉值= B,则相邻字段值= 3,依此类推。 我意识到,通过使用字段计算器,可以将字段自动填充为一个单独的过程的一部分,但是我希望在选择下拉值的同时,同时填充字段。 我正在使用Windows 7和QGIS版本1.8。 非常感谢。


3
什么是非地理特征?
在GIS中使用“功能”一词时,通常(如果不是始终)表示一种地理特征,“它代表与地球相对位置相关的现实世界现象”(ISO 19125-2:2004)。是否有非地理特征?如果有,有没有这样的例子? 例如,可以将指南针或比例尺视为非地理特征吗?
11 features 

3
空间网络清理
从中创建网络所用的数据在清理时需要特别注意,因为较小的空间错误可能会导致连接中的重大错误。 在建立网络模型之前,可以使用哪些技术来清理空间网络数据的最佳实践? 为了使球滚动,这是我能想到的 确保您的GIS不隐藏拓扑错误(如ArcMap那样),或者如果存在,则将网络构建过程设计为解决此问题(如Arc Network Analyst那样)。了解这种情况的发生方式和原因。 使用GIS的拓扑功能-例如弧形拓扑,Autocad工程图清理。检测所有在彼此的公差范围内,或相互接触或相交且未结点(即在相交点未断开)的折线。过冲和下冲属于此类别。检查它们是否有错误(取决于您的表示形式,它们可能代表桥梁/隧道,也可能不是)。如果看起来像是错误并且无法进行手动修复,请使用自动修复。 还要检查链接端点是否在一定公差范围内,而不是一致的。如果看起来像是错误并且无法进行手动修复,请使用自动修复。 在上述两个步骤中逐渐增加公差,直到您确定由此检测到的所有功能都是有意的。 建立网络,计算每个结点的连接性(加入该结点的链接数)。检查(理想情况下)所有样本或(可能)检查随机样本以确保它们符合您的期望。 按长度对模型中的所有折线进行排序,然后从最小长度开始,手动进行检查(可能借助计算出的连通性数据)。非常短的网络链接通常是错误,并且可能会弄乱转角等。 我在那里错过了什么吗?随意描述或链接到良好的异地资源。

2
是否有ArcGIS 10.X的桌面GIS替代品可用于拓扑和矢量合并?
除了ArcGIS for Desktop以外,还有其他选项可用于在桌面GIS中强制执行拓扑规则和自动拓扑完整性吗?我正在寻找可以将要素自动捕捉到某些基础层边界(消除数据集中的间隙和重叠)的东西。 我了解PostGIS拓扑功能,但是我希望在桌面GIS中有所帮助。 QGIS 2正在尝试实施拓扑规则,但是没有办法自动清除数据。 Esri的ArcGIS for Desktop实际上是唯一的解决方案吗?

3
Python加载项与.NET加载项对ArcGIS for Desktop的优缺点是什么?
我在ESRI .NET帮助中找到了: 蟒蛇 所有ArcGIS Desktop应用程序都包含一种称为Python的嵌入式脚本语言。通过简化的Python应用程序编程接口(API)可以访问ArcGIS的许多区域(尤其是地理处理区域),从而使创作和自动执行常见任务变得容易。Python脚本易于共享,无需外部开发环境即可生成。有许多公共领域的Python模块专注于科学,工程和数学等领域。凭借其所有优点,Python并不适合所有编程任务。尽管覆盖范围有所改善,但当前并非所有ArcGIS领域都可以使用Python。此外,Python的编辑和调试经验不像商业开发环境(如Visual Studio)所包含的那样复杂或易于使用。最后,您无法使用Python侦听和响应ArcGIS事件,实现COM接口或插入ESRI的许多COM可扩展性点。 并在ArcGIS Desktop帮助中: ArcGIS 10.1将Python引入了用于编写桌面外接程序的语言列表,从而为您提供了扩展桌面功能的简单解决方案。为了简化Python加载项的开发,必须下载并使用Python加载项向导声明自定义类型。该向导将生成该外接程序正常工作所需的所有必需文件。 Python和.NET加载项是否具有相同的功能?这是否意味着我可以在Python和.NET中做同样的事情?

3
使用Python进行直方图匹配以改善多个重叠栅格的镶嵌过程?
我正在尝试使用Python进行直方图匹配,以改善多个重叠栅格的镶嵌过程。我的代码基于以下代码: http://www.idlcoyote.com/ip_tips/histomatch.html 到目前为止,我已经设法裁剪了两个相邻栅格的重叠区域并展平了阵列。 所以我有两个相同长度的1维数组。 然后,我根据上述网站上的代码编写了以下代码。在所示的代码中,我为gd和bd图像替换了两个非常小的数据集。 import matplotlib.pyplot as plt from scipy.interpolate import interp1d bins = range(0,100, 10) gd_hist = [1,2,3,4,5,4,3,2,1] bd_hist = [2,4,6,8,10,8,6,4,2] nPixels = len(gd_hist) # here we are creating the cumulative distribution frequency for the bad image cdf_bd = [] for k in range(0, len(bins)-1): b = sum(bd_hist[:k]) …


1
将投影分配给卫星图像
今天,我偶然发现了一张从国际空间站拍摄的俯视欧洲的照片,它真的很美。 因此,我开始认为我可以在图片中添加更多内容。像世界边界,城市,道路网络一样,应有尽有。为了娱乐。 问题是我几乎不了解所使用的proj4卫星投影传感器的方位角或高度 您能帮我指定一个投影该图像吗? 这是来源(很大!)

4
使用ArcPy而不是ArcObjects刷新ArcMap中的开放属性表?
我正在从ArcMap中的arcpy运行“计算字段GP”工具。更新行值后,直到我使用“重新加载缓存”工具(“表选项”>“重新加载缓存”)后,它才会显示。如何在不使用ArcObjects的情况下自动刷新属性表? 我已尝试按照@ blah238建议使用python更新定义查询,您如何“重新加载”打开的属性表,但这无济于事。重置数据源不是一种选择,因为要素类可能正在编辑会话中,并且我不想失去与源数据的连接。


1
从HDF转换为GeoTiff
从HDF转换为GeoTiff时遇到一些问题。 我正在按照此网页中描述的步骤进行操作。问题是我无法找到NDVI子数据集名称(XXXX)来运行gdaltranslate命令。 gdal_translate -of GTiff HDF4_EOS:EOS_GRID:"MOD13C2.A2001001.005.2007078152825.hdf" :MOD_Grid_monthly_CMG_VI:XXXX modis_ndvi01.tif 这是文件(MOD13C2.A2001001.005.2007078152825.hdf)之一的gdalinfo输出: E:\GDAL>gdalinfo MOD13C2.A2001001.005.2007078152825.hdf Driver: HDF4/Hierarchical Data Format Release 4 Files: MOD13C2.A2001001.005.2007078152825.hdf Size is 512, 512 Coordinate System is `' Metadata: HDFEOSVersion=HDFEOS_V2.9 LOCALGRANULEID=MOD13C2.A2001001.005.2007078152825.hdf PRODUCTIONDATETIME=2007-03-19T19:28:25.000Z DAYNIGHTFLAG=Both REPROCESSINGACTUAL=reprocessed LOCALVERSIONID=5.2.1 REPROCESSINGPLANNED=further update is anticipated SCIENCEQUALITYFLAG=Not Investigated AUTOMATICQUALITYFLAGEXPLANATION=No automatic quality assessment is performed in the PGE AUTOMATICQUALITYFLAG=Passed …
11 gdal  modis 

2
是否将ArcToolbox工具添加到QGIS?
我一直在使用ArcGIS中一个称为SPreAD-GIS的公共工具。它是一系列“作为ArcGIS工具箱实现”(带有tbx文件)的python脚本。 我是QGIS的新手。 有没有办法在QGIS中整合和使用SPreAD-GIS?

2
从1个像元/像素的种子在栅格中创建随机形状的像元细胞?
就像我的标题所说,我希望从栅格中的种子“生长”成簇的细胞。我的基本栅格充满1和0,1代表陆地,0代表海洋/北美地区。我希望从1开始选择60个随机像素/单元作为我的种子,然后随机生长一个预定义编号的连接簇。该种子的像素/单元数限制。我听说该技术可以称为“散布染料”,但运气不好。种子单元将被设置为2,然后从周围的1中选择的下一个单元也将被转换为2。这样2将无法在将来进行转换。 这个线程确实有所帮助,因为我也很愿意在R中做到这一点,因为我熟悉在R中读取和操作GIS数据。但是,我需要的是一组规则,以随机选择围绕现有簇的像素。 如果有人在GIS环境中完成了这种更基本的细胞自动机形式,那么我将不胜感激。 例: 我的目标是250个单元格。我随机选择一个值为1的单元。将其转换为值2。然后,将= 1的种子单元的邻居之一转换为2。然后,将任一单元的邻居之一转换为值2。选择具有2值的值并将其变为2。这将继续进行,直到达到编号250个单元的连续形状为止。 编辑:进一步的问题 基于whuber的出色回答,我对代码有一些疑问: 我如何才能将已成长的单元格的值分配给一个“ 2”,而不是代表它们创建顺序的变量值? 我需要在“ 1”区域内创建60个单元格块。我已经设计出一些方法来选择随机的起始位置,但是很难使用expand您编写的函数使其在一个循环中全部正常工作。您能建议一种创建60个彼此不冲突且包含在同一最终矩阵中的块的方法吗? 编辑:问题的进一步解释 每个群集单元代表一个定义大小的保护区域,例如250个单元。每个区域都必须开始并成长为值为1的像元,因为它代表陆地,而要避免值为0的像元,因为这代表海洋。我需要在每次迭代中对60个受保护区域进行迭代1000次以创建一个空模型,以显示这些区域的偶然分布。因此,在1000次迭代中,所有60个区域中的单元总数必须相同,因此具有可比性。因此,如果区域接触就可以了,但是如果发生碰撞,则理想情况下,团块会朝另一个可用方向增长,直到达到250个目标为止。 一旦创建了这1000个保护区网络中的每一个,它们都将被用作掩盖其他栅格数据(例如生物多样性措施)的遮罩,以查看(a)它们是否与特定物种范围相交以及(b)特定物种占这些随机网络的百分比保护区的覆盖范围。 到目前为止,感谢@whuber的帮助,我不希望您花费更多的时间来帮助我,但我想我会根据您的要求尝试澄清我的处境。

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.