地理信息系统

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

1
用Python修改属性表的最快方法?
不久前,我编写了一个快速的Python函数,用于将属性表转换为python字典,其中的键来自用户指定的唯一ID字段(通常是OID字段)。另外,默认情况下,所有字段都复制到字典中,但是我包含了一个参数,只允许指定一个子集。 def make_attribute_dict(fc, key_field, attr_list=['*']): dict = {} fc_field_objects = arcpy.ListFields(fc) fc_fields = [field.name for field in fc_field_objects if field.type != 'Geometry'] if attr_list == ['*']: valid_fields = fc_fields else: valid_fields = [field for field in attr_list if field in fc_fields] if key_field not in valid_fields: cursor_fields = valid_fields + …

3
如何显示重叠线?
我有多个表示总线路线的线层,并且许多路线重叠(即,靠近终端,公交车站等)。Qgis中是否有一个功能可以将两个功能彼此相邻/平行显示?在示例链接中,红色和紫色线是两条单独的路线,它们都使用相同的道路。紫色线与红色线重叠,并且红色线不可见。我感谢任何反馈,即使有坏消息,也无法做到。

2
在R中的shapefile中删除行
我已将shapefile导入R,并将其加入到表中。我的shapefile包含所有人口普查ID,而我的表仅包含选定的人口普查ID。我现在正在尝试删除所有未匹配的行。 这是我的数据集的样子(我正在尝试删除所有带有NA的行,因此需要删除最后两行): CTUID Cluster Average 5350007.01 1 124.53 5350007.02 1 234.87 5350010.01 4 110.11 5350010.02 5 187.68 5350001 NA NA 5350002 NA NA 我尝试使用此行代码: shape2[!(rowSums(is.na(shape2))==NCOL(shape2)),] 这给了我这个错误: Error in rowSums(is.na(shape2)) : 'x' must be an array of at least two dimensions In addition: Warning message: In is.na(shape2) : is.na() applied to …

2
如何在QGIS中交互式获取点的坐标
我有一个shapefile,带有一个单点类型的图层。 它在Google CRS(EPSG:900913)中。 当我使用“识别特征”工具时,它为我提供了有关单击的点的许多信息,但看不到坐标。有没有一种方法可以交互式地找出一个点的经度/纬度?
12 qgis 

1
等角投影中的大圆线
只是为了检查我是否在正确的轨道上: 球体上和等矩形投影中的所有大圆(即纬度,经度对)是否为: 经络(即极点) 的形式 tan latitude = sin360(longitude + rotation) * amplitude + offset (对偏移/振幅组合有附加限制-显然,所有振幅为0的大圆路径也都具有偏移0-赤道)。 还是存在不适合该方案的大圆路径(再次,仅在经纬度坐标系中,而不在其他地图投影上)。 注意:我tan在发布问题后添加了上述内容,以回应胡夫们的出色答复。事实证明,offset则始终为0。

3
基于行业的在Python中使用ArcPy进行地理处理的示例?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 最近,一些学生问我,GIS Analyst / Developer通常试图通过在ArcGIS和ArcPy网站包中使用带有地理处理功能的Python来实现自动化的操作类型。我想知道在搜索一些练习时可能很有用,以确保您创建的内容与行业相关,并且以后可能已经在工作场所重复使用。 最简单的答案是“阅读Esri帮助并仔细阅读样本”,但是我正在寻找最常见的更具体的方案。因此,非常欢迎共享工作流,因为“我们将获得一个带有shapefile的.zip文件,我们使用Python对其进行解压缩,将它们全部投影到X坐标系,加载到ArcSDE地理数据库中,并授予用户访问这些数据的权限”。请轻松提供工作流程的简要说明,不需要任何极端细节。
12 arcpy  references 

5
GML,KML,GeoJSON-快速渲染3109个多边形?
我正在与Geoserver合作,为美国下48个县提供openlayers(3109个多边形-还有更多的顶点)。县将加载到postgis数据库中。当我尝试将大量顶点推向客户端时,我对开发人员的经验感到好奇。 您以哪种WFS格式获得了最佳效果?是否使用了对Geoserver的其他调整? 我意识到平铺的WMS会更快,但是我想允许使用openLayers在choropleth映射中进行动态更改。用户提交表单,调用Python脚本,并返回新数据仓供openlayers重新加载map div。我还想以全分辨率形式尝试此操作,然后再降低openlayers中的多边形复杂度。
12 geoserver  kml  wfs  geojson  gml 

3
使用R读取文件地理数据库?
文件地理数据库(fgdb)包含许多文件地理数据库表。据我所知,它们以dbf文件形式存在,但是在内Database.gdb。 在ArcCatalog中,文件路径类似于C:\Users\...\Database.gdb\Stats_AA。 如何将所有这些dbf文件读入R(统计软件)?正确的供应途径是什么?使用的函数是read.dbf(在外部软件包中)。 的变体 test<-read.dbf(file="C:/Users..Database.gdb/Stats_AA.dbf") 和 test<-read.dbf(file="C:/Users..Database/Stats_AA.dbf") 不工作 要使用的文件名的正确“形式”是什么,或者,我是否需要将所有文件地理数据库表导出到其他形式或位置?

2
使用QGIS使用WGS84图层以米/公里为单位进行缓冲
我正在使用QGIS 1.7.4-Wroclaw并在WGS84中使用SHP层。我想使用ftools缓冲工具从该层缓冲一定距离。 我知道缓冲工具总是使用图层单位,对于WGS84来说,单位是十进制。我们都知道度数并不能始终如一地转换为米,那么我应该如何制作缓冲区? 我是否有必要将shapefile转换为本机使用计量器的其他CRS? 如果是这样,我该如何选择?
12 qgis  buffer  units 

