GeoDiveExaの精度や動作確認をするために基準点を計測する場合が有ります。事前に基準点をターゲットとしておくと計測作業がやり易くなります。
1)基準点サービスから基準点をkmlファイルとしてダウンロードする方法
RTK-GNSS受信機の精度調査や計測時のキャリブレーションとして正確な位置がわかっている基準点を利用する場合があると思います。
その場合、国土地理院の基準点成果等閲覧サービスサイトから基準点情報をCSVファイルで取得すると便利です。PC版基準点検索入り口をクリックすると以下の様な画面が表示されます。

使い方は簡単です。基準点が欲しいい地域に移動・拡大・縮小して基準点を取得したい地域を表示します。取得したい基準点にチェックして「検索」ボタンを押すと、基準点位置にアイコンが表示されます。

「検索結果をリスト表示」をクリックすると検索結果がリスト表示されます。

「KMLファイル出力」をクリックすると最初ならログイン画面が表示されます。

地理院のIDとパスワードを入れてログインしてください。
無い場合は「新規登録」を押して、IDとパスワードを登録してください。
ログインすると利用目的選択画面が出ますので、利用目的に応じた項目を登録してください。

再度「KMLファイル出力」をクリックすると検索した基準点のkmlファイルがダウンロードフォルダーにダウンロードされます(=例では20240714_173532_Public.kmlになりました)。
20240714_173532_Public.kmlファイルをGoogleEarthで表示すると次の様になりました。

2)ダウンロードした基準点kmlをターゲットファイルに変換する方法
以前はcsvファイルとしてダウンロード出来て居たのですが、24/7/14現在はkmlファイルのみになって居ました。kmlファイルの緯度経度部分を抽出して作成する事になります…が、面倒なので簡単なpythonプログラムを作成します。
2-1)kmlファイルからtarget.csvを作成するpythonプログラム
pykmlを使用しますのでpipなどで事前にインストールしてください。
<kml2target.py ソース>
# coding: utf_8
import sys
from pykml import parser
# ----------------------------------------------------------
# 国土地理院の「基準点成果サービス」で取得したkmlファイルを読み込み
# 緯度経度と基準点名をリストを取得する「
#----------------------------------------------------------
# kmlファイルを読み込み、target.csv用のデータを抽出する
def kmlread(kmlFilePath):
f = open(kmlFilePath)
# folder = parser.parse(f).getroot().Document.Folder
doc = parser.parse(f).getroot().Document
#
csvList = list()
no = 0
for pm in doc.Placemark:
no += 1
#
cod = pm.Point.coordinates
xy = cod.text.split(',')
dat = f"{no},{pm.name},{xy[1]},{xy[0]},"
csvList.append(dat)
#
return csvList
# ----------------------------------------------------------
# 緯度経度と基準点名リストからGeoDiveExaで使用するtarget.csvを作成する
# ----------------------------------------------------------
# target.csv用のデータからcsvファイルを作成する
def markTargetCsv(csvFilePath,csvList):
csvF = open(csvFilePath,'w')
csvF.write("no,name,lat,lon,etc\n")
for dat in csvList:
csvF.write(f"{dat}\n")
#
csvF.close()
# ----------------------------------------------------------
# 起動方法: > python kml2target.py <kmlファイルパス> <csvファイルパス>
# 注意:引数が無い場合、デフォルトを使用して実行します。
# デフォルト: kml = target.kml csv= target.csv
# ----------------------------------------------------------
if __name__ == '__main__':
# 入力kmlパス設定
if len(sys.argv) > 1:
kmlFilePath = sys.argv[1]
else:
kmlFilePath = "target.kml"
#
if len(sys.argv) > 2:
csvFilePath = sys.argv[2]
else:
csvFilePath = "target.csv"
#
print(f"kml2csv {kmlFilePath} {csvFilePath} start")
# no,name,lat,lonのリスト作成
csvList = kmlread(kmlFilePath)
# target.csvを作成する
markTargetCsv(csvFilePath,csvList)
print(f"kml2csv end : ターゲット数={len(csvList)}")
2−2)kml2target実行方法
以下の例の様に python kml2target.py <kmlファイルパス> で実行します。正常に終了するとtarget.csvが作成されます。
% python kml2target.py 20240714_173532_Public.kml
kml2csv 20240714_173532_Public.kml target.csv start
kml2csv end : ターゲット数=21
2−3)作成されたtarget.csv例
no,name,lat,lon,etc
1,1017A,33.11716353,131.79264194,
2,1018A,33.11577311,131.78701361,
3,1016A,33.11982167,131.78080553,
4,1014A,33.12041378,131.79616508,
5,1015A,33.12008394,131.80034064,
6,1022A,33.11323800,131.79034514,
7,1023A,33.11217883,131.79814067,
8,1021A,33.11383028,131.80252978,
9,1019A,33.11573050,131.78201331,
10,1020A,33.11409944,131.81054642,
11,1013A,33.12032889,131.80773642,
12,1006A,33.12770828,131.78966294,
13,1007A,33.12730267,131.80994589,
14,1005A,33.12944533,131.80125669,
15,1003A,33.13273572,131.78616981,
16,1004A,33.13031831,131.78274542,
17,1011A,33.12286456,131.78517758,
18,1012A,33.12052569,131.79104242,
19,1010A,33.12377119,131.78067372,
20,1008A,33.12501889,131.79364347,
21,1009A,33.12477981,131.79953981,
3)ターゲットファイルをGeoDiveExaに配置する方法
ブログ記事ターゲットファイル説明とGeoDiveExaに設定する方法を参照してください。
4)GeoDiveExaのターゲット表示例

