3

geometryPoints列を持つ GeoDataFrame を作成しました。

1.作成するdf

df = pd.DataFrame([[51.502687, -3.538329, 2242, 1, 47],
                   [52.699185, -0.050122, 870, 2, 35],
                   [51.574387, 0.397882, 651, 3, 47],
                   [51.43874, 0.395791, 625, 4, 35],
                   [51.23965, 0.561919, 614, 5, 36]],
                   columns = ["lat","long","num_of_trucks","performance","num_of_routes"]
                 )

df 

2.gdfから作成df

gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df["lat"],df["long"]),
                                                                 crs={"init": "epsg:4326"})
gdf

buffer_radius3. メーターを使用する CRS に再投影し、各ポイントの周囲10KM を計算します

gdf.to_crs(epsg=3395,inplace=True)
#gdf.to_crs(epsg=3857,inplace=True)
#gdf.to_crs(epsg=27700,inplace=True)

gdf["buffer_radius"] = gdf.geometry.buffer(10000)

4.ジオメトリ列を新しいbuffer_radius列に変更します

gdf = gdf.set_geometry('buffer_radius')
gdf.geometry.name
Out: 'buffer_radius'

gdf上記のプロセスは、ポリゴンを含むという新しい「ジオメトリ」列を持つ目的の GeoDataFrame を生成するように見えましたbuffer_radius

次に、これらの新しく作成されたポリゴンをプロットしたかったので、最初にbuffer_radius列の CRS を変換しました。

5. プロットを作成できる CRS に再投影します。

gdf.to_crs(epsg=4326,inplace=True)

6. 最終的なプロットを作成します。

次に、ポリゴンをプロットしようとしましたが、空のプロットが返されました:

gv.Polygons(gdf)

ここに画像の説明を入力

私のプロットが空を返すという事実は、それが投影の問題である可能性があるのではないかと思いましたか?

ここで私が間違っていることを誰かが知っていますか? どんな考えや指針も大歓迎です。

ありがとう

4

1 に答える 1