如何将 GEOS MultiLineString 转换为 Polygon?
我正在开发一个 GeoDjango 应用程序,用户可以在其中上传地图文件并执行一些基本的地图操作,例如查询多边形内的要素。
我认识到用户有时会上传“MultiLineString”而不是“Polygon”。这会导致期望闭合几何图形的查询失败。
在 Python 中将 MultiLineString 对象转换为 Polygon 的最佳方法是什么?
I am developing a GeoDjango application where users can upload map files and do some basic mapping operations like querying features inside polygons.
I recognized that users happen to upload "MultiLineString"s instead of "Polygon"s sometimes. This causes the queries expecting closed geometries to fail.
What is the best way to convert a MultiLineString object to a Polygon in Python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
呵呵,一开始我写了这个:
但后来我发现有一个漂亮的小方法叫做 convex_hull 自动为您进行多边形转换。
Hehe, at first I wrote this:
but then I discovered that there is a nifty little method called convex_hull that does the polygon conversion for you automatically.
这是 Carlos 答案的修改,它更简单,不仅返回一个元素,还返回源文件中的所有行
Here is a modification of Carlos answer, it is simpler and returns not just one element, but all the rows in the source file
这个小代码可以节省大量时间,也许稍后会合并 geopandas 中更短的形式。
This small code can save a lot of time, maybe later a shorter form in geopandas will be incorporated.