【问题标题】:Geodjango django.contrib.gis.geos Linestring to Shapely LinestringGeodjango django.contrib.gis.geos Linestring 到 Shapely Linestring
【发布时间】:2021-04-07 00:03:11
【问题描述】:

我知道这是一个基本问题,但我刚开始使用 GIS,我被严重卡住了。

我尝试使用 django.contrib.gis.geos import LineString Linestring 和形状函数 shapely.ops.snap()。显然它缺少了 shapely 对象的属性,我得到了一个 AttributeError: 'LineString' object has no attribute '_geom'

如何将 LineString 转换为 shapely LineString 并返回到 geodjango geos LineString 以将其保存到数据库中?

这似乎有点奇怪,文档说它既是 GEOS 几何又是可互换的 (https://code.djangoproject.com/wiki/GEOSGeometry),但似乎不是。

问这个感觉不好,但我没有找到合适的功能,而且文档似乎比我习惯的更简约(尽管库看起来很棒):(

【问题讨论】:

    标签: geodjango shapely


    【解决方案1】:

    好的,所以在按预期摆弄太久之后,这里描述了 geodjango 中 GEOS 几何的属性 (https://docs.djangoproject.com/en/3.1/ref/contrib/gis/geos/)

    对象可以通过调用.wkt 输出为例如wkt 然后加载。 所以:

    from shapely import wkt 
    
    geodjangoGeometryAsWkt = GeodjangoObject.wkt
    shapelyGeom = wkt.loads(geodjangoGeometryAsWkt)
    

    【讨论】:

      猜你喜欢
      • 2014-02-13
      • 2021-09-04
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多