Questions tagged «shapefile»

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


1
将多个shapefile批量加载到Postgis
根据shp2pgsql帮助,选项drop,append,create和prepare是互斥的。因此,如果我想从形状创建表,然后附加多个其他shapefile,我将执行以下操作,并保留一个计数器以指示我们处于创建还是附加模式。 cnt=0 for shp in $(ls *.shp); do if [ $cnt -eq 0 ] ; then shp2pgsql -s 27700 -c $shp schema.table_name | psql -h localhost db else shp2pgsql -s 27700 -a $shp schema.table_name | psql -h localhost db fi ((cnt++)) done 这可以按预期工作,但我经常想知道是否有更简单的方法?

2
使用gdal / ogr将CSV文件加入shapefile?
我有几个属性shape文件,例如YEAR,COUNTY和AREA。我还有一个CSV文件,其中包含我想要在shapefile中使用的更多字段,例如POPULATION。shapefile和CSV文件都有一个字段GISJOIN。我知道如何在QGIS中加入。但是,如何使用ogr2ogrGDAL / OGR中的一个或其他工具进行永久连接并写入shapefile ?

1
将shapefile导入到SQL Server中
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 我经常使用出色的SQL Server 2008空间工具将shapefile导入SQL Server2008。这确实很好,但让我感到奇怪的是,Microsoft如何期望SQL Server的最终用户将shapefile导入SQL Server?导入此数据的官方方法是什么? 我在GIS.stackexchange上发现的对此的唯一引用是以下问题:如何将shapefile导入MS SQL 2008,然后使用QGIS查看该数据?以及如何仅使用SQL脚本将形状文件导入SQL Server 2008 R2?,其中引用了空间工具,GDAL等,但Microsoft没有提供。有什么我想念的吗?叫我天真,但我几乎希望SQL Server导入/导出向导中的shapefile的数据源列表中有一个选项! 总结:我不是在问如何将shapefile导入SQL Server,而是在问微软希望我们如何将shapefile导入SQL Server。


1
使用ArcGIS for Desktop对shapefile进行地理配准?
我有一个shapefile,其中包含一些我想叠加到栅格图像上的多边形,但是不幸的是,由于创建了shp的参考系统,它们不完全匹配。因此,我现在要“地理参考” shp,以便所有多边形都与下面的栅格图像匹配。这不仅仅是移动它的问题,与img相比,多边形有些变形,因此我需要创建一些控制点来告诉程序我要如何移动它们。我知道可以很轻松地完成栅格处理,但是要素呢? 此外,我想补充一点,我知道我总是可以将栅格地理定位到shp,但是在这种情况下,栅格必须保持在原位置,我只需要移动shp,因为这应该是栅格的第二部分。相同的工作,但是来自另一个来源导致了这个问题,我必须解决。 我正在使用ArcGIS 10.1 for Desktop。

1
如何使用fortify()从shapefile创建过滤的R数据帧?
我正在建立ggplot威尔士行政区人口的总人口图。我已经从军械测量局下载了边界线数据,并提取了似乎正确的shapefile(community_ward_region.shp)。使用R,我已经读完shapefile。 require(maptools) shape <- readShapePoly(wards) str(shape) 这给了我这个有希望的输出: Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots ..@ data :'data.frame': 1690 obs. of 4 variables: .. ..$ NAME : Factor w/ 1507 levels "Abbey Cwmhir",..: 969 90 111 200 441 477 1455 249 255 305 ... .. ..$ DESCRIPTIO: Factor w/ 4 …
11 shapefile  r 