3
如何在Print Composer中将地图居中到与地图窗口相同的中心?
我不知道如何以与QGIS 1.8中地图窗口相同的方式在Print Composer中将地图居中到图层/对象/地图中心。假设我在地图中心有一个图层。在地图窗口中,这非常简单-我只需单击“ 缩放到图层范围 ”。 不幸的是,当我在Map composer中创建地图框架时,该图层以宽度为中心(良好),而不是以高度为中心(我想它与底部对齐)。 如果在“ 打印编辑器” /“项目属性” /“范围”中使用按钮“ 设置”来映射画布范围,它将再次以宽度为中心,但是这次与顶部对齐。 我认为在两种情况下将其居中会更好。有什么方法可以使Map Composer中的地图中心与地图窗口中的地图中心相同?

5
使用ArcGIS Desktop进行实时地图匹配?
我正在一个需要实时地图匹配的项目中。我目前正在使用ArcGIS,但不确定是否可以使用。 这是我的系统发生的情况: 手机每隔五秒钟向我的服务器发送一次GPS修复,因此我需要进行实时地图匹配,以将点捕捉到地图的链接之一上并存储匹配的点。 ArcGIS有一个“近”工具,用于将点捕捉到最近的链接。但是,工具的输入必须是这些点的shapefile。 我想知道如何处理在ArcGIS中获取的实时数据。为每个点创建一个形状文件? 还有其他建议可以完成这项工作吗?

3
如何确定某个地区的必应图像的日期?
是否可以确定某个区域的Bing图像当前的状态?我检查了社区博客并搜索了每月更新,但是找不到我的学习区域。 我发现了一些帖子,他们提到要更新整个国家/地区的图像,但没有具体说明(实际上是整个国家还是大部分?)。在Layout ViewArcMap 10.1中的积分中,我注意到,尽管Microsoft Corporation是2012,其他积分为2010。这是否表示该图像来自该年?

3
Gdal Dataset.ReadAsArray()使Python崩溃
我正在将Python 2.6.5(32bit)与Numpy 1.3和Gdal 1.9.1安装在Windows 7 64bit上。我试图将800 MB想象(.img)栅格数据集读取到Numpy数组中,以执行某些栅格代数操作,但是一旦运行以下代码,Python.exe就会崩溃。 from osgeo import gdal g = gdal.Open(r'path\to\dataset', gdal.GA_Readonly) b = g.GetRasterBand(1) data = b.ReadAsArray() Python.exe在b.ReadAsArray()调用时崩溃。我在Google上进行了一些搜索,发现了Gdal 1.6上的文章,其中提到了Windows 7 64bit的该问题,但他们还提到当时该问题已在最新的开发版本中修复。 其他人遇到过这个问题吗?任何解决方法? 更新: 我决定在PyDev中调试代码,以尝试确定失败的地方。据我所知(仍然没有收到任何错误消息),它在gdal_array.py的第22行上失败了。 _mod = imp.load_module('_gdal_array', fp, pathname, description) 当我进入上面的代码行时,它带我进入numpy 的init .py模块。当我到达numpy的结尾时。__ init __ .py模块,它跳回到上面的代码行。然后,当我按下“进入”按钮时,应该将我带到gdal_array.py中的下一行,该脚本只是终止而没有任何错误消息或任何内容。 更新#2: 我从Python Cheeseshop和OSGeo的Windows Binaries中卸载了GDAL 1.9.1,并安装了GDAL 1.6.1。仍然有同样的问题。
12 gdal  numpy  python-2.6  array 

1
arcgis使用哪种空间索引?
我的第一个硕士的研究主题是关于空间索引的。我了解了R树和R +树,R *树以及其他各种但非常相似的主题。这可能不是已发布的信息,但是ESRI使用哪种空间索引类型?作为第二个问题,可以更改此类型以及如何更改?在某些情况下,不同类型的索引可以提高性能。 在Oracle的情况下,它可以使用ST_Geometry空间数据类型,该数据类型可以索引到R树或四叉树或两者都建立索引:http : //docs.oracle.com/html/A88805_01/sdo_intr.htm 其他数据库使用默认情况下为非空间的二进制存储机制,并且似乎不使用可用的空间索引。在SQL 2005中,不存在较低空间的数据类型,但是ESRI仍然能够使用SQL数据库。根据此案例研究SQL 2012:http : //www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=710000000547,它使用自动空间性能类型,但未列出它是哪种R-Tree。 阅读回答该问题的材料的加分。 谢谢。

2
PostGIS插值/三角剖分选项
我正在寻找一个开源的工作流程来自动化DEM的构建。我们有一系列属于LIDAR数据集的站点。我们想要为每个站点创建站点特定的DEM,并且正在寻求使过程自动化。 到目前为止,我们已经实现了自动化: 数据加载到PostGIS中(激光雷达和站点点) 创建站点边界(st_buffer和st_envelope的组合) 现在,我们正在寻找在每个站点上插值数据子集并将其导出到Surfer7网格文件的选项。 当前,我们正在使用QuantumGIS查询PostGIS数据库中的数据,导出到csv文件,然后在Surfer7中手动导入和网格化数据。希望我们也可以使它自动化。 因此,对于此用例,我们希望将激光雷达数据三角剖分为DEM。我们可能想到的其他潜在情况涉及不同的插值方法-因此,如果有用于反距离和克里金法的选项-我们很感兴趣! 对我们来说,这是一个非常学习的练习-我们正在逐步进行中!

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.