我正在使用Geodjango中的形状文件。现在,我正在尝试为加载形状文件中加载并将其保存到数据库的代码编写测试。形状文件当前的功能计数为64,118。我想将其简化为少数,以便测试可以快速加载并确认一切正确。

由于Shape Files不采用文本格式,因此是否可以使用免费的应用程序或库来删除少数功能并将其保存到新文件中?

我应该提到我没有许可证也没有访问任何ESRI产品系列。

有帮助吗?

解决方案

您有几个选项可以从ShapeFile导出一部分记录。

  • 任何开源桌面GIS都可以执行此操作。一些更受欢迎的是 量子GIS, GVSIG 或者 OpenJump. 。确切的步骤在每个方面都会有所不同,但是基本上您必须加载形状文件,开始编辑,选择所需的记录并将其导出到新的ShapeFile。

  • ogr2ogr 工具,GDAL软件包的一部分使您可以在不同的地理矢量格式(或以同一格式)之间进行转换,并且可以指定类似SQL的表达式以过滤原始数据集。

    ogr2ogr -f“ esri shapefile” - where“ id <10” new_shapefile.shp buge_shapefile.shp

  • 如果您正在使用PostGis,并且不想安装任何以前的应用程序,则可以使用 PGSQL2SHP 将PostGIS表的子集导出到ShapeFile的工具。

    pgsql2shp -f“/path/to/shapefile” -h server -u user -p密码post gisdb“从表中select *

编辑: :在这三个选项中的任何一个中,您都可以执行空间过滤器(即落入边界框中的功能),而不是基于属性的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top