Questions tagged «shapefile»

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


6
如何提高非常大的shapefile的渲染性能?
我有一个多边形shapefile,它具有100MB .dbf和500MB .shp文件组件。之所以这么大,是因为它被归类为整个地区的陆基。 每次我在ArcCatalog或ArcMap中查看文件并稍微移动视图窗口时,都需要从头开始重新绘制整个文件。我尝试了将空间索引和导入到地理数据库中的方法-两种方法都无法在渲染方面提供任何明显的性能改进。 Esri的帮助页面建议,为了提高shapefile的性能,用户可以对file进行一般化。尽管这显然可行,但我不想丢失任何信息。拆分文件并不理想,因为我要对整个区域进行大量的地理处理/查询。我想我可以避免一次查看整个区域-但例如,有时候,最好查看查询已选择文件的哪些部分。 我还有其他方法可以改善渲染性能吗? (从理论上讲,构建shapefile“金字塔”将是理想的-我不确定为什么ArcGIS从来不支持这种方法-至少我知道...)

7
Shapefile的替代品,作为开源,跨平台数据集类型
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我正在开发非常面向ESRI的软件,但是将来的版本可能不会使用ESRI软件。它使用Shapefile和Geodatabase。我计划将所有数据都存储到Shapefile中,以期该软件的未来版本可能会在Android和其他移动设备上使用。看起来Shapefile是开放源GIS世界中最常见的要素数据类型,但其他还有什么,它们带来什么好处?我熟悉GeoJSON和KML,但我敢肯定还有其他人。 我想知道所有选项,但是我对最适合存储在移动设备上的数据集类型特别感兴趣(必须在没有Internet连接的情况下访问数据)。

2
使用Python / ArcPy将shapefile或要素类添加为ArcGIS Desktop中的图层吗?
我正在尝试使用Python自动执行ArcGIS Desktop(通常使用ArcMap)中的各种任务,并且一直需要一种将shapefile添加到当前地图的方法。(然后做一些事情,但这是另一个故事)。 到目前为止,我能做的最好的就是使用以下命令将图层文件添加到当前地图(“ addLayer”是图层文件对象): def AddLayerFromLayerFile(addLayer): import arcpy mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE") arcpy.RefreshActiveView() arcpy.RefreshTOC() del mxd, df, addLayer 但是,我的原始数据始终是shapefile,因此我需要能够打开它们。(等效地:无需打开即可将shapefile转换为图层文件,但我不希望这样做)。

2
使用C#的Gdal / Ogr的API文档
我想在我的Web C#应用程序中将投影分配给shapefile,为此我正在使用Gdal / OGR / OSR C#绑定并添加osr_csharp.dll和ogr_csharp.dll引用。但是我在编写将投影分配给shapefile的代码时遇到了一些困难。我想知道是否有任何API文档可以帮助我理解这些库的类/方法。或者,如果有人有一些代码可以将投影分配给shapefile,那么对我来说将是很大的帮助。

5
GeoJSON太庞大-怎么办?
我正在使用leaflet.js允许网络用户选择区域。有效区域是美国各州,加拿大的天意和世界国家(美国和加拿大除外)。我自己使用Qgis构造了一个shapefile,并将其保存为geojson。我尽可能地简化了几何形状。 生成的shapefile为400kb,但geojson超过一兆字节。这比我想要的要大。我需要减少传输此信息所涉及的网络开销。 什么是正确的方法?我可以想象的选项是: 将geojson文件压缩后,在客户端上解压缩。 将客户端上的shapefile解析为geojson 从shapefile生成我自己的图块并为这些图块服务 如果有人能告诉我哪个选项是最好的(或以上都不是),我将不胜感激!

2
在R中提取相交区域
我有两个多边形。一个包含字段(X,Y,Z),另一个包含土壤类型(A,B,C,D)。我想知道每个字段的哪个区域包含哪种类型的土壤。我尝试了以下方法: library(rgdal) library(rgeos) Field<-readOGR("./","Field") Soil<-readOGR("./","Soil") Results<-gIntersects(Soil,Field,byid=TRUE) rownames(Results)<-Field@data$FieldName colnames(Results)<-Soil@data$SoilType > Results A B C D Z TRUE FALSE FALSE FALSE Y FALSE TRUE TRUE FALSE X TRUE TRUE TRUE TRUE 并告诉我哪个字段包含哪种土壤类型,并取得了良好的效果。但是,如何获得该区域呢?

