微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 postgres 数据库读取 MultiPolygons 不会返回有效的几何图形

如何解决从 postgres 数据库读取 MultiPolygons 不会返回有效的几何图形

我正在创建网络应用程序,以图表、地图等形式显示一些数据。我正在使用 bokeh 进行绘图。

对于地图,我需要使用包含区域边界的 Multipolygons 加载 shapefile。我已将其加载到我的 Postgresql 数据库中,并且可以从 pgAdmin 显示几何图形。

我为这张表注册一个模型,代码如下:

class Polska(models.Model):
gid = mdls.AutoField(primary_key=True)
region = mdls.CharField(max_length=80,blank=True,null=True)
geom = mdls.MultipolygonField(srid=0,null=True)

当我尝试加载这些形状并将它们从 geopandas 打包到 GeoDataFrame 中时,我得到一大堆带有错误的文本(这只是一个片段,基本上它打印了整个几何图形)

Input must be valid geometry objects: MULTIpolyGON (((494179.5260320738 358814.2954531405,494173.5314778397 358816.6456283908,494178.0633204972 358822.8603784787,494231.7738932786 358896.5675205989,494321.7782545781 359023.6103092115,494341.6988730072 359051.7332468079.....)))

在我的视图中加载的代码geodf = gpd.GeoDataFrame(pd.DataFrame(Polska.objects.values("region","geom")),geometry="geom")

所以有一个几何对象,但由于某种原因它不读为一个。 有趣的是,当我尝试检查这个 Multipolygon 对象的类型时,它告诉我“MULTIpolyGON EMPTY”。

问题可能出在哪里?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。