【问题标题】:shapely.geos.ReadingError: Could not create geometry because of errors while reading inputshapely.geos.ReadingError:由于读取输入时出现错误而无法创建几何图形
【发布时间】:2013-11-08 15:37:33
【问题描述】:

当我尝试对以下输入使用 shapely.wkt.loads 时,标题中出现错误:

POLYGON((-93.577695846689437 40.813390731817726,-93.577674865779628 40.813444137603014,-93.577722549304582 40.8136196133706,-93.577945709640048 40.814004897950532,-93.5781135556297 40.814165115070466,-93.578243255589527 40.814229965262996,-93.578363418973865 40.814268111930119,-93.578405380213241 40.814252853305611,-93.578418731892242 40.814207077283442,-93.578376770009427 40.81411170971851,-93.578311920291867 40.814050674367543,-93.578300476322624 40.814008712491074,-93.578235626128318 40.813978195044577,-93.5779953002333 40.813646316512269,-93.577934265283389 40.813581466662242,-93.577924728143131 40.813535690301279,-93.577777862415886 40.813383102422016,-93.577695846689437 40.81339073181772))

为您省去了滚动浏览所有内容的麻烦,它采用 WKT 格式。这是我正在阅读的大约 100 个多边形之一,也是唯一一个抛出此错误的多边形。需要明确的是,当我打电话时:

p = loads('POLYGON((-93.577695846689437 40.813390731817726,-93.577674865779628 40.813444137603014,-93.577722549304582 40.8136196133706,-93.577945709640048 40.814004897950532,-93.5781135556297 40.814165115070466,-93.578243255589527 40.814229965262996,-93.578363418973865 40.814268111930119,-93.578405380213241 40.814252853305611,-93.578418731892242 40.814207077283442,-93.578376770009427 40.81411170971851,-93.578311920291867 40.814050674367543,-93.578300476322624 40.814008712491074,-93.578235626128318 40.813978195044577,-93.5779953002333 40.813646316512269,-93.577934265283389 40.813581466662242,-93.577924728143131 40.813535690301279,-93.577777862415886 40.813383102422016,-93.577695846689437 40.81339073181772))')

我收到错误:shapely.geos.ReadingError: Could not create geometry because of errors while reading input.

我什至遇到了将其解析为常规 shapely.geometry.Polygon 格式的麻烦。然后,它工作正常。但我宁愿不要用烦人的字符串解析(和丑陋的尝试/除外)来混乱代码。而且,当然, shapely/wky.py 文件绝对没有告诉我任何内容……如果有人知道发生了什么/如何解决它,我将不胜感激。谢谢!

【问题讨论】:

    标签: python wkt shapely


    【解决方案1】:

    几何包含非闭合环。查看第一个和最后一个坐标:

    • -93.577695846689437 40.813390731817726
    • -93.577695846689437 40.81339073181772

    在最后一个坐标字符串的末尾添加6将使两者相等,并且外壳是制作多边形所需的闭合线性环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-06
      • 1970-01-01
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多