2
使用R将空间多边形对象转换为数据框
我的目标是通过合并某些多边形来修改现有的shapefile。 导入shapefile并使用UnionSpatialPolygons命令后,得到所需的多边形轮廓。 但是,现在这是一个SpatialPolygons对象,而不是SpatialPolygonsDataFrame,因此无法使用writeOGR将其导出到shapefile。 我该如何解决这个问题?
18 shapefile  cartography  r  ogr 

4
从Shapefile中打开和提取数据?
我们需要美国高速公路数据。 我们在州GIS 网站上为佛罗里达州找到了它。 我们从此处下载了佛罗里达高速公路交叉口的数据(这是一个zip文件)。 我们如何使用这些文件并从中提取相交(出口)的地理编码值?
18 shapefile  import 

7
如何更改shapefile中特征的顺序?
我有一个shapefile,我想更改特征的顺序。那可能吗? 我想对shapefile中的特征进行排序,因为我将这个shapefile嵌入了移动应用程序中。该应用程序将显示功能列表,尽管我可以在加载时进行排序,但我更喜欢对它们进行排序。
18 qgis  arcmap  shapefile 

4
使用QGIS从shapefile字段中获取不同值的列表?
我有一个shapefile,可以通过在查询对话框中指定where子句来过滤其功能。Fx我有一个名为“ city_name”的字段,并在where子句中声明“ city_name =“ London”“,仅显示伦敦。我现在想做的是从属性表中获取“ city_name”中的所有值。 像这样: select distinct city_name from [attribute table] 我在QGIS中发现了一些显然可以处理SQL的工具,并且还快速浏览了不同的插件。但是我无法连接到数据库或表名...在那种情况下是哪个数据库或哪个表? 最后,我想导出结果列表并将其用于进一步处理。 我正在使用QGIS 1.8。
18 qgis  shapefile  sql 

4
使用“ ESRI Shapefile”驱动程序时如何从缩写字段名称中停止writeOGR
我目前正在使用以下脚本将表中的某些属性数据添加到很多单独的shapefile中: library(rgdal) specieslist <- read.csv("SpeciesList1.txt", header=F) attdata <- read.table("TestAtt.csv", sep = ",", header=T) for (n in 1:dim(specieslist)[1]) { speciesname <- specieslist[n,1] shp <- readOGR("Mesoamerica_modified_polygons", speciesname) shp$ENGL_NAME<-attdata[n,2] writeOGR(shp, "PolygonsV2", speciesname, driver="ESRI Shapefile") } 最后我得到以下警告: 1: In writeOGR(shp, "PolygonsV2", speciesname, driver = "ESRI Shapefile") : Field names abbreviated for ESRI Shapefile driver …

1
查询OSM以了解面向西的所有海滩?-首选QGIS
我想确定这个星球(或其给定子集)上所有向西(+/- 20-30度)的海滩。 我的想法是使用OSM作为数据源。提取所有带有标签“ natural = beach”的多边形,可以为我提供标记为海滩的所有区域的数据集/ shapefile。到目前为止,一切都很好。 我也知道我可以使用海岸线数据(例如,来自OSM或Natural Earth的数据)来识别海滩的朝向。 缓冲海滩形状以校正较小的不匹配,并将其与海岸线相交,应为我提供有关形状朝向水的一侧的数据。使用所有相交点的最大/最小值应该使我对方位有一个了解。(90度+/- 20-30度就可以了...) 那就是我迷路的地方... 我首选的工具是QGIS,但PostGIS也可以。 周围有人有聪明的主意如何解决这个难题吗?

1
使用ogr2​​ogr通过属性选择特征?
经过一些处理后,我正在编写一个shapefile。但是,在最后一步中,我需要根据shapefile中的属性进行选择。 我正在外壳程序中使用该命令,目的是在工作时在Python脚本中使用它。 ogr2ogr -f "ESRI Shapefile" -select * where ID="1" outfile.shp infile.shp 我收到错误消息: FAILURE: Unable to open datasource `Downloads' with the following drivers. 我可能做错了什么?


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.