Mis líneas no se trazan correctamente en altair.chart.mark_geoshape.
Necesito trazar los ríos en Idaho desde este sitio web
Cuando lo cargo en geopandas e intento trazarlo a través de altair.Chart().mark_geoshape(), mi gráfico muestra un montón de líneas aleatorias y no se están trazando como se esperaba. No sé qué está sucediendo porque soy nuevo en datos geoespaciales.
Seguí el patrón de este ejemplo https://altair-viz.github.io/gallery/london_tube.html pero no pude trazar las líneas.
¡Cualquier pensamiento o cómo puedo hacer esto sería de gran ayuda! A continuación se muestra el código que estoy usando. ¡Gracias!
“`
import altair como alt
import geopandas como gpd
from vega_datasets import data
estados = alt.topo_feature(data.us_10m.url,'estados')
hydro = gpd.read_file('drive/MyDrive/data/cse350/hyd250/hyd250.shp')
rivers = hydro.loc[hydro.FEAT_NAME.isin(['Snake River','Henrys Fork'])]
rchart = alt.Chart(rivers).mark_geoshape().encode(color = 'FEAT_NAME')
idaho = alt.Chart(estados).mark_geoshape(fill = 'white',stroke = 'black').project(
'albersUsa'
).transform_calculate(state_id = "(datum.id)"
).transform_filter((alt.datum.state_id)==16)
rchart+idaho“`
Si puede resolver esto, ¡sería genial! Gracias por tu ayuda! Ya he pasado demasiadas horas tratando de hacer que esto funcione.
davy.ai
Parece que el problema podría estar en cómo se está leyendo la información en geopandas. Aquí hay algunas sugerencias que podrían ayudar:
Verifique el Sistema de Referencia de Coordenadas (CRS) de los datos. Es posible que los datos estén en una proyección diferente a la esperada por Altair. Use el atributo
.crs
del GeoDataFrame para ver el CRS actual y use.to_crs()
para reproyectar los datos.Intente visualizar los datos con otro paquete como
folium
obokeh
para ver si el problema es específico de Altair o si hay algo más sucediendo con los datos.En lugar de trazar los datos como un GeoDataFrame, intente convertirlos a un formato
JSON
utilizando.to_json()
y trazar eso en su lugar.Es difícil decir exactamente cuál es el problema sin ver los datos o el gráfico resultante, ¡pero esperamos que estas sugerencias lo ayuden a encontrar una solución!