python 使用geopandas浏览geojson线串

s2j5cfk0  于 2023-01-24  发布在  Python
关注(0)|答案(1)|浏览(171)

我有下面的python代码:

import geopandas

data = {
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "GeometryCollection",
                "geometries": [
                    {
                        "type": "LineString",
                        "coordinates": [
                            [-118, 32], [-119, 33], [-120, 34], [-121, 35], [-122, 36], [-123, 37], [-124, 38]
                        ]
                    }
                ]
            },
            "properties": {
                "provider": "MyProvider"
            }
        }
    ]
}

gdf = geopandas.GeoDataFrame.from_features(data)
gdf.explore()

当我运行这个程序时,它会生成警告:
用户警告:GeoJsonTooltip未配置为呈现GeoJson GeometryCollection几何。请考虑重新使用这些功能:[{"提供者":'MyProvider'}]转换为MultiPolygon以获得完整功能。
而且Map上的瓦片不会加载,尽管,由geojson数据定义的线确实会显示出来。

如果我只使用gdf. plot(),我会得到预期的图像:

但是,我想要使用. explore()提供的交互式Map块。
警告的确切含义是什么?我的数据需要如何更改才能正常工作?

46qrfjad

46qrfjad1#

背景/底图问题应该通过显式分配CRS到您的Geodataframe来解决(我假设它是EPSG:4326):

gdf = gdf.set_crs(4326)
gdf.explore()

关于警告,我认为工具提示要正常工作,需要不同的几何体类型(有关问题的讨论,请参见here-似乎是“类型”的问题:“几何集合”)。
例如,对于以下geojson定义,标签工作完美:

data = {
    "type": "FeatureCollection",
    "features": [{
            "type": "Feature",
            "geometry": 
                    {
                        "type": "LineString",
                        "coordinates": [
                            [-118, 32], [-119, 33], [-120, 34], [-121, 35], [-122, 36], [-123, 37], [-124, 38]
                        ]
                    },
            "properties": {
                "provider": "MyProvider"
            }
        }]
    }

相关问题