4 puan yazan GN⁺ 2023-08-24 | 1 yorum | WhatsApp'ta paylaş
  • Prettymapp, OpenStreetMap verileriyle harita oluşturan bir web uygulaması ve Python paketidir; hem Streamlit uygulamasında hem de Python kodu içinde harita üretimini destekler
  • prettymaps yeniden yazılarak oluşturulan bir projedir ve web uygulaması arayüzüne uygun yapılandırma ile hıza odaklanır
  • Daha karmaşık yapılandırma seçeneklerini azaltmayı seçer; hız iyileştirmeleri, daha düşük kod karmaşıklığı ve basitleştirilmiş bir yapılandırma arayüzü sunar; ayrıca kısmen test edilmiştir ve Streamlit web uygulaması bileşeni eklenmiştir
  • Web uygulaması doğrudan prettymapp.streamlit.app adresinde kullanılabilir; yerelde ise uv sync --extra streamlit sonrasında uv run streamlit run streamlit-prettymapp/app.py ile çalıştırılır
  • Python paketi pip install prettymapp ile kurulur ve get_aoi, get_osm_geometries, Plot, STYLES kullanılarak alan tanımlama, OSM verisi indirme, harita render etme ve görsel kaydetme işlemleri yapılır
  • Varsayılan stiller Peach, Auburn, Citrus, Flannel olmak üzere 4 adettir; draw_settings ve Plot argümanlarındaki shape, contour_width gibi seçeneklerle stil ve yerleşim ayarlanır
  • get_osm_geometries_from_xml ile openstreetmap.org gibi kaynaklardan dışa aktarılan OSM XML dosyaları görselleştirilebilir ve LANDCOVER_CLASSES ayarıyla gösterilecek OSM landcover sınıfları seçilebilir

1 yorum

 
GN⁺ 2023-08-24
Hacker News yorumları
  • OSM haritalarını özelleştirmek isteyenler için OSM verilerini içe aktaran Figma eklentisi işe yarıyor: https://www.figma.com/community/plugin/1251030017228239072/V...
  • Örnek uygulama hizmet veremez hale gelmişken, daha önce hiç kullanmadığım Streamlit üzerine kendim dağıtmayı denedim; projede dağıtım süreci belgelenmemişti ama üst seviye dokümantasyonla bile çok kolaydı
    Kendiniz deneyebilirsiniz: https://wfcmzortl5n8cqhdowr6dm.streamlit.app/
    • Yerelde çalıştırırken şöyle yaptım
      pip install -r requirements.txt
      pip install -r requirements-dev.txt
      pip install -r streamlit-prettymapp/requirements.txt
      streamlit run streamlit-prettymapp/app.py
      streamlit komutunu üçüncü requirements.txt kuruyor. Macau haritası düzgün çıkıyor ama Creating map... (may take up to a minute) aşamasında takılıyor; OSM API anahtarı mı çalışmıyor diye merak ettim
      Düzeltme: OSM öğesi oldukça fazla olan bölgelerde sadece çok yavaş görünüyor. Aslında OSM'yi geometrik nesnelere dönüştürme aşamasında 400 bin nesneyi dönüştürmeye çalışırken takılı kalıyor
      Düzeltme 2: https://github.com/chrieke/prettymapp/issues/26
    • Pek uzun dayanamadı
    • Burası da trafik patlaması yüzünden çökmüş ;)
  • Gerçekten harika. API dokümantasyonu var mı merak ediyorum. Haritayı şehir/kasaba adı yerine GPS konumuna göre ortalayabilmek güzel olurdu
    Şehrimin adını yazınca makul varsayılan olarak şehir merkezini kullanıyor; ama mahallem oradan epey uzakta olduğu için çok fazla uzaklaştırmadıkça haritada görünmüyor
  • Daha önce de birkaç kez ele alınmış: https://hn.algolia.com/?q=Prettymap
    • README'ye göre Prettymapp, @marceloprates'in harika prettymaps projesinin yeniden yazılmış haline dayanıyor
  • Hangi lisansla dağıtıldığını net bilen var mı? Orijinali AGPL idi; yeniden yazılmış sürüm daha izin verici bir lisansa sahipse epey iyi olurdu
    • MIT gibi görünüyor: https://github.com/chrieke/prettymapp/blob/main/setup.py#L15...
    • Orijinal AGPL, yeni sürüm MIT; bunun hukuken mümkün olup olmadığını merak ediyorum
      Bunun gerçekten yeniden yazım mı, yoksa basit bir uyarlama mı olduğundan emin değilim. Lisansı değiştiremeyebilirler, dikkatli olmak gerekir
    • Bu neden epey iyi bir şey olsun ki?
  • Etsy mağazası oluşturucu gibi
  • İlginç bir uygulama. Eskiden kapanmadan önce Ortelius'ta harita özelleştirmeyi de gerçekten seviyordum; felt.com'daki Felt de güzeldi
  • MapTiler'ın iyi bir SaaS hizmeti var. Biz MapLibre ile birlikte onların vektör haritalarını kullanıyoruz
    Bu alanda iyi araçlar ve haritalarla iş kurmaya çalışan iyi bir şirket; açık kaynağa da büyük katkı yapıyor. Araçlarının birkaçı açık kaynak olduğu için kendiniz barındırmanız da mümkün. Web sitesinde temalı harita örnekleri de gayet iyi
  • İnsanların istediği bir kavramın başka bir biçimde hayata geçtiğini görmek ilginç
    Ana akım fonksiyonel programlamanın OCaml/Haskell olmasını bekliyorduk ama gerçekte fonksiyonel özelliklere sahip bir JavaScript kütüphanesi olan React oldu; anlık mod GUI için de imgui beklerken Gradio/Streamlit gibi bir biçimde gelmiş gibi. Kendim kullanmadım ama kabaca bakınca böyle hissettiriyor
  • HN uygulamayı öldürmüş!