如何从GeometryArray或LineString中提取坐标?

时间:2019-12-09 02:56:43

标签: python geopandas

我想在我拥有的geojson文件中测量一个点(带有坐标)和一条线(在几个线串中有很多点或坐标)之间的最小距离。(用geopandas加载文件)

I will give an example of geojson data here
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "properties": { "N02_001": "23", "N02_002": "5", "N02_003": "沖縄都市モノレール線", "N02_004": "沖縄都市モノレール" }, "geometry": { "type": "LineString", "coordinates": [ [ 127.67948, 26.21454 ], [ 127.6797, 26.21474 ], [ 127.67975, 26.2148 ], [ 127.68217, 26.21728 ], [ 127.68357, 26.21862 ], [ 127.68394, 26.21891 ], [ 127.68419, 26.21905 ] ] } },

加载的数据是

      N02_001 N02_002     N02_003         N02_004                                           geometry
0          23       5  沖縄都市モノレール線       沖縄都市モノレール  LINESTRING (127.67948 26.21454, 127.67970 26.2...
1          12       5    いわて銀河鉄道線  アイジーアールいわて銀河鉄道  LINESTRING (141.29139 40.33740, 141.29176 40.3...
2          12       5    いわて銀河鉄道線  アイジーアールいわて銀河鉄道  LINESTRING (141.27554 40.23936, 141.27567 40.2...
3          12       5    いわて銀河鉄道線  アイジーアールいわて銀河鉄道  LINESTRING (141.28659 40.26092, 141.28538 40.2...
4          12       5    いわて銀河鉄道線  アイジーアールいわて銀河鉄道  LINESTRING (141.29082 40.28615, 141.29089 40.2...

我试图通过分割记录的每个几何部分来仅绘制坐标部分,以使其易于使用数组进行计算。 -但由于每条记录都是线串或几何数组,因此无法正常工作。

要找到其他方法,我在这里阅读了有关google和QnAs的几篇文章,但除了1属性,我从中找不到任何提示;距离(其他)写在这里(http://geopandas.org/data_structures.html#attributes)。

我想如果可以将某点确定为几何点的形式,则可以得到距线和某点的最小距离。(但目前尚不知道该怎么做)

很抱歉,我没有几个代码可以告诉您。 我现在只有三部分代码。 读取文件,尝试拆分(无效),按列对GeoSeries进行切片(切片对象是LineString或GeometryArray的数组)

请给我一些建议。

filename = "N02-18_RailroadSection.geojson"
linename = "総武線"
import pandas as pd
import numpy as np
import geopandas as gpd
#load file
gdf1 = gpd.read_file(fn)
#draw records have certain value ; line name
all_wthcl = gdf1[gdf1.N02_003==linename]

0 个答案:

没有答案