FC2ブログ
 
プロフィール
 

morimori.ynct

Author:morimori.ynct
森下功啓製作所のブログです。
電子工作のことや日々思ったことを時々気まぐれに更新しています。
趣味で作っているサイトはこちら

 
最新記事
最新コメント
最新トラックバック
 
 
月別アーカイブ
カテゴリ
 
 

スポンサーサイト

 
--/--/--(--) Category : スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
 
Comment  |  Trackback
 
 

DEMクラスへの拡張予定

 
2012/07/10(Tue) Category : GIS
DEMクラスの拡張予定に関するメモです。

 今現在、DEMクラスを用いて生成したラスタ地図を扱うMapクラスは限られたメソッドしか実装していません。そこで、これにラムダ式を引数で受け取るメソッドを実装したいと思います。

 ラムダ式を引数で渡せれば、任意の評価ができます。例えば、特定の値の地点のみを別の値に置き換える…とか、周囲の値を参照して中央セルを書き換えるなどです。使い方は、関数を定義してそれを渡すだけです。カプセル化されて外部からは内部オブジェクトへアクセスできないクラス内部の値にアクセスできるという便利な技です。

GPS測位環境を評価する上でMapクラスを継承した新しいクラスを実装するにしても、Mapクラスに任意の評価関数を実行する仕組みを導入するだけで拡張はかなり楽になりそうです。


ところで、高価なGISソフト群はこの辺の拡張って、どうやってんでしょうね?
スポンサーサイト
 
コメントアイコン Comment3  |  Trackback0
 
 

Google Earhを.NETから呼び出して使いたい

 
2012/06/30(Sat) Category : GIS
 これまで、散布図を描画するフォームアプリの背景画像に国土地理院から拝借した地形図を載せ、その上にグラフを書くことでGPS等のパスを描画させていました。描画速度を高速化するための苦肉の策です。ただ、この手法だと必然的に描画したい領域が変わると動的に画像を作る必要が出てきます。WEBブラウザをユーザに見えないように作って、その上で国土地理院のプラグインで地図をカットしてペーストするのか…。面倒。

という訳でGoogle Earthが使えないのか調べてみました。


 Google Earthを.NETから使うには2通りあります。インストール済みのGoogle Earthを叩くCOMを使う方法と、ブラウザベースで動作するプラグインを使う方法です。コード例が豊富に出てくるのはCOMの方です。Google Earthコンテンツ&アプリ作成ガイドブックに出てくる例はこちらの方です。プラグインの方はブラウザに地図を埋め込む例は出てくるもののフォームアプリに統合する例はあまりありません。winforms-geplugin-control-libraryよりラップしているライブラリが公開されていましたので使ってみました。


 まずはCOM版です。下図は、リアルタイムでPictureBoxを使った画面操作をしたいのでPictureBoxの重ね書きができるか確認しているところです。COMに渡すハンドルをフォームではなくPictureBoxのものとすれば重ね書きは可能でした。なお、私の環境では終了時にプロセスが終了しませんでした。汗) 実行環境依存の問題かもしれません。おかげでフォームのクローズ時にKill()でプロセスを強制終了させる必要があります。でないと続けて起動ができません。

ちなみに実行環境はWin 7 x64,core i7, Google Earth はx86モードです。
WS000066.jpg

この方法は実質的にはGoogle Earthの起動画面を.NETのフォーム側へ出力しているのだと思います。なお、ウィンドウサイズを一定程度以下にしてもGoogle Earth側が小さくなってくれませんでした。



 で次がブラウザベースのライブラリを使用した場合です。このライブラリはGoogleがjava用に用意しているプラグインを叩くラッパーです。特徴はコード行数がえらく少なくて済むことでしょうか。しかも、PictureBoxの重ね書きができました。おまけに何個でもフォームを起動できます。配布されているサンプルプロジェクトのソースコードは、javaを叩くためか動的オブジェクト指定子のdynamicが使われているなど結構高度な書き方がなされています。勉強になるなぁ。
WS000067.jpg

こちらの場合、ウィンドウサイズにGoogle Earthの画面が追随してくれました。ただし、描画範囲を指定する方法がまだ分かりません。教えて偉い人!

なお、ライブラリ配布サイトから得られるサンプルのbinフォルダ内にあるdllファイルをコピって自前のプロジェクトフォルダへコピーして参照設定が必要でした。また、FC.GEPluginCtrls.GEWebBrowserクラスオブジェクトをフォームに張り付ける必要があるのですが(コードで書いてもいいんだけどさ)、これがツールバーにはデフォルトだと見当たりません。てっとり早く済ませるために、サンプルプロジェクトからコピペすることで対処しました。



*情報が古くなると途端に使い物にならなくなるのでご注意ください。
 
コメントアイコン Comment0  |  Trackback0
 
 

火山の詳細なDEMが欲しいのだけどないなぁ

 
2012/06/10(Sun) Category : GIS
 本日、というか既に昨日ですが下記のリンク先にてGNSSとGISに関するライブラリを公開しました。以前よりももちょっと便利になっています。
http://morimori2008.web.fc2.com/contents/GPS/GPS_programing/gps_tools.html


 ところで、本題のDEMに関してですが、現時点では九重連山や阿蘇の5 mメッシュ地図がありません。管轄の問題なのか、綺麗に山を避けて整備されていました。火山の詳細なDEMが欲しいのだけどないなぁ!
dem.jpg
 
コメントアイコン Comment0  |  Trackback0
 
 

DEM操作クラス群をリリース

 
2012/06/02(Sat) Category : GIS
開発開始より11か月目に突入したDEMクラス群をある程度使えるようになったので昨日リリースしました。
GISライブラリへのリンク


でも今日の時点で地形評価クラスにバグを1つ見つけてしまいました。
しかも、コアとなるMapクラスのプロパティ名の綴りミスも発見しました。

次の更新(たぶん来週の週末)で修正したいと思います。



こればっかり作っていたわけでもないのですが、意外と時間がかかってしまったなぁという感じ。
 
コメントアイコン Comment0  |  Trackback0
 
 

おかしなDEMファイルを見つけた

 
2012/05/28(Mon) Category : GIS
引き続きDEM関連クラスのテスト中です。
予期せぬエラーが出たのでファイルをチェック中だったのですが、国土地理院による配布段階からすでにファイルが壊れているものを見つけました。

以下がそのヘッダ情報です。
自動的にタグ解析されて、表示がなんだかおかしいのですが・・・。わかると思います。
このヘッダに書かれているデータ数は225 * 150で33750個なのですが、数えてみると33600個しかありません。データ仕様書を詳しく読んでいないのでアレですが、おかしいですよね?




xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://fgd.gsi.go.jp/spec/2008/FGD_GMLSchema"
gml:id="Dataset1">
基盤地図情報メタデータ ID=fmdid:7-26
基盤地図情報ダウンロードデータ(GML版)


fgoid:10-00100-7-6-49300454

2009-08-07


2009-08-07

0
fmdid:0-7
5mメッシュ(数値地形)
49300454



32.708333333 130.55
32.716666667 130.5625






0 0
224 149


x y










 
コメントアイコン Comment0  |  Trackback0
 
Home | Top ▲
 
検索フォーム
 
 
RSSリンクの表示
リンク
ブロとも申請フォーム
QRコード
 
QR
 
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。