Pydeck ScatterplotLayer в картах Streamlit. Для всех точек установлено значение (0,0) даже с действительными координатамPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pydeck ScatterplotLayer в картах Streamlit. Для всех точек установлено значение (0,0) даже с действительными координатам

Сообщение Anonymous »

ОписаниеЯ работаю со слоем Pydeck ScatterplotLayer в Streamlit для отображения географических точек на карте. Однако все точки отображаются по координатам (0, 0) (широта 0, долгота 0), хотя мои данные содержат действительные значения широты и долготы.
Вот краткое описание моя настройка:
  • Я загружаю набор данных из файла .tsv, который содержит названия учреждений, годы основания и географические координаты (широта и долгота).
  • Я проверил, что столбцы широты и долготы являются числовыми (float64) и содержат допустимые значения (нет NaN или отсутствующие данные).
  • Несмотря на это при этом при рендеринге карты все точки отображаются в месте по умолчанию (0, 0).
  • Гарантируется, что имена столбцов точно совпадают.
    < li>Пробовал несколько способов установки «get_position» в pdk.Layer()

Код:
from pprint import pprint

import numpy as np

import streamlit as st
import pandas as pd
import pydeck as pdk

# Load the dataset
file_path = 'maps/data/processed/locations.proc.tsv'
data = pd.read_csv(file_path, sep='\t')

# Only select necessary columns and ensure they are Arrow-compatible
valid_data = data.dropna(subset=['Multi-site institution - Latitude', 'Multi-site institution - Longitude'])
valid_data['Institution Name'] = valid_data['Institution Name'].astype(str)
valid_data['Multi-site institution - Latitude'] = pd.to_numeric(valid_data['Multi-site institution - Latitude'], errors='coerce')
valid_data['Multi-site institution - Longitude'] = pd.to_numeric(valid_data['Multi-site institution - Longitude'], errors='coerce')

# Prepare the cleaned data for Pydeck
map_data = valid_data[['Institution Name', 'Multi-site institution - Latitude', 'Multi-site institution - Longitude']].dropna()

# Convert DataFrame to list of dicts for pydeck
map_data.loc[:,"coordinates"]= map_data['Multi-site institution - Latitude'].astype(str) +","+ map_data['Multi-site institution - Longitude'].astype(str)

# Create pydeck Deck object
view_state = pdk.ViewState(
latitude=map_data['Multi-site institution - Latitude'].mean(),
longitude=map_data['Multi-site institution - Longitude'].mean(),
zoom=5,
pitch=40
)

st.write(map_data)

# Render the map with pydeck
layer=pdk.Layer(
'ScatterplotLayer',
data=map_data,
# get_position="[Multi-site institution - Latitude, Multi-site institution - Longitude]",
get_position=[map_data.columns[-2],map_data.columns[-3]],
get_radius=5000,
get_fill_color=[255, 0, 0], # Red points for visibility
pickable=True,
auto_highlight=True
)
r = pdk.Deck(
layers=[
layer
],
initial_view_state=view_state,
tooltip={
"html": "{Institution Name}
",
"style": {"backgroundColor": "steelblue", "color": "white"}
}
)
r.to_html("smth.html")
st.pydeck_chart(r)

Проблема:
  • Несмотря на все мои попытки, все точки отображаются в координатах (0, 0).
    Проблема:

    Несмотря на все мои попытки, все точки отображаются в координатах (0, 0).
    Проблема:

    Несмотря на все мои попытки, все точки отображаются в координатах (0, 0).
    Проблема:

    Несмотря на все мои попытки, все точки отображаются в координатах (0, 0).
    Проблема:

    Несмотря на все мои попытки, все точки отображаются в координатах (0, 0).
    Проблема:

    Несмотря на все мои попытки, все точки отображаются в координатах (0, 0).
    li>
Кто-нибудь сталкивался с подобной проблемой, когда pydeck обнулял все координаты? Любые советы или шаги по устранению неполадок будут оценены по достоинству. Я собираюсь застрелиться дверной ручкой...
Данные (tsv):
Foundation year Institution Name Institutional website Multi-site institution - City Multi-site institution - Latitude Multi-site institution - Longitude
1457 Albert-Ludwigs-Universität Freiburg http://www.uni-freiburg.de/ Freiburg im Breisgau 47.993544 7.84595
1386 Ruprecht-Karls-Universität Heidelberg http://www.uni-heidelberg.de/ Heidelberg 49.411282 8.706172
1818 Universität Hohenheim http://www.uni-hohenheim.de Stuttgart 48.711712 9.211786


Подробнее здесь: https://stackoverflow.com/questions/791 ... -even-with
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Не видеть высоту карты с помощью Pydeck
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Не видеть высоту карты с помощью Pydeck
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как создать маску по координатам точек?
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как создать маску по координатам точек?
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • FileNotFoundError «streamlit-card» при запуске приложения Streamlit
    Anonymous » » в форуме Python
    0 Ответы
    77 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»