Questions tagged «shapefile»

矢量数据存储格式,用于存储地理特征的位置,形状和属性。当ESRI开发它时,通常称为“ ESRI shapefile”。




5
如何在没有ArcGIS的情况下通过Python将属性字段添加到现有Shapefile?
我有一个Python脚本,可以将属性字段添加到Shapefile(如果不存在)。使用ArcGIS可以很容易地做到这一点(通过图形方式或通过Python),但是我正在寻找不依赖于ArcGIS的东西。 我用OGR 尝试失败,因为我的Shapefile 包含features。 我看过pyshp,但是类似地,创建架构后也无法修改架构。我还没有尝试使用shapefile(对于Python),但是我没有看到此功能的广告。我也看不到如何通过dbfpy修补DBF文件来完成此操作。 有人有什么想法吗?
24 python  shapefile  ogr  dbf 

3
在QGIS中裁剪Shapefile?
我需要在QGIS中剪切一个很大且非常详细的shapefile,以显示类似于温度图的环境数据。 是否有像Adobe Photoshop中这样非常简单的裁剪工具之类的东西,您可以在其中将矩形拖动到感兴趣的区域上,然后仅将shapefile裁剪到该区域? 我确实有一个邻域/区的附加shapefile,也可以用于裁剪,但是我不知道如何指定 "extract a shp/kml only within the borders of district X, row xxxxx in the attribute table of districts.shp" 如何在选择的矩形或每个区域中原始提取数据? 我需要环境地理研究所提供的大地图中的较小部分,然后将其实现到移动应用程序(Android)中,以更轻松的方式查看大量数据。 我为数据制作了一些屏幕截图,并将其发布在这里:http : //merglindev.wordpress.com/2012/10/22/extracting-districts-from-big-shapefile-data/。 您可以看到地区和数据层。我需要将每个地区作为单独的文件/将每个地区的每个数据集分别导出到KML。
24 qgis  shapefile 

1
合并shapefile中已在图块边界处拆分的相邻多边形?
我目前正在使用来自Ordnance Survey Vectormap区的建筑数据,并且我注意到由于OS分割shapefile的方式,许多建筑多边形被分为2个部分。 这是我在QGIS中看到的-我突出显示了在图块边界处分割的一些建筑物: 我无法手动合并建筑物,因为有太多建筑物在边界处被分割(这只是一个放大的示例)。我正在寻找一种自动化的方法来解决这个问题。 不幸的是,分开的建筑物的每一侧都有不同的编号,所以我很难解散它们。 您如何建议我可以自动合并建筑图块? 编辑 我现在使用PostGIS合并在图块边界处分割的多边形。这是为我执行此操作的SQL语句–它比使用QGIS快很多很多倍: DROP TABLE merged; CREATE TABLE merged AS SELECT -- Merge polygons that are within 0.01 metres of each other (ST_Dump(ST_Union(ST_Buffer(the_geom, 0.01)))).geom AS the_geom FROM unmerged; -- Update the geometry_columns table SELECT Populate_Geometry_Columns();


3
一般GIS中多边形顶点的顺序:顺时针或逆时针
两天前,我问了一个关于ESRI shapefile中多边形顶点的内部存储顺序的问题。回答了该问题(将多边形按顺时针还是逆时针存储在shapefile中?),并且在旧帖子中也回答了该问题(创建多边形(是否顺时针旋转)) 但是现在我的问题更笼统了,我不知道它是否有唯一的答案。顺时针顺序仅适用于ESRI shapefile还是通用GIS格式?GIS软件的内部表示又如何呢?例如,如果我使用QGIS,并且读取了一个包含多边形的* .shp,我认为外边界​​的内部表示形式是与原始shapefile中一样的顺时针方向,但是QGIS支持的所有文件格式又如何呢?对于ArcGIS?并且如果存在一种文件格式,该文件格式具有以逆时针方向存储的多边形,则如果这些文件加载​​到QGIS,ArcGIS等中,则内部会改变方向,因此,例如,如果我使用PyQGIS读取数据,则多边形是顺时针的下令? 我的目的是为QGIS编写插件,但数据源可以是ESRI shapefile或其他格式。由于需要使用多边形的方位角检查多边形的连续边之间的角度,因此需要知道顺序是否为顺时针。一种解决方案是计算每个多边形的面积,如果我没记错的话,如果它为正,则顺序为顺时针,如果为负,则顺序为逆时针。 区域计算不是一项繁重的任务,因此不会使我的插件变慢。但是在QGIS的特殊情况下,有人知道它是否按顺时针或逆时针方向存储多边形,而不管原始源中的顺序如何?到目前为止,我正在使用ESRI shapefile,并且layer.getFeatures()。geometry()。asPolygon()中的坐标按顺时针方向存储为外部边界,按逆时针方向存储为孔,即与原始的* .shp相同。

