地理信息系统

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

1
使用GDAL创建纳米DEM
也许是一个奇怪的问题,但是在我提出实际问题之前,让我先简单介绍一下背景知识: 简而言之(据我所知),原子力显微镜(AFM)使研究人员可以在微米和纳米级扫描区域。它通过使用各种探针“扫描”区域来工作。由于我对此没有真正的了解,因此我难以解释的更多内容。我所知道的,引起我好奇的是,结果实际上是“高度”值的“网格”(一个512x512值的矩阵,描述了该点的高度)。 然后我想:好吧,除了比例尺,这实际上是一个数字高程模型!而且,这意味着,如果我可以设法创建GIS工具所理解的DEM文件,则可以对其应用GIS分析! 实际上,我的其他重要工作是在拥有AFM机器的实验室中进行的,并且正在她的一个项目中使用它。我从她那里得到了一些扫描文件,并使用Python(struct和numpy)进行了管理,以解析这些二进制文件,而我现在得到的是一个numpy数组,大小为512x512,填充有int16值。 我下一步要计划的是什么,而我需要帮助的是“映射到适当的DEM”部分。我对DEMS有一些了解,但是当涉及到DEMS的实际生成时,我还是很新的。 我在想的是我必须以某种方式对数据进行地理参考,为此,我需要一个自定义(平面)坐标系。我设想我的坐标系将以微米或纳米为单位。然后,只需查找用AFM扫描的区域的大小即可(我相信这是在二进制文件中的某个位置,假设已知道这一点)。 更新:我也以不同的分辨率进行了几次扫描,但扫描范围相同。例如我有关于两次扫描的信息: 放大图片: Scan Size: 51443.5 nm X Offset: 0 nm Y Offset: 0 nm 较小(详细)图像: Scan Size: 5907.44 nm X Offset: 8776.47 nm Y Offset: 1486.78 nm 我的想法是,我的自定义坐标系应以0,0为原点,对于较大的图像,我可以为像素0,0分配(0,0)的坐标值,为像素512,512分配坐标值(51443.5、51443.5 )(想必您已获得所需其他点的图片)。 然后,较大的图像会将像素(0,0)映射到(8776.47,1486.78),将(512,512)映射到(8776.47 + 5907.44,1486.78 + 5907.44) 那么第一个问题是:如何为这样的坐标系创建proj4 def?即:如何将这些“现实世界的坐标”分配给我的自定义坐标系统(或者,如果我遵循野蛮人的建议并使用局部坐标系统并围绕单位说谎(即,将纳米视为千米) 然后,我必须将我的numpy二维数组转换为地理参考DEM文件格式。我当时在考虑使用GDAL(或更确切地说是Python绑定)。 然后,第二个问题是:如何从诸如我的“任意”数据创建地理参考DEM?最好在Python中使用开放源代码库。 剩下的就应该相当容易了,只是使用正确的分析工具即可。问题是,这项任务是由我自己的好奇心驱动的,因此我不确定我应该对纳米级DEM实际做什么。这乞求 第三个问题:如何处理纳米DEM?可以进行什么样的分析,什么是进行DEM分析的合适工具,最后:根据该数据制作具有山体阴影和轮廓线的地图是否可行? 我欢迎所有建议和指示,但是请记住,我正在寻找免费替代方法,因为这是一个严格的基于兴趣的项目,没有预算或资金(而且我无法使用任何许可的GIS应用程序)。此外,我确实知道出售这些AFM机器的公司Bruker会提供一些软件,但是使用它不会很有趣。

6
自动化SHP到JPG的创建
有谁知道将shapefile批量转换为jpeg或其他常见图像格式的方法吗? 编辑:我应该澄清一下,我想对每个shapefile应用一种样式,然后将具有该样式的shapefile导出到图像。 例如,我在一个县中有人口普查区,我想突出显示每个单独区的图像,而其他区都具有相同的颜色。
14 shapefile  convert  jpg 


2
PostGIS中的大点云激光数据-存储和处理
我想知道,考虑到处理时间的考虑,如何在PostGIS中存储大量激光扫描点云数据。我知道,PointPostGIS中存在一个几何对象。但据我所知,它会将每个点保存在一个新的tupel中,如果存储了数百万个或更多,则可以使搜索某个特定点非常缓慢。 我从HSR应用科学大学的Rapperswill网站找到了一篇论文,讨论了这一主题。它提出了三种存储此类数据的方法:Whole data in one tupel,Each point in one tupel或Splitting Data into Blocks由信息表引用的方法,用于保存每个块的扩展。由于第三种方法似乎对于定位存储的点最为有用,我想知道是否有人已经对此进行了一些体验? 该文件可以在这里找到:http : //wiki.hsr.ch/Datenbanken/files/pgsql_point_cloud.pdf 最后但并非最不重要的一点是,我在github上的一个项目中遇到了麻烦,该项目似乎处理了PostgeSQL中的点云方式。不幸的是,网上没有太多有关它的信息。同样的问题在这里:有人已经对此有所经验吗?可用于此类目的吗? 可以在这里找到项目:https://github.com/pramsey/pointcloud 如果有其他建议,想法或经验,我也很高兴听到。但是我必须承认,非商业解决方案是首选。

2
传单geojson坐标问题
我刚刚开始玩leflet / geojson。但是我的坐标没有正确显示,我也不知道发生了什么。 我的坐标是:52.23943, 4.97599。它们可以正常使用该setView功能。 var map = L.map('leaflet_map').setView([52.23943, 4.97599], 15); 但是,使用geojasonFeature,它们是“投影”的,在索马里以东。 var geojsonFeature = { "type": "Feature", "properties": { "name": "Coors Field", "amenity": "Baseball Stadium", "popupContent": "This is where the Rockies play!" }, "geometry": { "type": "Point", "coordinates": [52.23943, 4.97599] } }; var myLayer = L.geoJson().addTo(map); myLayer.addData(geojsonFeature).bindPopup("I am a …
14 geojson  leaflet 

2
使用ArcPy有效选择相关记录?
下面是我用来复制ArcMap中“相关表”按钮的代码。在ArcMap中,该按钮基于对另一个相关要素类或表中要素的选择来选择一个要素类或表中的要素。 在ArcMap中,我可以使用该按钮在几秒钟内将我的选择“推送”到相关表。我找不到arcpy内置的任何可复制按钮的内容,因此我使用了一些嵌套循环来完成相同的任务。 下面的代码遍历“处理”表。对于每种处理,它都会遍历“树”列表。当在处理的ID字段和树的ID字段中找到匹配项时,将在树层中进行选择。找到治疗的匹配项后,该代码将不会继续在树层中搜索其他匹配项。它返回到处理表,选择下一个处理,然后再次搜索树要素类。 该代码本身可以正常工作,但是非常缓慢。在这种情况下,“治疗表”具有16,000条记录。“树”要素类具有60,000条记录。 当ESRI将选择从一个表推到另一个表时,还有另一种更有效的方法来重新创建ESRI所做的事情吗?我应该为表创建索引吗?注意:此数据存储在SDE中。 # Create search cursor to loop through the treatments treatments = arcpy.SearchCursor(treatment_tv) treatment_field = "Facility_ID" for treatment in treatments: #Get ID of treatment treatment_ID = treatment.getValue(treatment_field) # Create search cursor for looping through the trees trees = arcpy.SearchCursor(tree_fl) tree_field = "FACILITYID" for tree in trees: …

2
尝试添加PostGIS视图时,QGIS返回“无效层”消息吗?
我是Postgis和QGIS的新手。我创建了一个视图,定义为 CREATE OR REPLACE VIEW pupr.vstudentmuni AS SELECT m.id AS munid, m.name AS muname, m.geom, s.code, (s.name::text || ' '::text) || s.lastname::text AS fullname FROM pupr.municipio m, pupr.student_location l, pupr.student s WHERE st_within(l.geom, m.geom) AND s.code = l.code; 在PostgreSQL中。尝试将此视图添加到QGIS会返回以下错误... "Invalid layer"..."sql= is an invalid layer and cannot be loaded." 不确定是什么问题。geommetry_columns在PostGIS …

1
在R中转换地理坐标系
我在地理坐标系中有点,我想将它们转换为瑞士网格(CH1903 +)。 样本数据: id lon lat 2 7.173500 45.86880 3 7.172540 45.86887 4 7.171636 45.86924 5 7.180180 45.87158 6 7.178070 45.87014 7 7.177229 45.86923 8 7.175240 45.86808 9 7.181409 45.87177 10 7.179299 45.87020 预期结果: id E N 2 2579408.2431 1079721.1499 3 2579333.7158 1079729.1852 4 2579263.6502 1079770.1125 5 2579928.0358 1080028.4605 6 …

3
在虚拟机中运行ArcGIS Desktop?
我正在尝试在Windows 7(32位)虚拟机中运行ArcGIS Desktop 10.0。我没有可用的本机Microsoft Windows。我正在使用Oracle的VirtualBox在本地Linux环境(Sabayon)中进行虚拟化。 我正好遇到这个问题:ArcGIS Explorer地图显示问题 建议的解决方案是更新视频卡驱动程序。但是在VirtualBox中,有一个名为“来宾添加”的驱动程序,它们已经是最新的。 我知道我的一些同学正在VM中使用ArcGIS,他们似乎没有任何问题。会是什么呢? 启用了3D和2D视频加速。 这是一台本机Linux机器,运行32位虚拟Windows 7机器。 我知道ESRI的系统要求。我分配了256MB的视频RAM,并启用了2D和3D硬件加速-如屏幕截图所示。无论如何,我一直在机器内部对系统需求进行这种分析,结果是: 现在,我必须弄清楚如何修复它。视频内存还可以,但是其余我从未听说过... 我按照@scw的建议安装了实验性WDDM驱动程序,现在看起来像这样: 我现在拥有所有推荐的属性,但仍然显示: 不幸的是,您的视频卡不满足此要求。 此外,添加任何图层后,ArcGIS现在也会崩溃。

3
如何使用矢量线的破折号或标记表示距离?
我是一个非常基本的用户,并且不了解要问我的要点的术语,因此一些背景知识可能会有所帮助。 Ive自愿为我的农村消防部门创建事前计划系统。我们的主要漏洞是非常长的未映射车道。 到目前为止,Ive已成功地通过该区域的航拍照片以亮绿色的线(.SHP层)将行车道的GPS数据传输到了行车道上,并在标签上显示了每个行车道的长度。它看起来很棒,并且非常有用。 现在的问题是:我想将车道矢量线绘制为虚线或设置为100英尺长的标记。我们的供应管线软管长度为100英尺。用100英尺间隔的标记定义的矢量线将为我节省大量时间,并极大地改善了数据。 到目前为止,我已经尝试使用自定义的破折号模式将“单一符号”作为“简单线”,并使用间隔位置将“标记线”尝试为“标记线”。这些选项在缩放或“缩放”时均不能保持适当的长度(如果是术语的话)。 也许是不可能的?(至少在我的知识水平上。我到目前为止已经自学了,没有更多时间闲逛:))

2
将点移动到线上(〜邻域)
我确实有两个矢量层,其中一个是基于遥感“事件”的点层,第二个是来自本地研究的线层。 就我而言,这些是地震和构造断裂,但我想人们可以简单地选择“车祸和道路”作为一般示例。 因此,我想做的就是将点移动/复制到直线的最近点上,只要它在公差范围内(例如1-2km或0.0xx°),并使用新的点层(已移动+ attr y / n)。 有任何想法吗 ? Linux,QGIS 1.8
14 qgis  vector  point  line 


3
gdalwarp和gdal_merge进行镶嵌有什么区别
我想合并约20个dem转换,每个约100MB,而我使用了gdalwarp(我知道虚拟文件选项): gdalwarp $(list_of_tiffs) merged.tiff 但是,此命令花费的时间很长,大约15分钟后,它正在处理集合中的第5张图像。我终止它。 然后,我发现gdal_merge.py脚本也可以用于镶嵌,并尝试了它: gdal_merge.py $(list_of_tiffs) 不到3分钟即可完成。 正如我期望的那样,两个命令将产生相同的结果,我想知道两者之间的区别是什么,如果结果相同,为什么gdalwarp需要这么多时间?


1
如何在GIS中使用神经网络?
我想学习如何在GIS中使用神经网络。我在互联网上冲浪,找到了很好的资源或有关此的教程,但找不到任何有用的资源。是否有关于在GIS中使用神经网络的良好参考或教程?我想在绘制危险区域(例如洪水区域或滑坡)的地图中使用人工神经网络(ANN)。我使用ArcGIS 10处理图层,但不知道如何使用ANN。

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.