カテゴリーアーカイブ GPS/GNSS

著者:杉浦

LeafletのアイコンオプションiconAnchorの意味

 Leafletは地図をJavaScriptで描画、操作するためのライブラリです。地図上に何かを置きたい時、それはアイコンオブジェクトを用いて実現することが多いです。アイコンを定義する際にはicon関数を用いて次の様に定義します。次のコードはMarkers With Custom Icons – Leaflet – a JavaScript library for interactive mapsからの引用です。

var greenIcon = L.icon({
    iconUrl: 'leaf-green.png',
    shadowUrl: 'leaf-shadow.png',

    iconSize:     [38, 95], // size of the icon
    shadowSize:   [50, 64], // size of the shadow
    iconAnchor:   [22, 94], // point of the icon which will correspond to marker's location
    shadowAnchor: [4, 62],  // the same for the shadow
    popupAnchor:  [-3, -76] // point from which the popup should open relative to the iconAnchor
});

 このオプションの中にiconAnchorというものがあります。直訳してマーカーの位置に対応するアイコンの点です。Leafletはこの緯度経度に、このアイコンを用いてマーカ―を、この地図上に置く、という様にマーカーを地図上に置きます。

L.marker([51.5, -0.09], {icon: greenIcon}).addTo(map);

 マーカーという以上、地図を見るものにその印を示すために絵を用います。iconAnchorはこの絵のどの部分に指定した緯度経度がくるかを指定するオプションです。もしiconAnchorを間違えた場合、矢印の根元のような直感的でない部分が位置を指すことになってしまいます。
 Explanation of Leaflet Custom Icon LatLng vs XY Coordinates – Stack Overflow
 このStack Overflowの図説が完結にまとまっていました。

 左上を(0,0)とし、用いるimgに合わせてpx単位で合わせることが基本になります。割合を用いないのはアンチパターンに見えますが、アイコンを定義する際の単位はいずれもピクセル単位となっているためこのやり方が推奨のやり方となっています。

  • この記事いいね! (0)
著者:杉浦

投影における経緯度座標及び平面直角座標相互間の座標換算についてのより簡明な計算方法

河瀬和重, Gauss-Krüger 投影における経緯度座標及び平面直角座標相互間の座標換算についてのより簡明な計算方法, 国土地理院時報 No.121 (2011), pp 109-124.
 平面直角座標系は地球上の狭い範囲のみを扱うという条件を付けて、ある範囲を平面として考える座標系です。一度に扱う範囲が狭いため地球を平面とみなしても問題が起きません。平面であるが故に扱いが楽でGIS(地理情報システム)など様々な場所で使われています。
 一方でGNSS(衛星測位システム)は緯度経度を基礎として扱っているシステムです。GNSSは地球全体を統一して扱うため緯度経度の方がより合っています。そのためGISとGNSSを用いるシステムを作る、扱う際には緯度経度と平面直角座標の変換が必須です。
 国土地理院には便利なプログラム・データとして平面直角座標への換算とその計算式があります。
河瀬和重, Gauss-Krüger 投影における経緯度座標及び平面直角座標相互間の座標換算についてのより簡明な計算方法, 国土地理院時報 No.121 (2011), pp 109-124.
はこの計算式の原著で、なぜこの式にまとまるのかの話と実装例が載っています。勉強としても参考としてもおすすめの一本です。

  • この記事いいね! (0)
著者:杉浦

