我正在尝试用python从形状可视化铁路轨道

2024-09-24 22:24:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用地图上的绘图线来显示铁路轨道。我是一个初学者,正在研究gis数据和可视化铁路网络。我不确定我要采用的方法,我不想使用arcgis或qgis

问题:我不确定应该在names属性中添加什么。 如果我能大致了解我出错的代码,那就太好了

zipfile包含.shp、.dbf.shx、.prj、.cpj

我得到的错误是“GeoDataFrame”对象没有属性“name” 这就是我正在编写的代码

import plotly.express as px
import geopandas as gpd
import shapely.geometry
import numpy as np
import wget

geo_df = gpd.read_file(r'railwaytrack.zip' )

lattiudes = [47.04691]
longitudes = [8.37467]
names=[ ]

for feature, line_geo in zip(geo_df.geometry, geo_df.name):
    if isinstance(feature, shapely.geometry.linestring.LineString):
        linestrings = [feature]
    elif isinstance(feature, shapely.geometry.multilinestring.MultiLineString):
        linestrings = feature.geoms
    else:
        continue
    for linestring in linestrings:
        x, y = linestring.xy
        lattiudes  = np.append(lattiudes, y)
        longitudes = np.append(longitudes, x)
        names = np.append(names, [name]*len(y))
        lattiudes  = np.append(lattiudes, None)
        longitudes = np.append(longitudes, None)
        names = np.append(names, None)

fig = px.line_geo(lat=lattiudes, lon=longitudes)
fig.show()

Tags: nameimportdfnamesasnpfeaturegeo