1
将私有shapefile数据与OSM数据合并(合并)
背景 从Geofabrik下载了Alberta OSM数据,并使其在使用PostgreSQL 9.1,PostGIS 2.0,Mapnik 2.1.0,osm2pgsql,Apache 2,mod_tile,rendered和OpenLayers的专用Linux服务器上运行: 数据使用osm2pgsql以下方式导入: osm2pgsql -W -K -S /usr/local/share/osm2pgsql/default.style -d osm alberta.osm.bz2 问题 艾伯塔省的OSM数据不完整。给了我一组可以改善OSM数据的shapefile: City.dbf, City.prj, City.sbn, City.sbx, City.shp, City.shp.xml, City.shx 加上用于村庄,市区,市辖区边界等的其他shapefile。我已经使用pgAdmin 插件成功将shapefile导入到PostgreSQL中。该City.prj文件描述了其投影,如下所示: GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]] shapefile数据和OpenStreetMap(OSM)数据都有各自的数据库,但是我相信我想将shapefile数据导入OSM数据库。(这是专用服务器和OSM数据的本地副本; shapefile数据无法合法共享。) 更新#1 需要明确的是,shapefile不包含道路:只有市政边界(绝对不是OSM数据的一部分),城市(其中一些是OSM数据的一部分)和较大城市的城市边界(其中一些可能与OSM数据冲突)。 题 如何将shapefile数据与OSM数据合并,以使新城市出现在地图上? 注意:我主要关心的是解决重复数据(例如,OSM和采购的shapefile中都列出了Edmonton)。 相关链接 http://wiki.openstreetmap.org/wiki/Shapefiles http://wiki.openstreetmap.org/wiki/Import/Shapefile http://wiki.openstreetmap.org/wiki/Convert_shp_to_osm_using_grass_and_gpsbabel https://github.com/wavded/js-shapefile-to-geojson http://redmine.yellowbkpk.com/projects/list_files/geo http://www.gdal.org/ogr2ogr.html http://wiki.openstreetmap.org/wiki/Ogr2osm https://github.com/andrewguertin/ogr2osm http://svn.openstreetmap.org/applications/utils/import/shp2osm/ http://crschmidt.net/blog/archives/354/polyshp2osm/ http://www.mail-archive.com/talk@openstreetmap.org/msg12487.html 谢谢!

