motomachix’s blog

数年前からサンプルページを作って公開していたが、説明ページがあまりにも貧弱だったので、こちらのブログにあげなおすことにした。今日から少しづつアップする。 ここに公開しているサンプルページはPC用です。動作確認したブラウザはGoogle Chromeです。プロフィールはこちら https://nemotos-office.sakura.ne.jp/

Google Earth に地図XMLデータを重ねてみる。(kmlファイルに変換するサンプル)

G空間情報センターからダウンロードした地図xmlkmlファイルに変換するサンプルを作ってみた。

作ったページはこちら。

 直接ファイル出力しているのでこの前のサンプルより変換速度が幾分上昇しているように思う。

 しかし、でかいファイルであることは間違いない。

 6メガのZIPデータを変換する所要時間は20分だった。でかい。

 このサンプルを使用する条件として、G空間情報センターから使用条件を承諾しダウンロードした方自身がそのデータを用いて使用する場合に限らせていただきたいと思います。

 出所のわからない地図XMLファイルを使用条件不承諾のまま使うのはダメですので。

 使い方はシンプルで

G空間情報センターからダウンロードした市区町村単位のZIPファイルを1回解凍し、そのフォルダ内にあるZIPファイルを選択してください。

地図データの展開には時間がかかります。

PCスペックに比して過大なファイルの場合、エラーが出ることがあります。 

ブラウザのマップ上で住所検索して、国税庁の路線価サイトにつながるリンクを表示する機能を追加しました。

私が居住している地域では今年の雪は例年よりだいぶ少なく、除雪が楽で時間的余裕が少しできたので、以前作成したサンプルページ

tesseract.jsで公図(14条1項地図 PDFファイル)を読み込みgoogle mapに重ね合わせるサンプル

に住所検索した結果から路線価が調べられる機能を追加してみました。

 同時に、ストリートビュー機能、距離・面積測定機能も追加しました。

 追加してだいぶ時間がたっていますが簡単な説明をしたいと思います。

 

 使い方は、

➀住所検索機能

 上段のテキストボックスに住所を入力して検索すると、該当する場所にマーカーが設置されます。

 また、右側の描画ツールでマーカーを設置すると、ポップアップに国税庁路線価サイトへのリンクが表示されます。また、登記情報提供サービスへのリンクも表示されます。この時、検索した住所テキストがクリップボードにコピーされているので、登記情報提供サービスにログイン後、直接検索欄に張り付けると便利です。”字”の文字が抜けている場合があるので適宜追加してください。

 

ストリートビュー表示機能

マップの右下に人マークのアイコンがあるので、それをクリックしてから、マップ上の任意の場所をクリックすると表示されます。デフォルトで北方向の風景を表示します。

真っ黒の場合は、ストリートビューが撮影されていない場所です。

 

③距離・面積測定機能

この機能はマップ右側に描画メニューを使用します。

ライン描画で距離、ポリゴン描画で面積を測定できます。描画等が終わったらfinishをクリックすると確定します。

 

以上です。

 

 

地図xmlファイルをブラウザのみで直接googlemap上に展開してみた。

 1月下旬にG空間情報センターにおいて、全国の地図データ(法務省形式の地図XMLファイル)が公開されたのはいいのだが、いくつかデータ変換をしないと使いにくかったので、ダウンロードしたxmlデータをそのまま読み込みブラウザだけで閲覧できるサンプルページを作ってみました。

 また、Google Earthのkmz形式などで出力できるようにしました。

 これを使って山間部の公共座標で記録されている地図XML データをGoogle Earthで開いてみると、データが山の広範囲にわたっているので、実態がより分かりやすいようです。

 このサンプルを使用する条件として、G空間情報センターから使用条件を承諾しダウンロードした方自身がそのデータを用いて使用する場合に限らせていただきたいと思います。

 出所のわからない地図XMLファイルを使用条件不承諾のまま使うのはダメですので。

作ったページはこちら。

 以前作成した登記情報提供サービスの地図PDFをgooglemapに張り付けるページに、上記の機能を付加。

 地図XMLデータの情報量がものすごいので、全体を一度に展開するとわたしのサーバーがパンクしちゃいます。

 市町村単位でダウンロードしたZIPファイルを1回展開(解凍)し,フォルダー内に同梱されたエクセルファイルで地番検索すると目的の地域が含まれたファイルを特定できるので便利です。

 ファイルを特定したら、そのZIPファイルを読み込みます。1メガ以上のデータになると結構読み込み時間がかかります。私のPCで約1分ほどかかりました。

 座標系が任意座標のファイルを読み込んだ場合、背景の地図が写らないようになっています。背景の切り替えボタンで背景を表示すると山の中になると思います。任意座標系ですから当たり前ですね。

 あと、このデータ群に特段の意味はなく、単に地図表示のために便利に使えるデータであることを忘れないでくださいね。

 

展開した地番をクリックすると、その区画の形状等がポリゴンとして表示されます。

その表示されたポリゴンをクリックすると詳細情報が表示されます。

 

複数ファイルを同時に読み込み表示できますが、その限界は個々の端末PCの能力に左右されます。

 

以上です。

 

 

 

 

ラジコン草刈機を自作してみることにした。②

ArduPilotを使った自動制御草刈り機自作を目指して、まずはRC草刈り機を製作。

前回、自作RC草刈り機はジャングル並みの雑草を刈ることができるかをテーマに試運転を兼ねて草刈り能力テストを行った。

結果は、期待した以上に実用性があることを確かめることができた。

今回は、実際に使用を想定している果樹畑跡地で、仕事量の検証実験を行うことにした。

電源で使用しているのは、マキタ互換18Vリチウムイオンバッテリー9.0Wh。2個を並列接続し、24V20Aに昇圧。

ギアモーターは定格24V10.4A(250W)75RPMを4個使用。

タイヤの径は30㎝。オークションで落札。

芝刈り機の刈幅は46㎝。これまたオークションで落札したミナト電機製。

手動コントロールが下手な私の場合、刈幅のオバーラップを多めに考慮して、実働刈幅20cmとしてバッテリー2本並列で稼働可能面積を試算してみると、

 

使用するバッテリーは前回紹介したマキタ18V互換9.0Ahリチウムイオン電池

とあるサイトで放電実験していた結果では7.5Ahほどだったので、2本で15Ah。

レギュレーターで24V20Ahにしているので、無負荷で45分稼働するはず?。

タイヤ径0.3m✖2✖3.14✖60rpm(常に全速ではないので)=113.04m/分

バッテリーの稼働持続時間を平坦地で走行するする場合1回40分として

113.04m/分✖40分=4521.6m

実働刈幅0.2mとすれば

4521.6m✖0.2m=904㎡  

負荷が少なく走行できれば、約900㎡は刈れるはず?となる。

こんな感じかな。

では実験開始。

youtu.be

 

結果としては、約900㎡刈ることができた。

今回のように平坦な場所で、草の量がひざ丈程度なら、自動運転制御でいけるかもしれないという感触が得られた。

でも、もう少し1充電当たりの仕事量が増えないものか考えて、単純にタイヤ径をちょっと大きくしてみることにした。

この改造の様子はハブの部分とともに次回のブログで書きたいと思う。

ラジコン草刈機を自作してみることにした。①

 QzssとかGNSSとか仕事柄よく使うが、せっかくなのでプライベートで活用してみることにした。

 じつは自作したい理由はもっと切実なのである。

 最近の夏場の暑さは殺人的で、自宅の草刈りで死にそうなぐらいに頭が痛くなる。田舎の畑は広いのだ。1000坪(3300㎡)・・・。毎年きっと半分熱中症になっているに違いない。このままでは体がもたない。自動制御できる草刈りがあればとネット検索。

 たっ高い!!こんなに値段がするものなのか。自家用に使えればいいのに・・。戦車みたいのいらないのに・・・。

 仕方がないので自作することにした。

 ドローンの制御ソフトを利用して何とかできないかと探してみると、ArduPilot

