ALOSでGlobalなGlobalなDigital Elevation ModelをGetできるようになれば、ほかのGeospacial DataについてもTryしたくなり、またまたになりますが、GlobalなRiverについてTry to Evaluateしました。
Of course, Janpan GovermentのNational Numerical Land Information(国土数値情報)のRiver Informationでは対応できないことから、 約3年前にHelsinki Univ.がOfferしているGEO-PYTHON 2021というEducational SessionでOpenStreetMap(OSM)をUseした記憶を思い起こし、OSMにRiverDataがStoreされているかどうかを、MasterGeminiにAskしてみました。
>>MasterGeminiのAnswer<<
OpenStreetMap (OSM) の川の位置情報データは、ノード、ウェイ、リレーションという3つの主要な要素で構成される地理空間データです。
データの構成要素
ノード (Nodes)
OSMの最小単位で、単一の点を表します。
緯度・経度座標を持ち、川の特定の点、例えば水源や合流点、湾曲点などを表現するのに使われます。
ウェイ (Ways)
ノードを順番に結んで作られる線を表します。
川の経路や流路を表現するために使われます。川のデータでは、複数のノードが連続して繋がったウェイとして定義されます。
リレーション (Relations)
ノード、ウェイ、他のリレーションといった複数の要素をまとめて、より複雑な関係性を定義します。
川のデータでは、複数のウェイが繋がって一本の長い川を構成する場合や、流域全体、水系などを表現するのに使われます。
主なタグ付け
OSMでは、これらの要素にタグと呼ばれるキーと値のペアを付けて、その性質を記述します。川に関する主なタグは以下の通りです。
waterway=river
: 主要な川の流路を表します。waterway=stream
: 小さな流れや小川を表します。waterway=canal
: 人工的な運河を表します。name=*
: 川の名前(例:name=淀川
)width=*
: 川の幅intermittent=yes
: 季節によって水量が変動したり、枯れたりする川を表します。
これらのデータは、OSMのデータベースに格納されており、専用のツールやAPIを通じて取得、利用することができます。
--End--
主な特徴
コミュニティ主導のプロジェクト: 世界中のボランティア(マッパー)が、GPS機器、空中写真、現地調査などを通じて得た情報を基に地図を作成・更新しています。新しい道路や建物ができた際も、ユーザーがリアルタイムに情報を反映させることができます。
オープンデータ: 地図データ自体がオープンライセンス(ODbL)で提供されており、個人利用だけでなく、商業利用も含めて誰でも無料で利用できます。商用地図サービスとは異なり、利用料金や制限がほとんどありません。
詳細で多岐にわたる情報: 道路、建物、鉄道、河川といった基本的な地理情報だけでなく、ベンチ、ゴミ箱、郵便ポスト、バリアフリー情報など、細かな情報までタグ付けされています。これにより、特定の用途に特化した地図を作成することが可能です。
データの自由なカスタマイズ: OSMは単なる地図画像ではなく、地理空間データそのものです。このデータは様々な形式でダウンロード可能であり、開発者や研究者が独自のアプリケーションやサービスを構築する際に、自由に加工・利用することができます。
利用方法
OpenStreetMapのデータや地図は、様々な方法で利用されています。
地図として閲覧する: 公式ウェブサイトや、OSMデータを利用している様々なアプリケーションで、地図を閲覧することができます。
データとして利用する: OSMのデータは、ノード、ウェイ、リレーションという3つの要素で構成されており、これらをダウンロードして、GISソフトウェアやプログラミングで分析・可視化することができます。
編集に参加する: アカウントを作成すれば、誰でも地図の編集に参加できます。身の回りの情報を追加したり、既存の情報を修正したりすることで、地図の精度向上に貢献できます。
ライセンスについて
OpenStreetMapの地理データは、Open Database License (ODbL)というライセンスで提供されています。これにより、データの利用、複製、配布、改変が許可されています。ただし、利用する際には、OpenStreetMapへのクレジット表示(© OpenStreetMap contributors)が必要です。
OpenStreetMapは、多様なアプリケーションやサービスの基盤として、ナビゲーション、災害時の情報共有、学術研究など、幅広い分野で活用されています。
The output is below.
The result showed by Follium, is include Yoshinogawa River and others with Kotou River. I could allow this plot. I awared what the code include extend() function. It is defferent from append() function.
append()
と extend()
はどちらもリストに要素を追加するメソッドですが、その挙動に大きな違いがあります。
append()
: 単一の要素を追加する
append()
は、引数として渡されたオブジェクトを単一の要素として、リストの末尾に追加します。引数がリストであっても、そのリスト全体が1つの要素として追加されます。
my_list = [1, 2, 3]
new_items = [4, 5]
my_list.append(new_items)
print(my_list)
# 出力: [1, 2, 3, [4, 5]]
extend()
: 複数の要素を追加する
extend()
は、引数として渡されたイテラブル(リストやタプルなど)の各要素を個別に、リストの末尾に追加します。
my_list = [1, 2, 3]
new_items = [4, 5]
my_list.extend(new_items)
print(my_list)
# 出力: [1, 2, 3, 4, 5]
まとめ
append()
: リストの中に別のリストを入れたい場合。extend()
: リストの要素を増やしたい場合。
この違いを理解しておくと、リスト操作を行う際に意図しない結果になることを防ぐことができます。
OpenStreetMapのRiverNodeDataをDownloadするCaseでは、DesignateしたAreaをPassOnするRiverのInformationがGetできるようなFillingでございますね。この点も頭の片隅に置きながら、これをExpandして、四国全体のRiveNodeをGetしたうえで、FoliumMap上にDotで表示するCodeを最後にCreatしておきます。
コメント
コメントを投稿