问题标签 [pyshp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2151 浏览

python - 使用 python 从 shapefile 中删除记录

我有一个要编辑的 ESRI shapefile .shp(包含所有相关文件.shx,例如.dbf等等) - 我需要删除第一条记录并保存文件。

为此,我安装pyshp并尝试解析和编辑 shapefile。这是我尝试过的:

从这里我想删除第一个条目<shapefile._Shape instance at 0x7fc5e18d93f8>,然后保存文件:

但是,该记录在新保存的文件中仍然可用。

不幸的是,文档并没有深入讨论这些事情。

我怎样才能实现我的目标?保存文件前如何检查删除是否成功?

0 投票
1 回答
549 浏览

geospatial - 给定美国的地理坐标,如何确定它是在城市还是农村?

给定美国的地理坐标,如何确定它是在城市还是农村?

我在美国有大约 10000 个地理坐标,我想使用 Python + 底图来确定一个点是城市还是农村。

我不确定要使用哪个库或形状文件。

我需要这样的功能:

0 投票
0 回答
610 浏览

flask - 烧瓶将shapefile上传到postgis

我正在尝试将 shapefile 上传到 PostGIS。我正在使用 Flask 并从用户那里获取文件(.shp、.shx、.dbf 和 .prj),并在使用 PYSHP python 库访问形状集合之前将它们保存到临时文件中。

我想要做的是组合形状集合中的多边形并将它们与其他一些数据一起作为一条记录添加到数据库中。基本上将多边形合并成一个多多边形。PostGIS 表的相关列定义为:

我不知道如何合并多边形并将它们转换为可以使用 SQLAlchemy 和 GeoAlchemy2 写入 PostGIS 数据库的格式。我们将不胜感激地收到有关如何进行的建议。

我看过 geopandas 和 shapely 但似乎可以找到相关信息

我在用

  • 烧瓶 1.0.2
  • PostgreSQL 9.6
  • SQLAlchmey 1.2.7
  • 地球炼金术2 0.4.2

更新 1。

找到了一个似乎可行的解决方案,但似乎相当混乱。

在使用 shapely 库的 cascaded_union 之前,我遍历 shapefile.Reader 的 shape() 并将每个多边形保存到一个数组中。然后使用 pygeoif 库转换信息保存到 postgis 数据库中。

0 投票
1 回答
803 浏览

python - 创建新 Shapefile 时使用 PyShp 的多部分形状问题

我有一个从以下位置下载的 shapefile (blockgroups.shp): https ://github.com/GeospatialPython/pyshp/tree/master/shapefiles

我想使用 PyShp 创建一个只有四个属性(bkg_key、pop1990、白色和黑色)的新 Shapefile。

我试过这段代码:

它适用于除一种以外的所有形状。

有一个记录有多个部分。包含多个部分的记录是'BKG_KEY = 060750601001'和'POP = 4531'。在新的 shapefile 中,这条记录有一个奇怪的形状,因为 pyShp 自动连接来自特征不同部分的第一个和最后一个顶点。

如果我只选择'POP1990 <4531'的记录和'POP1990>4531'的记录(不包括提到的记录),它会起作用,所以只有当有多个部分的记录时才会出现问题。

当我创建新的 shapefile 时,有什么方法可以保留原始 shapefile 的部分数量?我该如何处理这个问题。

我会很感激一些帮助。谢谢

0 投票
1 回答
115 浏览

python - 使用 pyShp 中的 Editor() 类从 Shapefile 中删除记录的问题

我正在使用 pyShp 在新的 shapefile 中添加三个多边形。我添加了几何和记录(属性)。到目前为止没有问题。

后来,我想使用 Editor() 类删除三个多边形之一。如果我尝试删除最后一个“P3”,它可以正常工作。

当我尝试删除任何其他多边形时出现问题。例如,如果我删除第一个,形状会消失,但它的属性仍然存在,因此“P2”多边形会继承它们。被删除的记录是最后一条(最初链接到“P3”)。

我知道我可以选择我想要保留的两个形状并将它们写入一个新的 shapefile,但我想了解为什么 Editor() 类不能按预期工作。

0 投票
1 回答
1003 浏览

python - CSV TO SHAPEFILE - 使用 pyshp

我需要帮助。

我得到了一些包含地理信息的 CSV 文件,我需要将其转换为 SHP……我正在尝试以下代码,但它不起作用……

这是我第一次使用 python 。如果你能帮助我,我将不胜感激。

这是间谍返回给我的内容:

0 投票
0 回答
542 浏览

python - 在 __init__ 中引发异常行 1029

我的生成代码有错误,这是我的代码

我有这个问题......

有没有人可以帮助我..??

0 投票
0 回答
595 浏览

python - 更改 shapefile 中的边缘颜色

使用形状文件。我能够制作地图,但如何摆脱边缘颜色。它们目前是在此处输入图像描述 下面的黑色代码

0 投票
0 回答
568 浏览

python - 使用 PyShp 将 Shapefile 分成多个部分

尝试根据大小将 Shapefile 分成多个部分。如果 Shapefile 的 zip 文件的文件大小超过 10 MB,则会将其分成块。

早些时候,我们使用 Geopandas 来完成这项任务,它运行良好,但消耗了更多 RAM 来完成这项任务。所以尝试一下 PyShp 库。

主要问题是它正在生成分割文件,但没有记录插入到 Shapefile 中,并且其中也缺少 DBF 文件。

我是否在以下代码中遗漏了什么,请告诉我

在写入新的 shapefile 时,在生成的 zip 文件中遇到困难。DBF 文件丢失并且 SHP 文件没有正确的记录

任何帮助深表感谢。

0 投票
1 回答
554 浏览

python - 如何在 python3 中使用 pyShp 修复“TypeError:'bytes' 类型的对象不是 JSON 可序列化的”

我目前正在使用 pyShp 将 shapefile 转换为 geojson 文件。我看到很多人使用与我相同的脚本,但我真的不知道为什么它不能在我的计算机上运行。我一次又一次地遇到同样的错误,但我不明白它来自哪里。

这是我得到的输出:

通常我应该有一个正确的geojson文件。

如果你能帮助我非常感谢你:)