簡體   English   中英

如何從 JSON 地圖上的 csv 繪制地址(緯度/經度)。?

[英]How to plot addresses (Lat/Long) from a csv on JSON map.?

所以我正在嘗試做一些看起來相對簡單但事實證明非常困難的事情。 我有一個 .csv 文件,其中包含地址及其對應的緯度/經度,我只想在加利福尼亞 JSON 地圖上繪制它們,就像在 python 中的這個:

https://github.com/deldersveld/topojson/blob/master/countries/us-states/CA-06-california-counties.json

我嘗試過氣泡圖、散點圖等,但不幸的是,我不斷收到各種錯誤:(。這是我所擁有的最接近的,但它使用的是世界地圖,無法像那樣有效地放大json 映射在那里。我還在學習 python,所以請放輕松><

import plotly.express as px
import pandas as pd
df = pd.read_csv(r"C:\Users\FT4\Desktop\FT Imported Data\Calimapdata.csv")
fig = px.scatter_geo(df,lat='Latitude',lon='Longitude', hover_name="lic_type", scope="usa")
fig.update_layout(title = 'World map', title_x=0.5)
fig.show()

如果有人可以幫助我,我將不勝感激。 謝謝

您的示例鏈接只是 GeoJSON 幾何定義。 你說的是合唱團嗎?

如果是這樣,請查看 geopandas - 您應該能夠將您的數據鏈接到您鏈接到的形狀定義中的多邊形,方法是使用 geojson 讀取它,然后使用sjoin加入形狀。 將數據綁定到每個幾何圖形后,您可以使用 geopandas 的.plot方法進行繪圖。 查看用戶指南了解更多信息。

這些方面的東西應該起作用:

import geopandas as gpd, pandas as pd

geojson_raw_url = (
    "https://raw.githubusercontent.com/deldersveld/topojson/"
    "master/countries/us-states/CA-06-california-counties.json"
)

gdf = gpd.read_file(geojson_raw_url, engine="GeoJSON")
df = pd.read_csv(r"C:\Users\FT4\Desktop\FT Imported Data\Calimapdata.csv")

merged = gpd.sjoin(gdf, df, how='right')

# you could plot this directly with geopandas
merged.plot("lic_type")

或者,使用@r-beginners對另一個問題的出色回答,我們可以使用 express 進行繪圖:

fig = px.choropleth(merged, geojson=merged.geometry, locations=merged.index, color="lic_type")
fig.update_geos(fitbounds="locations", visible=False)

fig.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM