4 ポイント 投稿者 GN⁺ 2023-08-24 | 1件のコメント | WhatsAppで共有
  • Prettymapp は、OpenStreetMapデータで地図を作成するウェブアプリ兼Pythonパッケージで、StreamlitアプリとPythonコードの両方で地図生成をサポート
  • prettymaps を書き直したプロジェクトで、ウェブアプリ向けの設定と速度に重点を置いている
  • より複雑な設定オプションを減らし、速度改善、コードの複雑さの低減、簡素化された設定インターフェースを採用し、部分的にテストを行い、Streamlit のウェブアプリコンポーネントを追加
  • ウェブアプリは prettymapp.streamlit.app ですぐに使え、ローカルでは uv sync --extra streamlit の後に uv run streamlit run streamlit-prettymapp/app.py で実行
  • Pythonパッケージは pip install prettymapp でインストールし、get_aoi, get_osm_geometries, Plot, STYLES を使って領域定義、OSMデータのダウンロード、地図レンダリング、画像保存を行う
  • デフォルトスタイルは Peach, Auburn, Citrus, Flannel の4種類で、draw_settingsPlot 引数の shape, contour_width などでスタイルとレイアウトを調整
  • get_osm_geometries_from_xml により openstreetmap.org などからエクスポートした OSM XML ファイルをプロットでき、LANDCOVER_CLASSES 設定で表示するOSM landcoverクラスの選択を変更可能

1件のコメント

 
GN⁺ 2023-08-24
Hacker News のコメント
  • OSM の地図をカスタマイズしたい人には、OSM データを取り込む Figma プラグインが便利: https://www.figma.com/community/plugin/1251030017228239072/V...
  • サンプルアプリがサービス拒否状態になっていたついでに、これまで使ったことのなかった Streamlit に自分でデプロイしてみた。プロジェクトにはデプロイ手順が文書化されていなかったが、上位のドキュメントだけでとても簡単だった
    自分で試せる: https://wfcmzortl5n8cqhdowr6dm.streamlit.app/
    • ローカルで実行するときは次のようにした
      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 コマンドは3つ目の requirements.txt がインストールしてくれる。マカオの地図はちゃんと表示されるが、Creating map... (may take up to a minute) で止まるので、OSM API キーが効いていないのか気になった
      追記: OSM 要素がかなり多い地域では、単に非常に遅いだけのようだ。実際には OSM を幾何オブジェクトに変換する段階で、40万個のオブジェクトを変換しようとして止まっている
      追記 2: https://github.com/chrieke/prettymapp/issues/26
    • あまり長くは持たなかったね
    • ここもトラフィック殺到で落ちたね ;)
  • 本当に素晴らしい。API ドキュメントがあるのか気になる。都市や町の名前ではなく、GPS 位置を中心にして地図を合わせられるといい
    自分の都市名を使うと妥当なデフォルトとして中心街が使われるが、うちの近所はそこからかなり遠いので、かなり縮小しないと地図に出てこない
  • 以前にも何度も取り上げられている: https://hn.algolia.com/?q=Prettymap
    • README によると、Prettymapp は @marceloprates の素晴らしい prettymaps プロジェクトを書き直したものに基づいている
  • どのライセンスで配布されているのか、はっきり知っている人はいる? 元のものは AGPL だったが、書き直したバージョンがより許容的なライセンスならかなり良さそう
    • MIT のように見える: https://github.com/chrieke/prettymapp/blob/main/setup.py#L15...
    • 元は AGPL で新バージョンは MIT だが、これが法的に可能なのか気になる
      これが本当に書き直しなのか、単なる翻案なのか確信が持てない。ライセンスを変更できない可能性もあるので注意が必要
    • それがなぜかなり良いことなの?
  • Etsy ショップ生成ツールみたい
  • 興味深いアプリだ。以前、なくなる前の Ortelius で地図をカスタマイズするのも本当に楽しかったし、felt.com の Felt もよかった
  • MapTiler には良い SaaS サービスがある。私たちは MapLibre と一緒に同社のベクター地図を使っている
    この分野で良いツールと地図を使って事業を築こうとしている良い会社で、オープンソースにも大きく貢献している。複数のツールがオープンソースなので自分でホストすることも可能。Web サイトにはテーマ別地図の例もなかなか良いものがある
  • 人々が望んでいたある概念が別の形で実現されるのを見るのは面白い
    主流の関数型プログラミングは OCaml/Haskell になると期待していたが、実際には関数型の性格を持つ JavaScript ライブラリである React になった。即時モード GUI は imgui を期待していたが、Gradio/Streamlit のような形で来た感じがする。自分で使ったことはないが、ざっと見るとそう感じる
  • HN がアプリを落としたね!