4 puntos por GN⁺ 2023-08-24 | 1 comentarios | Compartir por WhatsApp
  • Prettymapp es una webapp y un paquete de Python para crear mapas con datos de OpenStreetMap, con soporte para generar mapas tanto desde una app de Streamlit como desde código Python
  • Es un proyecto que reescribe prettymaps, con foco en configuraciones adaptadas a una interfaz de webapp y en la velocidad
  • Opta por reducir las opciones de configuración más complejas y prioriza mejoras de velocidad, menor complejidad del código y una interfaz de configuración simplificada; está parcialmente probado y agrega un componente de webapp de Streamlit
  • La webapp se puede usar directamente en prettymapp.streamlit.app, y en local se ejecuta con uv run streamlit run streamlit-prettymapp/app.py después de uv sync --extra streamlit
  • El paquete de Python se instala con pip install prettymapp, y permite definir áreas, descargar datos OSM, renderizar mapas y guardar imágenes usando get_aoi, get_osm_geometries, Plot y STYLES
  • Los estilos predeterminados son Peach, Auburn, Citrus y Flannel; el estilo y el layout se ajustan con draw_settings y argumentos de Plot como shape y contour_width
  • Con get_osm_geometries_from_xml se pueden graficar archivos OSM XML exportados desde openstreetmap.org, entre otros, y con la configuración LANDCOVER_CLASSES se cambia la selección de clases de landcover de OSM que se muestran

1 comentarios

 
GN⁺ 2023-08-24
Opiniones en Hacker News
  • Para quienes quieran personalizar mapas de OSM, puede ser útil un plugin de Figma que importa datos de OSM: https://www.figma.com/community/plugin/1251030017228239072/V...
  • Ya que la app de ejemplo quedó en estado de denegación de servicio, la desplegué yo mismo en Streamlit, que nunca había usado. El proyecto no tenía documentado el proceso de despliegue, pero con la documentación principal fue muy fácil
    Pueden probarla aquí: https://wfcmzortl5n8cqhdowr6dm.streamlit.app/
    • Para ejecutarla localmente hice lo siguiente
      pip install -r requirements.txt
      pip install -r requirements-dev.txt
      pip install -r streamlit-prettymapp/requirements.txt
      streamlit run streamlit-prettymapp/app.py
      El comando streamlit lo instala el tercer requirements.txt. El mapa de Macao se muestra bien, pero se queda trabado en Creating map... (may take up to a minute), así que me pregunté si la clave de la API de OSM no estaba funcionando
      Actualización: parece que simplemente es muy lento en zonas con muchos elementos de OSM. En realidad se queda trabado en la etapa de convertir OSM a objetos geométricos, intentando convertir 400 mil objetos
      Actualización 2: https://github.com/chrieke/prettymapp/issues/26
    • No aguantó mucho
    • Este también murió por exceso de tráfico ;)
  • Es realmente excelente. Me pregunto si hay documentación de la API. Sería bueno poder centrar el mapa en una ubicación GPS en vez de en el nombre de una ciudad/pueblo
    Si uso el nombre de mi ciudad, toma el centro urbano como valor predeterminado razonable, pero mi barrio está bastante lejos de ahí, así que no aparece en el mapa a menos que haga mucho zoom out
  • Ya se trató varias veces antes: https://hn.algolia.com/?q=Prettymap
    • Según el README, Prettymapp se basa en una reescritura del excelente proyecto prettymaps de @marceloprates
  • ¿Alguien sabe con claridad bajo qué licencia se distribuye? El original era AGPL, pero si la versión reescrita tiene una licencia más permisiva, sería bastante bueno
    • Parece MIT: https://github.com/chrieke/prettymapp/blob/main/setup.py#L15...
    • El original es AGPL y la nueva versión es MIT; me pregunto si eso es legalmente posible
      No estoy seguro de si esto es realmente una reescritura o solo una adaptación. Hay que tener cuidado, porque quizá no puedan cambiar la licencia
    • ¿Por qué sería algo bastante bueno?
  • Parece un generador de tiendas de Etsy
  • Es una app interesante. Antes de que desapareciera, también disfrutaba mucho personalizando mapas en Ortelius, y Felt de felt.com también me gustaba
  • MapTiler tiene un buen servicio SaaS. Nosotros usamos sus mapas vectoriales junto con MapLibre
    Es una buena compañía que intenta construir un negocio con buenas herramientas y mapas en este rubro, y además contribuye mucho al open source. Varias de sus herramientas son open source, así que también se pueden alojar por cuenta propia. En su sitio web también hay buenos ejemplos de mapas temáticos
  • Es interesante ver cómo algunos conceptos que la gente esperaba terminan implementándose de otra forma
    Uno esperaba que la programación funcional mainstream fuera OCaml/Haskell, pero en la práctica terminó siendo React, una biblioteca de JavaScript con rasgos funcionales; y para las GUI de modo inmediato uno esperaba imgui, pero parece que llegó en forma de cosas como Gradio/Streamlit. No las he usado directamente, pero a grandes rasgos me da esa impresión
  • ¡HN mató la app!