GeoDiveExaのgpsフォルダーにtarget.csvを配置すると、ターゲットアイコンが表示されます。
5)pythonについて
今回基準点成果等閲覧サービスからダウンロードするファイル形式がkmlになった為、急遽pythonで変換プログラム(=kml2target.py)を作りましたが、pythonは便利なので覚える事は良い事だと思います。
思いつくメリットは….
1。地図関係で仕事するならQGISは無視出来ません。QGISはpythonで機能拡張できますので、pythonが使えればQGISルーチンワークを半自動化できます。
2。昨今のAIブームですが、AI関連開発はpythonが主流です。ChatGPTもpythonから使用できるAPIがあり、自分専用ChatGPTアプリをpythonで作成出来ます。
あとは、MS-Copilotさんに追記お願いします。
Pythonを覚えるメリットはたくさんあります。以下にいくつかのポイントを挙げてみますね:
1. **読みやすさとシンプルさ**: Pythonはコードがシンプルで読みやすいので、初心者でも理解しやすいです。例えば、「Hello, World!」を表示するコードは `print("Hello, World!")` だけです¹。
2. **豊富なライブラリ**: Pythonには多くのライブラリがあり、データ分析、機械学習、ウェブ開発など様々な分野で活用できます。これにより、効率的に開発を進めることができます²。
3. **多用途性**: Pythonはウェブ開発、データサイエンス、人工知能、機械学習、自動化スクリプトなど、幅広い分野で使用されています³。
4. **大規模なコミュニティ**: Pythonのユーザーコミュニティは非常に大きく、質問や問題解決のためのリソースが豊富です⁴。
5. **高い需要**: Pythonは多くの企業で使用されており、特にAIやデータサイエンスの分野での需要が高まっています²。
Pythonを学ぶことで、キャリアの幅が広がるだけでなく、日常的なタスクの自動化などにも役立ちます。興味があれば、ぜひ挑戦してみてください!
¹: [Pythonのメリット・デメリットを簡潔にまとめてみた](https://www.sejuku.net/blog/107708)
²: [Python入門 学習のメリットから将来性までを徹底解説](https://itc.tokyo/python/python-learning-pros-cons/)
³: [Python(パイソン)の特徴と勉強方法を解説](https://studycode.jp/language/python/)
⁴: [Pythonの特徴と習得するメリット](https://datamix.co.jp/media/datascience/python-features-merit/)
QGIS-pythonで良さそうな本をAmazonで検索してみました。
AI-pythonならば山ほどありますのでより取りみどりです。
コメントを残す