4 pontos por GN⁺ 2023-08-24 | 1 comentários | Compartilhar no WhatsApp
  • Prettymapp é um web app e pacote Python para criar mapas com dados do OpenStreetMap, com suporte à geração de mapas tanto em apps Streamlit quanto em código Python
  • É um projeto que reescreve o prettymaps, com foco em configurações adaptadas à interface do web app e em velocidade
  • Optou por reduzir opções de configuração mais complexas em favor de melhorias de velocidade, menor complexidade de código e uma interface de configuração simplificada; é parcialmente testado e adiciona um componente de web app do Streamlit
  • O web app pode ser usado diretamente em prettymapp.streamlit.app e, localmente, pode ser executado com uv run streamlit run streamlit-prettymapp/app.py após uv sync --extra streamlit
  • O pacote Python é instalado com pip install prettymapp e usa get_aoi, get_osm_geometries, Plot e STYLES para definir áreas, baixar dados OSM, renderizar mapas e salvar imagens
  • Os estilos padrão são Peach, Auburn, Citrus e Flannel; é possível ajustar estilo e layout com draw_settings e argumentos de Plot, como shape e contour_width
  • Com get_osm_geometries_from_xml, é possível plotar arquivos OSM XML exportados de sites como openstreetmap.org, e a configuração LANDCOVER_CLASSES altera a seleção das classes de landcover do OSM a serem exibidas

1 comentários

 
GN⁺ 2023-08-24
Opiniões no Hacker News
  • Para quem quer customizar mapas do OSM, um plugin do Figma que importa dados do OSM é útil: https://www.figma.com/community/plugin/1251030017228239072/V...
  • Já que o app de exemplo entrou em estado de negação de serviço, eu mesmo fiz deploy no Streamlit, que nunca tinha usado antes. O processo de deploy não estava documentado no projeto, mas foi muito fácil só com a documentação de nível superior
    Dá para testar aqui: https://wfcmzortl5n8cqhdowr6dm.streamlit.app/
    • Para rodar localmente, fiz assim
      pip install -r requirements.txt
      pip install -r requirements-dev.txt
      pip install -r streamlit-prettymapp/requirements.txt
      streamlit run streamlit-prettymapp/app.py
      O comando streamlit é instalado pelo terceiro requirements.txt. O mapa de Macau aparece corretamente, mas fica travado em Creating map... (may take up to a minute), então fiquei me perguntando se a chave da API do OSM não estava funcionando
      Atualização: parece que ele simplesmente fica muito lento em áreas com muitos elementos do OSM. Na prática, fica travado na etapa de conversão do OSM em objetos geométricos, tentando converter 400 mil objetos
      Atualização 2: https://github.com/chrieke/prettymapp/issues/26
    • Não aguentou por muito tempo
    • Este aqui também morreu por pico de tráfego ;)
  • Realmente excelente. Fico curioso se há documentação da API. Seria bom poder centralizar o mapa em uma localização GPS em vez de no nome de uma cidade/vila
    Quando uso o nome da minha cidade, ele usa o centro como padrão razoável, mas meu bairro fica bem longe dali e não aparece no mapa a menos que eu diminua bastante o zoom
  • Já foi discutido várias vezes antes: https://hn.algolia.com/?q=Prettymap
    • Segundo o README, o Prettymapp se baseia em uma reescrita do excelente projeto prettymaps de @marceloprates
  • Alguém sabe claramente sob qual licença ele é distribuído? O original era AGPL, mas seria bem interessante se a versão reescrita tivesse uma licença mais permissiva
    • Parece ser MIT: https://github.com/chrieke/prettymapp/blob/main/setup.py#L15...
    • O original é AGPL e a nova versão é MIT; fico me perguntando se isso é legalmente possível
      Não tenho certeza se isso é realmente uma reescrita ou apenas uma adaptação. Talvez não seja possível trocar a licença, então é preciso ter cuidado
    • Por que isso seria algo bem interessante?
  • Parece um gerador de lojas da Etsy
  • App interessante. Eu também gostava muito de customizar mapas no Ortelius antes de ele desaparecer, e o Felt, da felt.com, também era bom
  • A MapTiler tem um serviço SaaS decente. Usamos os mapas vetoriais deles com MapLibre
    É uma boa empresa tentando construir um negócio com ferramentas e mapas decentes nessa área, e também contribui bastante para o open source. Várias ferramentas são open source, então também é possível fazer self-hosting. O site também tem bons exemplos de mapas temáticos
  • É divertido ver um conceito que as pessoas queriam acabar sendo implementado de outra forma
    Esperávamos que a programação funcional mainstream fosse OCaml/Haskell, mas, na prática, virou o React, uma biblioteca JavaScript com características funcionais; e eu esperava que GUIs em modo imediato viessem como imgui, mas parece que chegaram em formatos como Gradio/Streamlit. Nunca usei diretamente, mas, olhando por cima, essa é a impressão
  • O HN matou o app!