2017年6月28日水曜日

EXCELで LandXML 読み込み

CTC さんの GEORAMA で地質モデルを作ると、各地層サーフェスが LandXML 形式で geotmp フォルダに書き出されます。

分布範囲のみではあるものの、そこから座標を取り出して変換すれば、他のソフトに楽に持っていけるのになあ、と以前より考えていました。数年前に調べた限りでは、そのような変換ソフトがなく放置していたのですが、「TXT データを成形するだけなのですぐ書けるでしょう」「XML の理解に繋がるでしょう」などと思い自分で組むことに。幸い、EXCEL VBA を始め、各種言語で XML を取り扱う情報は Web 上にあふれていました。便利な時代になったものです。

作業は順調に進んでいたのですが、MSXML パーサーのバージョンに引っ掛かりました。
Win10 + EXCEL 2013 VBA で 6.0 を参照していたのですが、Web 上では古いVer.を参照したコードが多いようで、それらをコピペして動かしてもエラーを吐きます。それが Ver. 違いということに気づくまで、少し時間を要しました。(特にココ→MSXML2.DOMDocument60
他にも、名前空間(xmlns) に引っ掛かりました。ええ、まったくの初心者です。

XML では情報がタグ付けされているため、欲しい箇所へのアクセスが容易です。そのため、最終的には思ったよりもすっきりしたコードになりました。拡張もアクセスも楽、コードも簡素、なかなか良い仕様・特徴だと思います。XML が広まった理由、少し理解できました。

結果的には理解するのに2晩かかったのですが、良い経験になったと思います。

0 件のコメント:

コメントを投稿