なるものがフリーであるではないか。これだ!

   このオートパイロットソフトウェアのローバータイプを使えばなんとかなりそうだ。

 GPSとローバーで検索、はじめ研究所を閲覧。ほー、ラジコン車を制御するのか。

まず車体がないとだめなのね。あたりまえか。

 よし、じゃRC草刈り機を最初に作って、その次の段階でオートパイロットソフトウェアを組み込もう。

 ということで、RC草刈り機を自作した。

 

youtu.be

 ゴツくなってしまった・・・。

 しかし、なんとか軽ワゴンで運搬できるサイズでよかった。

 DCモータ―2個×2(4WD)をRCで制御し前進、後退、左右の動作をさせる。

  (いわゆるZERO TURNができる仕様)

 草刈りの動力はエンジン式にする。

 モーターの電源は、18Vリチウムイオンバッテリーを数個使う。

 草刈り作業を1時間ほどと推定し、1時間連続運転できることを目安に設計する。

 農地や傾斜地(25度ぐらいまで)でも使えるようにする。

駆動部は多少オーバースペックにして余裕を持たせ使用するようにした。電気系統のギリギリ設計は不具合を起こす印象があるので。

 まず、草刈り部分は、ヤフーオークションでエンジン草刈り機のジャンクを落札、整備した。

 バイクに乗っていたころ以来のエンジンいじり。キャブを分解掃除して、リコイルスターターを引く。かかったーかかったー。エンジンがかかってウレシイ。よしいい調子だ。

この草刈り機をL型アングルで組んだ躯体で抱き込むイメージで車体を作製。

ホームセンターで普通に入手できる材料を使っているのでメンテが容易になるはず。

ハブは最も重要だと思う。

草や蔦が絡まると大変そうなのでチェーンは使わずに直接DCモータにハブを取付けダイレクトドライブにした。

 駆動部に使用するモーターは、中華製車いす用DCモーター24V250W4個をアマゾンから調達。このモーターを全力で使用してZERO TURNすると土の地面が掘れてしまうぐらい超強力らしい。

 電源はマキタタイプ18Vリチウムイオンバッテリーを並列で2個使用し、DC昇圧レギュレーターで24V、20Aにしてデュアル制御モータードライバーに接続。便利なドライバーがあるものだ。安いのにこれだけでZERO TURNタイプの制御が簡単にできる。マレーシア製。恐るべしマレーシア。

 通信機は近藤科学MC-8 2.4GHz MX-F 送受信機セットを採用。

 電源の並列回路には電流逆流防止の整流ダイオードをつけないとバッテリーの劣化が激しくなるとのこと。つけることにした。

 ダイオードは発熱しながら仕事をするようにできているらしい。バッテリーも高温になるとよくないので、制御ボックスに冷却ファンを取り付けた。

 冷却ファンの電源は別に5Vポータブルバッテリーを使用した。RC受信機から電源を取ると電流不足となり送信距離が縮まったり誤動作を起こしたりすることがあるらしいので。

 よし。では試運転だ。

 

 

14条1項地図(pdf)からワールドファイルを作成する。(APIライセンスフリーなサンプル)

 前回は14条1項地図(pdf)からkmlファイルを生成するサンプルを作成ましたが、ワールドファイルがあれば便利というリクエストをいただいたので、pngファイルベースのワールドファイルを生成するサンプルページを作ってみました。

 QGISなどのGISシステムを使っている方はお試しください。ただし、簡易的に作っていますので、参考程度にお使いください。

 作ったページはこちら。

 

ZIPファイルのダウンロード 

使い方は、

1.出力したい画像スタイルおよび14条地図の座標系を選択して、14条地図ファイルの選択ボタンをクリックする。

f:id:motomachix:20200726165018j:plain

2.しばらく待つと下のような画面になります。

  黄色、赤色、青色を選択した場合、ピクセル単位で画像変換しますので時間がかかります。少し待ってみてください。pcのメモリは16ギガ以上を推奨します。

 

f:id:motomachix:20200726165023j:plain

3.読み込まれた座標数値と縮尺に間違いがないか確認します。自動読み取りが失敗した場合NaN表示が出ますので、正しい座標を手入力してください。

4.出力する座標系を選択します。

5.ワールドファイルを作成 ボタンをクリックします。

 

6.変換が終了すると下のようにワールドファイルのテキストデータファイルが作成されダウンロード画面が表示されますので、適宜ダウンローしてください。デフォルトのファイルネームはworldfile.pgwです。

 

f:id:motomachix:20200726181353j:plain

 

7.画像変換が成功した場合、新しいタブで下のように画像が表示されます。

  画像を直接クリックするとワールドファイルの画像がダウンロードできます。デフォルトのファイルネームはworldfile.pngです。

 

f:id:motomachix:20200726165032j:plain

 

下のように2つのファイルがダウンロードされたはずですので、同じフォルダに置いた状態でGISソフトに取り込んでくだい。出力されたワールドファイルの座標系は元の地図座標系と同じです。(EPSG:6669から6687まで)

f:id:motomachix:20200726165036j:plain

 

 

Google Earth に公図(14条1項)ファイル(PDF)を重ねてみる。(APIライセンスフリーなサンプル)

 前回まではAPIライセンスに依存した例を示してきましたが、APIに依存しないAPIライセンスフリーでKMZファイルをダイレクトに生成するサンプルのご希望をいただきましたので、今回作ってみました。 *1

このサンプルの利点は

  1. オフラインで動作すること
  2. 手っ取り早く位置特定できること
  3. ナビゲーションなどGoogle Earth ProやGoogleマップの機能がフルに使えること 

 ただしモバイルではおそらく動作しませんのでPCでお試しください。

また、自動読み取りの精度は良いとは言えませんので座標のチェックはお忘れなく。

作成したkmzファイルはGoogle Earth WEB版で表示できます。 *2

 PCダウンロード用のGoogle Earth Proを使用する場合は、あらかじめここからダウンロードしてインストールておいてください。

 

作ったサンプルはこちら

 

 

ブラウザはgoogle chrome を推奨します。他のブラウザでは動作しない可能性があります。

 

 

サンプルの使い方手順は  project1のメニューを選択して移動した後、

①公図(14条1項)ファイル(PDF)を取り込んで、

②自動読取された座標をチェックし

③座標系を指定して、KMZファイルをダウンロードする。

という感じです。

 

Google Earth ProがPCにインストールされている場合は、ダウンロードしたKMZファイルをダブルクリックするとGoogle Earth Proで表示されます。 

不透過度を下のように調整すると見やすいです。

f:id:motomachix:20200414112433j:plain

opacity(不透過度)調整

 

 

*1:平面直角座標系から緯度経度への変換には

  • github.comwoを使用しました。

  •    世界測地系(測地成果 2000 、または 測地成 2011)専用です。旧日本測地系では正しい位置に表示されません。また、地震等による地殻変動が生じた地域等で、必要としている精度を確保できない場合があることをご了承ください。また、このサンプルページを使用したことによって発生したあらゆる損害について作者は一切の責任を負わないこととさせて頂きます。

    *2:

    KMZファイルの取り込み方は     

    1. パソコン上のウェブブラウザでGoogle Earth WEB版 を起動します
    2. 左側の [プロジェクト] プロジェクト をクリックします。
    3. [新しいプロジェクト] ボタンをクリックします。
      • パソコンに直接ファイルを追加するには、[KML ファイルをインポート] を選択します。
      • Google ドライブまたは共有ファイルからファイルを追加するには、[ドライブから KML ファイルをインポート] を選択します。
    4. 表示する KMZ ファイルを選択します。