世界測地系と日本測地系

 測地系とは位置を表すための前提条件のことをいいます。具体的には地球はどのようになっているかという定義です。技術の発展によりより正確に地球のことがわかるようになり、測地系は更新されていきます。また、グローバル社会が謳われるようになり測地系の名前も世界測地系と改められました。少々ややこしいことに、ただ名前を変えただけのローカルな測地系もあります。例えば日本測地系2011という測地系があります。幸い学術的には日本測地系2011やJGD2011の名で使われていますが、場によっては世界測地系と呼ばれます。
 GNSSが使用している測地系はWGS84という世界測地系です。元々はGPS用のアメリカの規格ですがGNSSの広がり方によって本当に世界単位で使われています。
 座標系という位置の表し方の定義があります。緯度経度、XYなどです。測地系は最初に述べた通り地球の形の定義づけです。位置に関する値を取り扱う時は、どの測地系に従ったどの座標系の値なのか、ということを気を付ける必要があります。特に測地系は異なってもせいぜい数メートル、数十メートル単位のずれで直感的に間違いが分かりにくいです。テストの際には先達の作ったソフト等と突き合わせて検証を行うべきでしょう。

  • この記事いいね! (0)
著者:ym

いよいよ今週 11 日に KSK ロールオーバー

前回以下のページで応答がないと書きましたが、再度実施した所無事に 4090 と数字が表示サれてきました。

root zone の KSK rollover

 

# dig +short rs.dns-oarc.net TXT
rst.x4090.rs.dns-oarc.net.
rst.x4058.x4090.rs.dns-oarc.net.
rst.x4064.x4058.x4090.rs.dns-oarc.net.
"202.152.*.* sent EDNS buffer size 4096"
"202.152.*.* DNS reply size limit is at least 4090"
"Tested at 2018-10-08 04:18:30 UTC"

実行して見るとこの様な感じ。サービス提供で使用している DNS フルリゾルバに対して実行してみましたが問題はなさそうです。

KSKロールオーバーについて

 

 



  • この記事いいね! (0)
著者:杉浦

国土地理院のハザードマップ

重ねるハザードマップ | 国土交通省
 ページのtitleは国土交通省ですし、国土地理院のトップページのみならず国土交通省のトップページからも簡単に遷移できますがが、ドメインとしては国土地理院のページです。国土地理院は国土交通省の一部ですのでおそらくその辺りでしょう。
 主な使い方は簡単です。左上の災害種別で災害毎の影響範囲のまとめを地図上に写して見る、右上の危険虫眼鏡で調べたい場所をクリックしてその場所のリスクを見る、これだけです。
 
 詳しくどういう情報から知りたい時はレイヤー情報の解説ボタンから詳しい解説が開きます。また作図、保存、印刷機能も備えており、メモ書き等含めて目的に合わせた地図を柔軟に作れます。

  • この記事いいね! (0)
著者:杉浦

google mapのタイムライン機能

 googleはユーザからこれでもかと情報を集めて、その情報をサービスに活かしています。タイムライン機能は自分がいつどこにいたかの情報を見る機能です。
 使い方はgoogle map左上の三みたいなアイコンをクリックして図のタイムラインをクリック。

 主要な点、おそらく遠出した時の点が描かれる画面になります。左上から日付を指定すると下の画像の様に、具体的なルートとかかった時間まで教えてくれます。

 残したくない、消したいという場合は右下のごみ箱から捨てられます。一方でローカルに保存することもできます。このようなデータを使用しているため、googleのナビは同じルートでも個人差を考慮したより正確であろう移動時間を予測してくれます。
 

  • この記事いいね! (0)
著者:杉浦

空中写真とオルソ画像

 地図は全ての地点において真上から見たような視点で地形が描かれます。しかし空中からの写真撮影はそうはいきません。撮影を行った一点から放射上に広がり、遠くのものほど傾いて映ります。この傾いた写真を空中写真、地図の様に傾きを直した写真をオルソ画像と呼びます。下の図はオルソ画像について|国土地理院から引用した図です。
 
 図の様に写真の端を中央に寄せて真上から見たときと同じ大きさに収めるわけです。ただの圧縮なので傾きによって映った側面の部分は画像に残ったままです。この手法によって写真が整形されているからこそ、下図の様な地図を重ね合わせを少ない違和感で実現できています。

  • この記事いいね! (0)
著者:杉浦