4
使用ogr2​​ogr在Python中将GML转换为shapefile?
我正在尝试在python脚本中使用ogr2​​ogr实用程序将GML转换为ESRI shapefile。 我已经通过osgeo成功安装了GDAL / OGR软件包,但是现在我正在努力查找/理解有关在python中使用ogr2​​ogr的语法的任何详细信息。 导入ogr后,我发现的只是 ogr2ogr -f "ESRI Shapefile" output.shp input.gml 如何在python中使用它?就像分配输入和输出文件一样简单吗? 我尝试的所有内容都只会出现语法错误。任何正确方向的指示都可以帮助我入门。

2
使用R计算地图上与另一个重叠多边形相交的多个多边形的面积
我从军械测量局下载了一个shapefile,该文件提供了英国一个县的选举区(分区)边界。我已经成功地使用R加载了shapefile,并ggplot2按照此问题中的描述绘制了各种地图。一切都很好。 现在,我想创建一个任意形状的新多边形,将其添加到地图上,然后计算居住在该形状下的区域中的人口,该区域可能覆盖或部分覆盖多个分区。我有每个选举分区的人口,我可以简化假设,即每个病房的人口是均匀分布的。这表明了以下步骤。 1)在地图上覆盖部分覆盖多个选举区的新形状。出于辩论的原因,假设有3个分区。看起来像这样。[编辑:除了在下面的图形中,跨度为5格而不是3格] 2)计算与覆盖的多边形相交的这三个分区中每个分区的面积百分比。 3)通过获得覆盖形状覆盖的每个分区的面积百分比,然后乘以每个分区的人口,估算人口。 我想我可能可以解决如何创建多边形并将其覆盖在地图上的问题,即使用对此问题和其他问题的有用答案将其添加到现有数据框中。让我担心的一点是,要计算出覆盖形状所覆盖的每个分区的百分比。数据框中的lat和long列是那些奇怪的Ordnance Survey OpenData数据(Eastings和Northings等)。 所以我的第一个问题是:如何使用这些数据查找定义选举区划边界的多边形的面积(或面积的子集)?因为即使该数据帧的一个有意义的子集都很大,所以我习惯于dput创建一个500k的文件(可以从此处复制和粘贴或下载该文件),而不是在此问题中发布它。使用以下内容创建了构成以上图像基础的地图: require(ggplot2) ggplot(smalldf, aes(x = long, y = lat, group = group)) + geom_polygon(colour = "grey50", size = 1, aes(fill = smalldf$bin)) 我的第二个问题是:我在使用正确的工具吗?目前,我正在使用readShapePoly从maptools包装中读取shapefile的文件。然后fortify,我使用来创建大约130k行的数据框,适用于ggplot。如果有一个针对此类过程的有用工具,也许我应该使用其他软件包?
22 shapefile  r 

3
使用ogr2​​ogr转换为shapefile时是否选择要素类型?
Shapefile只能具有一种几何类型,但是许多其他格式(kml,geojson)可以具有多种类型。 转换为shapefile时,是否可以告诉ogr2ogr创建多个shapefile,每种类型一个? 似乎“ -where”选项可能有用,但是手册页中没有解释语法。 例如,这是一条失败的命令: $ wget http://a841-tfpweb.nyc.gov/jackson-heights/wp-content/themes/tfp/kml/transit.kml $ ogr2ogr -f "ESRI Shapefile" transit.shp transit.kml Warning 6: Normalized/laundered field name: 'Description' to 'Descriptio' ERROR 1: Attempt to write non-linestring (POINT) geometry to ARC type shapefile. ERROR 1: Terminating translation prematurely after failed translation of layer Transit (use -skipfailures to skip …

2
在R中不使用shapefile的情况下实例化空间多边形
因此,我们在R中读取shapefile的通常方法是通过maptools包,如下所示: sfdata <- readShapeSpatial("/path/to/my/shapefile.shp", proj4string=CRS("+proj=longlat")) 但是,我有一个用例,其中没有shapefile.shp,而是有一系列多边形坐标 16.484375 59.736328125,17.4951171875 55.1220703125,24.74609375 55.0341796875,22.5927734375 61.142578125,16.484375 59.736328125 及其对应的投影 coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 如何直接从该数据“实例化” sfdata(将是“多边形对象”)?(无需以round回的方式使用这些数据创建shapefile,然后从新创建的shapefile中读取)
22 shapefile  polygon  r 


6
将shapefile转换为CSV,包括属性和几何?
我有一个shapefile,其中包含60k多个条目,所有这些条目都是具有相应属性(总计,土地所有者名称,税ID#等)的多边形。我最终需要的是一个具有所有这些属性及其对应几何形状的CSV文件(采用KML兼容的xyz格式,而不是WKT格式)。 我知道我可以在Excel中打开.dbf文件并获取属性。我也知道我可以在QGIS中打开shapefile并将数据复制到Excel,这可以获取属性和WKT几何形状。 是否有一种简单的方法可以将shapefile转换为具有属性和Google Earth友好几何图形的CSV(可在Excel中打开)?


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.