python - 使用 Python 高效地合并和减少多边形

标签 python google-maps svg geometry polygon

将多个多边形合并并简化为等效形状但使用更少的多边形的最有效方法是什么,最好是在 Python 中?

polygon reduction

我正在尝试绘制由 US Census data 定义的邮政编码区域在谷歌地图上。使用Django的优秀GeoDjango框架和我对 django-census-places 进行的黑客攻击应用程序,我现在在我的数据库中有数以千计的 zip 和 lat/lng 矢量描述它们的区域。

我已经编写了一些基本的 Python 来导出矢量并渲染 Javascript 以在 Google map 上绘制选定的 zipper 。然而,我遇到的问题是它非常慢,因为即使是一个邮政编码也可能包含数千个多边形。我可以将此输出预处理为 JSON 并将其缓存,但即便如此,浏览器也需要几分钟时间才能加载所有三角形,其中大部分都是多余的,因为我只对几个邮政编码的整体轮廓感兴趣。

注意,这个问题类似于this ,但不一样。我不关心重叠的多边形,因为我相信没有重叠。

编辑:This问题也显得非常相似。

最佳答案

事实证明,GeoDjango 中的几个功能之一是全方位的 bool 多边形运算符。我所要做的就是在我的每个 MultiPolygon 对象上调用 union() 以获得描述整个区域的 MultiPolygon。点数的减少是一个数量级。

关于python - 使用 Python 高效地合并和减少多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14402810/

相关文章:

jquery - 在 SVG 元素中嵌入快速动画/SWF

Python:查找 URL 并添加查询字符串对

python - RESTful Python WSGI 网络框架

javascript - 如何自动水平滚动到div内的中间?

c# - 如何获取放置在 Google map 上的 JSON 结果?

javascript - 自定义谷歌地图信息窗口

javascript - 使用 JavaScript 动态计算整圆的 SVG 路径

python - 查找仅相差一个分类值的重复行

python - tkinter add_checkbutton 菜单没有获得复选标记,尽管存在变量(MacOS)

ios - 面临解析谷歌位置响应的困难