naokiueda / EllapsoidToElevation

CSV内の楕円体高の列を標高に差し替えて出力します

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EllapsoidToElevation

CSV内の楕円体高の列を標高に差し替えて出力します

緯度、経度、楕円体高を含むCSVファイルを読込んで、楕円体高を標高に差し替えて別名で出力するPythonプログラムです。

利用方法

EllapsoidToElevation.py [入力ファイル] [出力ファイル]

標高の計算は次の式を用います。

標高 = 楕円体高 - ジオイド高

ジオイド高のデータは、国土地理院が https://www.gsi.go.jp/buturisokuchi/grageo_geoidseika.html にて配布しているジオイドモデルGSIGEO2011 のデータを利用します。利用にあたっては、あらかじめ国土地理院のサイト https://fgd.gsi.go.jp/download/geoid.php から、ジオイドデータを各自ダウンロードしてご利用ください(要ログイン)。

ジオイド計算の部分は上記ジオイドデータとともに配布されている「asc取扱説明書.pdf」に掲載されている「ジオイド高内挿計算」の数式を利用し、Pythomで記述しています。

最初に実行したときは国土地理院のジオイドデータファイル「gsigeo2011_ver2_1.asc」を読込んで、データモジュールを作りますので、本Pythonファイルと同じディレクトリに「gsigeo2011_ver2_1.asc」を配置してください。次回以降はデータファイルを用いず、データモジュールから読込を行います。これにより若干処理速度が向上します。なお、このリポジトリには参考として、予め「gsigeo2011_ver2_1.asc」より作成したデータモジュール「geoidData.py」を置いています。

処理対象のCSVはAgisoftMetashapeのエクスポートファイルを想定しています。 ・1行目か2行目がヘッダ。"latitude","longitude","altitude" の3つの文言があればヘッダと認識します。 ・"lat","long"(または"lon"または"lng"),"alt" の3つの文言でも構いません。 ・へッダから区切り文字列を推測するようになっています。 ・ヘッダ文字列から緯度、経度、高度のカラムを特定するようになっています

本プログラムは日本国内でのみ利用できるので、メッセージ等は日本語にしています。

【注意】 国土地理院のデータから近傍のジオイド値が取れない場合は、無効値として999が返ります。 その場合、該当するデータの標高値を999999に置換し、エラーメッセージを表示します。

以上

About

CSV内の楕円体高の列を標高に差し替えて出力します

License:MIT License


Languages

Language:Python 100.0%