地理院地図(電子国土Web)

 地理院地図(電子国土Web)は国土地理院の公開している電子地図です。3D版に地理院地図globというものもあります。
 
 国土地理院というだけあって日本に縁の深い情報と地図を絡めて表示する機能がとても優れています。下図の様な地域の避難場所を始めとして、日本の歴史、地理、災害、土地の特徴など様々です。

 単にこの画面だけのサービスでも有用ですが、ソースコードの公開、よく使われるライブラリとの連携方法などの説明もあり、開発者向けでもあります。

  • この記事いいね! (0)
著者:杉浦

様々な高さの定義

 ある地点の地上からの高さを同じ物差しでできる限り正確に測るためにいくつかの高さの定義がされてきました。この記事ではそれらを紹介します。紹介する高さは楕円体高、ジオイド高、標高(海抜)です。
 楕円体高は地球を純粋な楕円体として仮定した場合、地球楕円体と対象の地点との高さを表します。2018/08/15の日本ではGRS80地球楕円体を用いています。GNSSではWGS84地球楕円体を用いています。GRS80とWGS84のそれぞれが表現する地球はとても近く、同じものと扱っても大きな問題は起こりにくいです。GNSSの出力する高度はWGS84地球楕円体を用いた楕円体高です。GNSSを用いて現地点の地上からの標高を知るためには少し手間がかかります。
 ジオイド高はジオイドの楕円体高です。ジオイドとは、海が地球を包み、海が重力の影響のみを受けていると仮定した時、その海面が落ち着いた時に成す面のことです。近年では高精度なGNSSを用いて測量を行うことでジオイド高が求められています。ジオイド測量の概要|国土地理院
 標高はジオイドからある地点までの高さです。標高は海抜とも呼ばれます。
 三者を図解すると次の図の様になります。
 
 ジオイドとは|国土地理院から引用
 GNSSが出力する高さは楕円体高です。このため標高を求めるためにはジオイド高が必要となります。日本各所のジオイド高は国土地理院が無償で提供してくれています。
 ジオイド計算
 ジオイド・モデルの提供|基盤地図情報ダウンロードサービス※要利用登録

  • この記事いいね! (0)
著者:杉浦

UTC、UNIX時間、ユリウス通日

 システムにおいて暦の変換処理というのは往々にして面倒なものです。慣れ親しんだ近年の年月日時分秒でさえ一月の長さの違い、閏日あたりが手間です。これが縁もゆかりもなさそうなイスラム常用暦やインド国定暦になると大変です。そのような手間を省くために世界中で利用する事を目的とした暦があります。UTC、UNIX時間、ユリウス通日はそのような暦です。
 UTC(協定世界時)は世界中を対象としたシステムの基盤としてよく使われる暦です。UTCは非常に正確に時間を刻む原子時を元にしています。地球の自転一周が一日となる様に、変化する自転の周期に合わせてUTCには適宜閏秒が挿入されます。UTCを基準に世界各地の標準時、タイムゾーンなどが決められています。GPS衛星に組み込まれている原子時計もこのUTCに同期して開始されました。
 コンピュータの世界においてよく用いられる暦の単位のひとつがUNIX時間です。UNIX時間はUTC1970年1月1日0時0分0秒からの秒数で表される暦です。分も閏もありません。UNIX時間はとにかく扱いが簡単な暦です。この点からよくコンピュータシステムの内部で用いられます。ユーザに向けて表示する時点ではその時々に合った暦に変換するわけです。
 世界にはUTC1970年1月1日0時0分0秒の記録もあり、各地各時の暦はまちまちです。ユリウス通日はそのような過去の出来事を統一した日付で扱うための暦です。ユリウス通日は紀元前4713年1月1日正午からの経過日数で表されます。ユリウス通日を用いると元禄15年12月14日=グレゴリオ暦1703年1月30日の様な比較が簡単になり餡巣。
 GNSS衛星による測位には時刻が密接にかかわっています。GNSS衛星における時刻の話にはUTC、UNIX時間、ユリウス通日がよくでます。
 国立天文台の暦計算室には、この手の話が多く詳しく載っています。

  • この記事いいね! (0)