我正在尝试将GeoJSON文件导入为地理标准数据帧:
{'type': 'Feature',
'properties': {'vehicle': 63},
'geometry': {'type': 'LineString',
'coordinates': [[-121.579609, 39.777788, 14.21, 1609520401.0],
[-121.581177, 39.777786, 14.04, 1609520411.0],
[-121.58277, 39.777762, 13.64, 1609520421.0],
[-121.584358, 39.777759, 13.91, 1609520431.0],...
{'type': 'Feature',
'properties': {'vehicle': 283},
'geometry': {'type': 'LineString',
'coordinates': [[-121.600506, 39.777636, 12.58, 1609520403.0],
[-121.599111, 39.777643, 11.71, 1609520413.0],
[-121.597714, 39.777671, 12.29, 1609520423.0],
[-121.596323, 39.77769, 12.03, 1609520433.0],...
在我导入后使用:
gpdf = gpd.read_file('file.geojson',
driver='GeoJSON')
每个coordinates
列表(例如1609520401.0(中的最后一个(第四个(元素缺失:
vehicle geometry
0 63 LINESTRING Z (-121.57961 39.77779 14.21000, -1...
1 283 LINESTRING Z (-121.60051 39.77764 12.58000, -1...
2 519 LINESTRING Z (-121.63427 39.77045 14.03000, -1...
3 2253 LINESTRING Z (-121.60616 39.77775 16.94000, -1...
4 2376 LINESTRING Z (-121.58091 39.80047 13.01000, -1...
请注意,行字符串现在结束于每个列表的第三个元素(例如14.21000(
我通过导出为GeoJSON文件来确认这个问题。
有人看到我做错了什么吗?
提前感谢您抽出时间!
根据geoJSON
规范:https://www.rfc-editor.org/rfc/rfc7946#page-7.
3.1.1位置
位置是一个数字数组。必须有两个或多个
元素。前两个元素是经度和纬度,或
东距和北距,精确地按顺序排列,并使用十进制
数字。海拔高度或海拔高度可作为可选的第三个
元素。实现不应将位置扩展到三个元素之外
,因为额外元素的语义未指定且
不明确。历史上,一些实现使用第四个
元素来携带线性引用度量(有时表示为
"M"或数字时间戳,但在大多数情况下,解析器将无法正确解释这些值。附加元素的解释和含义超出了本
规范的范围,解析器可能会忽略附加元素。
你没有做错什么。parser
只是忽略了geojson内容中坐标的第四个elements
。