【发布时间】:2019-12-04 12:20:09
【问题描述】:
尊敬的 StackOverflow 社区,
主要问题:
我有一个 GeoDataFrame,其中包含纽约市的 StreetNetwork - 曼哈顿(通过 osmnx 包获得),我想从所有街道中提取坐标(经度/纬度数据),这些街道存储为几何下的 LineStrings,如下所示:
*
field_1 0
access
bridge
geometry LINESTRING (-73.9975944 40.7140611, -73.997492...
highway residential
junction
key 0
lanes
length 11.237
maxspeed 25 mph
name Catherine Street
oneway True
osmid 5670536
ref
service
tunnel
u 1773060097
v 42437559
width
geometry LINESTRING (-73.9975944 40.7140611, -73.997492...
Name: 0, dtype: object
*
我要做的是提取每个行项目的几何信息:
df.iloc[x][3]
问题是输出格式为 str:
[1]: LINESTRING (-73.9975944 40.7140611, -73.9974922 40.7139962)
[2]: print(type(...))
[2]: <class 'str'>
这使得自动化和处理输出数据变得困难。有谁知道如何提取它,使其已经是 LineString(或任何其他可用的列表/数组)格式?
另一个问题:
我的总体目标是将此街道信息与出租车区(多边形格式的区域)的 shapefile 进行映射,以识别哪些街道位于哪个区域,以及哪些经纬度区域被一个区域内的街道覆盖(多边形)。是否有任何直接的方法可以利用 shapely、geopandas 或 osmnx 包(即类似“polygon.contains(Point)”但在“polygon.contains(LineString) ”?
非常感谢您的支持!
【问题讨论】: