问题标签 [shapely]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3828 浏览

python - 从 PatchCollection 添加 matplotlib 颜色栏

我正在将 Shapely MultiPolygon 转换为 PatchCollection,并首先像这样为每个多边形着色:

但我想根据 PatchCollection 颜色在我的绘图中添加一个颜色条。我不知道该怎么做。创建时要传递cmap关键字pc吗?然后我如何set_array()用我用过的颜色打电话?

0 投票
1 回答
1011 浏览

python - 无法导入 Shapely(Ubuntu、Python)

我下载了 Shapely 来做一些多边形工作(在 Ubuntu AWS 实例上)。一切都安装得很好,我使用了 wget。当我第一次遇到我要解释的错误时,我也做了 pip,但它只是说一切都在那里,所以我认为下载不是问题。

无论如何,当我尝试shapely 导入任何东西时,我会收到此错误:

当我只是说“导入匀称”时,一切都很好。但是,当我需要从库的更深处导入任何内容时,它会崩溃。我第一次尝试使用它,from shapely.geometry import polygon 但对于包装内的任何东西都是一样的。以前有没有人遇到过这个问题/知道解决方案?

0 投票
1 回答
2368 浏览

python - 两段(线)之间的角度小于 180

我需要找到两个线段(线)之间的“内”角,即小于 180 度。在python2.7中有什么快速的方法吗?(Shapely 似乎没有这个功能)

段 1 是 x1,y1,x2,y2

段 2 是 x3,y3,x4,y4

在此处输入图像描述

0 投票
11 回答
62913 浏览

python - 找不到库 geos_c 或加载其任何变体

我在 Fedora 19 中使用 Python。我想运行以下行:

但出现以下错误:

我安装了 Shapely 包,以及以下两个库:

  • glibc-2.17-4.fc19.i686.rpm
  • geos-3.3.8-2.fc19.i686.rpm。

我能做些什么来解决这个问题?

0 投票
1 回答
10170 浏览

python - 如何检查 Shapely 中的多边形是否为空?

我对 Python 很陌生,所以这个问题的答案可能很简单,但我到处寻找并尝试了很多,但找不到答案。

使用 Shapely 简化多边形可能会导致一个空多边形。如果多边形为空,我想用一个点替换多边形。可以这样工作的东西:

0 投票
1 回答
4568 浏览

python - shapely.geos.ReadingError:由于读取输入时出现错误而无法创建几何图形

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

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

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

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

0 投票
1 回答
846 浏览

python - PyMongo Shapely GeoJson 转换

我正在处理违反围栏的问题。跟踪设备发送一系列坐标,为此我需要创建一个带缓冲区的栅栏。

我为此使用 shapely 库。

现在我想将此多边形存储为 MongoDB GeoJson,并且对于我从跟踪器设备收到的每个点,我想检查 Mongo 上的 $within 查询。

有没有办法将此多边形转换为边界框,迭代所有点并创建一个 geoJson 对象以存储在 Mongodb 中。还有其他更好的选择吗?

0 投票
2 回答
9561 浏览

python - 身材匀称有信封类吗?

我发现Java 的 JTS 库中的信封类非常方便。信封保存几何的最小和最大坐标,有时也称为边界框

我想得到一些匀称点的共同包络。在 JTS 中,您可以调用expandToInclude来逐点放大包络。

由于 JTS 作为 GEOS / shapely的蓝图,我期待在 shapely 上有类似的东西,但找不到它(虽然我是图书馆的新手)。我知道自己做这件事不是火箭科学,但我怀疑没有更优雅的方法可以做到这一点。你有什么主意吗?

0 投票
2 回答
4097 浏览

python - 使用 Shapely 寻找一种快速查找点所属多边形的方法

我有一组约 36,000 个多边形,它们代表该国的一个分区(〜县)。我的 python 脚本收到很多点:pointId、经度、纬度。

对于每个点,我想发回pointId,polygonId。对于每个点,循环到所有多边形并使用 myPoint.within(myPolygon) 效率很低。

我想 shapely 库提供了一种更好的方法来准备多边形,以便为一个点找到多边形变成一条树路径(国家、地区、子区域……)

到目前为止,这是我的代码:

0 投票
8 回答
133643 浏览

python - 从 Shapely 中的多边形中提取点/坐标

您如何获取/提取定义shapely多边形的点?谢谢!

匀称的多边形示例