思いつくまま

Web地図の勉強を始めた

はじめに

 地方行政に47年携わり、2021年春に退職した。 

 国や地方自治体から提供される情報は、日に日に増大しているが、提供される情報に地理的な要素が含まれるケースは非常に多い。これら情報を分かりやすく地図上に表し、Web上で発信するため、Web地図の勉強を始めた。

 齢を重ねると物忘れは仕方がないので、備忘録として残しておくが、これ自体を忘れてしまえばそれまでか。

Web地図

 Web地図について検索すると、Google Maps Platform (Google Maps JavaScript API)や、Leaflet(Leaflet.js)などの言葉が頻繁に出てくる。

 Leafletを開くと、Leaflet – a JavaScript library for interactive maps が、冒頭に表示される。
「インタラクティブ」という言葉はIT関係で使われる場合は、双方向とか対話型でやり取りできることといった意味だそうだ。

 Wikipediaでは、「Leafletは広く使われているWeb地図のためのJavaScriptライブラリである。OpenLayersやGoogle Maps APIとともに最も人気のあるJavaScript地図ライブラリの一つである
Leafletを使うと、GISの知識のない開発者でも容易にタイルベースのWeb地図を表示できる。またGeoJSONから地物データを読み込んでスタイリングしたり、インタラクティブなレイヤを作ることができる(クリックするとポップアップが表示されるマーカーなど)」と説明している。

 Web地図というと、専らGoogle Mapが使われるケースが多いが、Google Maps APIは、かつては無料で使えたが、2018年に、使用量に応じた課金制度に移行した。「個人的に開発したアプリを公開し、できるだけ一般ユーザーに試しに使ってもらいたい」という想いと、「取り敢えず月額200ドルの無料枠の中で、利用制限をかけて様子を見る」というのは明らかにジレンマ。

 自分が使っている Google Mapは、「PCもスマホも無料のはずだが」と思われる方は、そのとおり、 Google MapのMy Mapを使う分には費用は掛からない。
ここで扱うGoogle MapはWebアプリ開発上で扱うMap環境ということ。

 Leafletはどうかと見てみると、Leafletjs.comの冒頭でan open-source JavaScript libraryと書かれており、端的に言えば、だれもが自由に使えるプログラムである。
なお、オープンソースの定義は、オープンソース・イニシアティブが定めている。

 Leafletは、それ自体が地図を持っているわけではないが、多くの無料の地図が使える。もちろんGoogle MapやMap Boxなどの課金対応の地図も使える。

 同じデータから、Google MapとLeafletでできるだけ同じように使える環境を考えることも取り組んでみたい。

 先ほど、 LeafletでGoogle Mapが使えると述べたが、 Leaflet上のGoogle Mapは、ストリートビューが使えない。しかし、Google Mapのジオコーダを使った場所検索は、 Leafletで使う検索よりはるかに使い勝手が良い。

 何度も申し上げるが、 Google Mapのジオコーダも課金対象である。したがって、今後本サイトで扱うLeafletあるいはGoogle Mapと比較しているLeafletは、無料若しくは無償で使えるLeaflet環境として進めていきたい。

JavaScript参考書

SB Creative発行 柳井政和著 JavaScript「完全」入門

 Google Maps Platform (Google Maps API)にしろ、Leafletにしろ、JavaScriptから勉強を始めるしかない。

 例によって、Wikipediaでは、「JavaScript(ジャバスクリプト)とは、プログラミング言語のひとつである。JavaScriptはプロトタイプベースのオブジェクト指向スクリプト言語であるが、クラスなどのクラスベースに見られる機能も取り込んでいる。
 利用される場面はWebサイト・Webアプリ・バックエンド・デスクトップアプリ・モバイルアプリなど、ブラウザからサーバ、デスクトップからスマートフォンまで多岐にわたっている。Javaと似た名称を持つが、異なるプログラミング言語である」

よく分からないが、Webページ上で動作するアプリケーションを作るためのプログラミング言語であるから、Amazonで入門書を購入することに。
これまでに、VBAやkmlなどを少し触れた経験があるだけの者が、何を今更とお思いであろうが、こんなところから始めた。

選んだ理由

 表紙の「独学に最適!初心者でも安心して学べる親切な解説」や帯の「類を見ない「詳しさ」、渾身の入門書!」
「開発に活かせる実践的な知識を「この一冊」に完全集約」
「サンプルプログラムも多数掲載Webからダウンロード!」といったキャッチコピーと発行が2021年2月16日と新しかったこと。
 当時のレビューでは、プログラミング初心者には少しレベルが高すぎる等の意見があったが、結果的には良く使っている方かも。

これ1冊?

 はい。サンプルプログラムと あとは、Webです。
 最近は、翻訳機能が充実しているので、外国の情報も十分取得可能。ただ、それらを理解できるのかというのは別問題であるが。特にFAQサイトは役に立つ。
 Stack Overflowは、JavaScript関係の情報が豊富。

最初に調べたこと【キーワード】

右往左往

 かつて最新の情報は、書店で立ち読みして頭に叩き込んだものだが、このコロナ禍の中、専ら、Web検索。便利な世であるが、フェイク情報にも気を付けないと。

 下の表は、Wikipediaとともに関連サイトをまとめてみた。もちろん、もっと多くのサイトをサーフィンしているが、先ずはこんなところ。これから、その都度追加される表。

         項目            関連
HTMLWorld Wide Web Consortium(W3C)
Web Hypertext Application Technology Working Group
HTML Living Standard
JavaScriptJavaScript – MDN Web Docs
CSSCSS: カスケーディングスタイルシート – MDN Web Docs
Visual Studio CodeVisual Studio Code – Code Editing. Redefined
Visual Studio Code – コード エディター | Microsoft Azure
Node.jsNode.js
local by flywheelLocal – Local WordPress development made simple
WordPressブログから大規模サイトまで作れる CMS | WordPress.org …
WordPress.com: 高速、安全に管理されている WordPress …
jsonJSON データの操作 – ウェブ開発を学ぶ – MDN Web Docs
JSON の紹介
GeoJSONGeoJSON
GeoJSON 仕様 | Geolonia 公式ドキュメント
CDNjQuery CDN
HTTP&HTTPS
オープンデータオープンデータ | 政府CIOポータル
兵庫県オープンデータカタログページ
著作権著作権 | 文化庁 著作権法 | e-Gov法令検索
クリエイティブ・コモンズ・ライセンス「CCライセンス」クリエイティブ・コモンズ・ジャパン
表示 4.0 国際 — CC BY 4.0 – Creative Commons
Google Cloud PlatformGoogle Cloud Platform(GCP) – Google Cloud
Google Maps PlatformGoogle Maps Platform
Google Analyticsアナリティクス – Google Developers
地図サイト
OpenStreetMapOpenStreetMap Japan | 自由な地図をみんなの手で/The Free …
地理院地図地理院地図 / GSI Maps|国土地理院
BootstrapBootstrap5