3
将复杂的shapefile划分为网格
我有一个具有多边形/多多边形特征的相当详细的shapefile(文件约为500mb)。它实际上是整个世界的shapefile,其特征代表海岸线。我需要使用网格划分此数据。明确地说,我不想对数据进行“排序”,而是将多边形实际切成小块。我知道之前曾有人问过这个问题,但是我发现的解决方案对我不起作用。 我试过了: 使用QGIS并将我的shapefile内容与矢量网格相交-结果非常糟糕。大多数主要陆地都神奇地消失了,尽管有时似乎有较小的一块土地。我应该注意,这种方法对简单得多的数据(例如,较少的点)非常有效 使用OGR的相交工具。我通过ogr2ogr甚至通过滚动自己的C ++工具都进行了尝试。两者都具有与QGIS相同的问题。对于简单的文件,它们也不会出现此问题,但是对于较复杂的文件,则不会通过。作为参考,我使用的是澳大利亚和新西兰的shapefile,大小不超过20mb,并且QGIS和OGR都无法对其进行“网格化”。 有人建议一次使用PostGIS,因为它具有交集功能-但PostGIS的ST_Intersect使用与OGR相同的GEOS后端。实际上,据我所知,它们都调用相同的函数,因此我认为PostGIS不会产生不同的结果。 我一直在寻找关于其他尝试方法的建议。我需要一个功能强大的应用程序或工具包,可以将高度详细的shapefile划分为图块。 编辑:添加一些更多的信息 针对Simbamangu: shapefile基本上是来自OpenStreetMap的海岸线数据。这是“ processed_p”文件的合并版本(因此不会拆分为图块),我通过给他们的开发人员列表发送了电子邮件。请注意,他们将瓦片分割成100km x 100km重叠的块并不一定是我想要的-我不希望重叠,我想自由选择网格大小,或者我只想使用默认处理的_p。 默认情况下,海岸线数据具有QGIS报告的几何误差。我使用一个小的工具将这些错误汇总在一起,使用发现的一些代码专门解决了这个问题(修复海岸线数据中的几何错误:https : //github.com/tudelft-gist/prepair)。使用此工具在文件上运行几乎可以修复QGIS发现的所有错误。我仅在清理文件后尝试进行相交。 我使用QGIS所做的正是:打开数据以确保它在QGIS中看起来不错。尝试通过使用具有指定间距的Vector Grid创建一层瓷砖,然后将这两层相交,将其分成多个瓷砖-不行。尝试使用较小的数据集-选择大洋洲(Aus,NZ)中的要素以尝试使用较小的数据集-此形状文件的大小小于20mb。再次尝试将其分割,不起作用。 我对OGR所做的事情:ogr2ogr直接使用带有spat_extent的'-spat'和'-clipsrc'选项。还写了一个可以在WKT上运行的小型C ++工具,因此我使用ogr2​​ogr将shapefile转换为WKT,然后将文本文件提供给我的应用程序。它遍历该文件并调用此处记录的Intersection()方法:http : //www.gdal.org/ogr/classOGRGeometry.html。我认为最终结果与直接使用ogr2​​ogr完全一样。 针对布伦特: 是的 一切都在WGS84纬度/经度中 我以为是相反的事实-对于给定的一组网格图块,与一个巨型多面体相交将花费更长的时间,而不是一堆可以在空间上更局部地定位于每个图块的零碎要素,但这是一个有趣的建议-我会尝试并报告。 在此过程中不会保留任何属性字段,我只对几何感兴趣。 我不确定,但是我想你是说我应该选择与给定网格图块重叠的多边形,然后执行相交。使用QGIS手动操作太麻烦了。我的工具已经通过边界框检查在一定程度上做到了这一点。速度有所提高,但是最终结果仍然很差,并且没有明显的不同。 这不是一个选择。现在,我正在尝试将数据划分为1度经度x 1度经度,并且我正在寻找一种适用于所有情况的通用/稳健方法。我尝试增加网格尺寸(即10x10)以查看是否可以获得更好的结果,并且看不到网格尺寸与输出质量之间的任何关联。 编辑#2: 我尝试了更多,总的来说,使用GEOS和QGIS(使用fTools,我不知道是否又使用GEOS)时,结果似乎都不可靠。我错误地指出网格的大小与结果无关—网格越大,结果越好(这是很好的认识,但仍然不是解决方案)。这是一个实际间隔开的网格的屏幕截图,该网格大部分可用,但在一个磁贴中部分失败: 几何图形很干净-QGIS使用“检查有效性”工具显示0错误。我不是要逐步解决这个问题。验证某些特征是否在视觉上不明显(且不会使用较小的图块)的情况下,无法通过如此大的数据集的交集不可行。

5
如何在QGIS中更改字段长度
我有一个在QGIS 1.7.4中制作的shapefile。字段之一是长度为80的字符串。我想让该字段接受更长的字符串,但我不知道如何更改其长度。我该怎么做呢? 谢谢。
11 qgis  shapefile 

3
哪种数据格式通常在ArcMap中显示最快?
我的组织正在开发在ArcGIS Engine上运行的应用程序。该应用程序的先前版本主要使用Shapefile来显示道路,地块,建筑物等。 由于在大学期间管理数据时,我被教导避免使用Shapefile,因此我建议移至文件地理数据库。 Esri声称文件地理数据库针对性能和存储进行了优化。 我的同事记得曾经听说Shapefile绘制得更快。 我没有看到直接谈论该主题的文章,所以我想向社区提问。 我倾向于使用文件地理数据库,但是很高兴知道我是否缺少Shapefile提供的任何功能。


2
在QGIS中将度量单位从度更改为米?
我在Windows上运行QGIS 1.7.0,并且从TIGER中下载了人口普查区块组边界的shapefile 。该文件似乎在WGS 84坐标系中,当我在QGIS中打开它时,度量单位是度。 我尝试将文件重新投影到NAD 83坐标系中,并将其另存为新的shapefile,但是当我打开新文件时,它仍然显示度尺。如果我尝试制作一个缓冲区,它将缓冲区距离解释为度。 假设我从TIGER的shapefile开始,将度量单位从度转换为米的最佳方法是什么? 为了后代,在处理美国人口普查TIGER shapefile时,以下工作流程似乎很有意义: 下载相关的shapefile 在QGIS中打开 点击Settings菜单,然后选择project properties 选择一个投影坐标系,例如NAD83 / UTM区域19N 点击框 Enable 'on the fly' CRS transformation 点击确定 点击“放大全屏”按钮(其中一个放大镜)



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.