GIS奮闘記

元GISエンジニアの技術紹介ブログ。主にPythonを使用。

スポンサーリンク

【GIS入門】GIS勉強用おすすめサイトまとめ

本日は「GIS勉強用おすすめサイトまとめ」を書いてみようと思います。会社でGIS担当になり、GISを勉強をしようと思っているが、何から手をつけていいかわからない。GISに興味はあるけど、どのサイトも難しくて挫折してしまった、という方は少なからずいらっしゃると思います。

そういった方に今回は色々なGIS関連のサイトがある中で、見やすく、面白く、勉強になるものを厳選してみました。また、GISについてはある程度理解しているが、さらに勉強してレベルアップしたいという方にも私のおすすめのサイトを紹介します。

入門

これからGISの勉強を始める、または、GISに興味がある方は以下サイトがおすすめです。

GIS とは

過去のエントリーでGISについて紹介していますので、ぜひ読んでみてください。
www.gis-py.com


GIS界の巨人、ESRIが運営しているサイト。GISって何?ってところから、各用語の解説やGISを使った事例集などがまとめられています。
www.esrij.com

GISでよく使われるデータ形式

GISの世界では様々なファイルが扱われますので、まずはメジャーなデータ形式を知っておくといいかと思います。
www.gis-py.com

投影法、座標系、測地系、それぞれの違いについて

GISを扱うにあたって必ずぶち当たる壁だと思います。以下エントリーにまとめてありますので、ぜひ読んでみてください。
www.gis-py.com

ArcGISブログ | ESRIジャパン公式ブログ

ESRIジャパンの公式ブログで、ArcGIS製品や様々な事例の紹介をしているサイトです。
blog.esrij.com

用語集

株式会社パスコが運営するGIS用語集サイトです。パスコは大手の測量屋さんです。パン屋さんではありません。
www.pasco.co.jp

QGIS User Guide

フリーのGISソフトと言えばQGISです。フリーといえどその機能は強力で、ArcGISと双璧をなすを言っても過言ではありません。ユーザーズガイドなので、ここから始めれば初心者でも安心です。
https://docs.osgeo.jp/foss4g/qgis/user_guide-1.6.0/user_guide.html

GISエンジンおよびサービスのまとめ

自分がよく使うGISエンジンやサービスについて独断と偏見での評価をしています。
www.gis-py.com

GISを使った便利で面白いWEBサイトのまとめ

GISがどのように使われているのかを実際に手を動かして理解するのも非常に効果的だと思います。
www.gis-py.com

ステップアップ

もうGISについては一通り理解していて、次のステップに進みたいという方は以下サイトがおすすめです。

WINGFIELD since1981: ウィングフィールド

GIS一般的な話からプログラミングまで幅広い範囲をカバーしているサイトです。
www.wingfield.gr.jp

GUNMA GIS GEEK – 地図と視覚化についての技術情報 - shimizu

様々な技術やニューストピックなどの紹介などをしているサイトです。
https://shimz.me/blog/

「全国のガソリンスタンドの位置を地図上にプロットしてみた」みたいな面白い試みもされています。

f:id:sanvarie:20181023094359p:plain

Python GeoSpatial Tutorial | OpenなGISのこと

主にGISのPythonライブラリなどの紹介をしているサイトです。かなり突っ込んだ内容まで書かれていて非常に勉強になります。
Python GeoSpatial Tutorial | OpenなGISのこと

ArcGIS開発者コミュニティ

ArcGIS限定になってしまいますが、開発者の方が相互に質問をしたり、ディスカッションをするためのサイトです。
ArcGIS 開発者コミュニティ (Japanese Developer Community) | GeoNet

GIS実習オープン教材

GIS教育の充実のため、大学の実習授業や個人の自主学習等で利用できる実習用の教材を開発し、オープンな活用を推進することを目的としたサイト。初心者用のコースも用意されています。
GIS実習オープン教材とは · GIS実習オープン教材

GIS Lounge - Maps and GIS

英語を読むのが苦ではない方はぜひ。世界のGISの情報やトレンドが日々更新されているサイトです。日本ではあまり馴染みのないものも多く紹介されており、とても勉強になります。
www.gislounge.com

その他

勉強というわけではないのですが、以下のサイトもぜひ見てみてください。

GISもくもく会

不定期開催ですが、勉強会です。しばらく開催されていないようですが、次回は私も参加してみたいです。
GIS もくもく会 - イベント一覧 - connpass

GIS資格認定協会ホームページ:リンク集

GIS関係の資格や各地で行われている講習について知ることができます。
GIS資格認定協会ホームページ:リンク集


以上です。全部読む必要はなく、まずは自分にとって必要な情報を提供しているサイトを中心に確認してみるのがいいかと思います。GISは非常に奥が深いですし、習熟するには時間を要します。私も日々勉強している身です。ぜひ一緒にがんばりましょう。

GISを使った便利で面白いWEBサイトのまとめ

本日は「GISを使った便利で面白いWEBサイトのまとめ」を書いてみようと思います。以前と比べてGISがより身近な存在になり、様々なデータの可視化サイトなどが人気を博しているかと思います。その中でも私のイチ押しを本日は紹介します。

1.Tweetping

Twitterのつぶやきがあった地点をリアルタイムで世界地図上に表示するサイトです。
https://www.tweetping.net/

f:id:sanvarie:20181022141741p:plain

2.Twitter + GNIP - Mapbox

基本的にはTweetpingと同じなのですが、AndroidやiPhone、BlackBerryといった端末別に結果を絞り込むことができます。
https://www.mapbox.com/labs/twitter-gnip/brands/#5/38.000/-95.000

f:id:sanvarie:20181022142100p:plain

3.CYBERTHREAT REAL-TIME MAP

カスペルスキーが公開しているセキュリティ上の脅威を可視化したサイトです。
https://cybermap.kaspersky.com/

f:id:sanvarie:20181022143837p:plain

4.Flight Radar 24

飛行機の現在位置をリアルタイムで可視化するサイトです。とんでもない数の飛行機が世界中を飛び回っていることがわかりますね。
https://www.flightradar24.com/60,15/6

f:id:sanvarie:20181022144516p:plain

5.Esri CityEngine Portland 3D City

ポートランドを3D化したマップサービスです。かっこいいですね。
http://www.arcgis.com/apps/CEWebViewer/viewer.html?3dWebScene=04b66d38061849149d3c59c9d07604c0

f:id:sanvarie:20181022144943p:plain

6.Nine Point Five Earthquake Visualization

過去30年に起きた地震を可視化したサイトです。プレートに沿って地震が起きていることがわかります。日本はもうマップ上で見えなくなるくらい地震が起きていますね。http://www.ninepointfive.org/

f:id:sanvarie:20181022144151p:plain

7.geojson.io

GeoJSONをブラウザ上で作成・編集することができるサイトです。
geojson.io

f:id:sanvarie:20181022142419p:plain

8.mapshaper

地図情報の簡素化のためのサイトですが、私はShape、geojsonを相互変換するサイトとしても利用しています。
https://mapshaper.org/

f:id:sanvarie:20181022142829p:plain

9.Geocoding

ジオコーディングを行うサイトです。
http://www.geocoding.jp/

f:id:sanvarie:20181022143234p:plain

ジオコーディングって何?という方は以下のエントリーを読んでみてください。
www.gis-py.com

10.緯度・経度と地心直交座標の相互換算 - 国土地理院

緯度・経度と座標の相互変換を行うサイトです。
https://vldb.gsi.go.jp/sokuchi/surveycalc/surveycalc/transf.html

f:id:sanvarie:20181022143456p:plain

かなり駆け足になってしまいましたが、以上です。今回紹介した以外にもとても面白いサイトがたくさんあるので、ぜひお気に入りのサイトを探してみてください。

あまり日常生活で意識することは無いと思うのですが、GISは我々の生活に欠かせないものになっています。これからもますます便利なサイトができると思うので、本当に楽しみですね。

foliumを使ってみよう

本日はfoliumについて書いてみたいと思います。

foliumとは

WEBマップを作成するためのライブラリです。Leafletというjavascriptのライブラリーがベースになっているようです。WEBサイトに以下のように簡単にインタラクティブなマップを組み込むことができます。

f:id:sanvarie:20181022104917p:plain

インストール

pip install foliumですね

環境

Python2.7.3
jupyter notebook
Windows10

ベースとなる地図について

foliumでは色々な地図タイルを指定することができます

https://github.com/python-visualization/folium/tree/master/folium/templates/tiles

  1. mapboxbright
  2. cartodbdark_matter
  3. cartodbpositron
  4. cloudmade
  5. mapbox
  6. mapboxcontrolroom
  7. openstreetmap
  8. stamenterrain
  9. stamentoner
  10. stamenwatercolor

今回はOpenStreetMap をタイルに指定してみようと思います。OpenStreetMapって何?という方は以下のエントリーを読んでみてください。

www.gis-py.com

サンプルコード

import folium

m = folium.Map(
    location=[-31.950527,115.860457],
    tiles='OpenStreetMap',
    zoom_start=10
)

m

たったこれだけですね。本当に簡単です。

f:id:sanvarie:20181022105832p:plain

緯度経度とマップ読み込み時のズームレベルは任意で指定できます。今回はオーストラリアのパースの地図を表示させてみました。

ただ、これだけだと面白くないので、このマップにポイントをプロットしたいと思います。使用するデータは以下エントリーで作成した西オーストラリアのAirbnbのShapeファイルです。

www.gis-py.com

サンプルコード

import folium
import geopandas

m = folium.Map(
    location=[-31.950527,115.860457],
    tiles='OpenStreetMap',
    zoom_start=10
)

data = geopandas.GeoDataFrame.from_file(r"D:\gis-py\geopandas\airbnb\accommodation.shp")
gjson = data[1:100].to_json() # 数が多すぎるのでデータをしぼる

points = folium.features.GeoJson(gjson)

m.add_child(points)
m

Shapeの全データをプロットするとメモリエラーを起こしてしまったので、データを100件にしぼりましたが、ばっちりですね。

f:id:sanvarie:20181022122402p:plain

f:id:sanvarie:20181022122525p:plain

WEBマップの作成がこんなに簡単にできるなんて一昔前は考えられなかったですね。GIS系のPythonライブラリが年々充実してきている気がします。本当に便利なので、ぜひ使ってみてください。

geopyを使ってジオコーディングをしてみよう

さて、本日はgeopyを使ってジオコーディングをしてみようと思います。

f:id:sanvarie:20181019110343p:plain

geopyとは

ジオコーディング用のPythonライブラリですね。GIS系のPythonライブラリではかなりメジャーです。ジオコーディングとは?という方は以下のエントリーをご参照ください。
www.gis-py.com

インストール

pip install geopy でOKです。

サンプルコード

東京都庁をジオコーディングしてみようと思います。

# -*- coding: utf-8 -*-
from geopy.geocoders import Nominatim

geolocator = Nominatim(user_agent="test")
location = geolocator.geocode(u"東京都庁")

print(location.address)       #住所
print(location.latitude)      #緯度
print(location.longitude)     #経度
print(location.raw)           #ジオコーディングした結果の全ての情報

簡単ですね。最後のlocation.rawはジオコーディングした結果の全ての情報が格納されています。非常に便利です。

f:id:sanvarie:20181019104542p:plain

pandasとの連携

pandasのデータフレームにデータを格納することもできます。pandasについては以下エントリーで紹介しています。興味のある方はぜひ読んでみてください。

www.gis-py.com

www.gis-py.com

サンプルコード

東京、大阪、福岡のジオコーディング結果をpandasのデータフレームに格納するサンプルです。

# -*- coding: utf-8 -*-
import pandas as pd
df = pd.DataFrame({'name': [u'東京', u'大阪', u'福岡']})

from geopy.geocoders import Nominatim
geolocator = Nominatim()

from geopy.extra.rate_limiter import RateLimiter
geocode = RateLimiter(geolocator.geocode, min_delay_seconds=1)
df['location'] = df['name'].apply(geocode)

df['point'] = df['location'].apply(lambda loc: tuple(loc.point) if loc else None)

print df['location']
print ""
print df['point']

これも簡単にできました。

f:id:sanvarie:20181019105307p:plain

ジオコーディングするなら鉄板のライブラリですので、興味のある方はぜひ使ってみてください。

GISデータを無料でダウンロードできる便利サイトのまとめ

さて、本日はGISデータを無料でダウンロードできる便利サイトのまとめを書いてみたいと思います。自分はよく仕事でこういったサイトを利用するのですが、みなさんはどうでしょうか?非常に便利なデータが無料でダウンロードできますので、これからGISに取り組んでいこうという方はぜひ利用してみてください。

各々の目的によって使用されるデータは異なるかと思いますが、以下のサイトを利用すれば、大抵のことはできるかと思います。

1.国土地理院 基盤地図情報

行政区画の境界線、道路縁、建物の外周線、数値標高モデル(DEM)のデータなどをダウンロードできます。基盤地図情報ダウンロードサービス

数値標高モデル(DEM)に関して興味のある方は以下のエントリーを読んでみてください。
www.gis-py.com

2.国土地理院 地理空間情報ライブラリー

「地理院地図」として国土地理院が提供する地図をKML形式でダウンロードできます。http://geolib.gsi.go.jp/node/2537

3.国土政策局 位置参照情報

日本全国の大字町丁目または街区単位の座標をCSV形式でダウンロードできます。
位置参照情報ダウンロードサービス

4.国土数値情報

全国の河川、避難施設、鳥獣保護区、鉄道 など様々なデータをShape形式などでダウンロードできます。
http://nlftp.mlit.go.jp/ksj/index.html

5.J-SHIS 地震ハザードステーション

全国の地盤データなどをShape形式などでダウンロードできます。私は兄が家を購入する際、実際にこちらのデータを使用して地盤の強度を調べました。
J-SHIS 地震ハザードステーション

地盤データに興味がある方は以下エントリーを読んでみてください。
www.gis-py.com

6.ESRI

日本地図のデータをShape形式でダウンロードできます。私は日本地図を使う際は必ずこのデータを使用します。
全国市区町村界データ | ESRIジャパン

ESRI日本地図データに興味がある方は以下エントリーを読んでみてください。
www.gis-py.com

7.総務省統計局 e-Stat

各府省が公表する統計データがまとめられており、国勢調査、経済センサス、農林業センサス等の統計データをShape形式などでダウンロードできます。
地図で見る統計(統計GIS) | 政府統計の総合窓口


ざっとこんなところでしょうか。ちなみに私が一番よく利用するサイトは「基盤地図情報」ですね。こんな便利なデータを無償で提供していただけるとは本当にありがたいです。

mxdperfstatを使ってみよう

ArcGISを使っていて、速度が気になることはありませんか?もしかしたらお使いのGISデータの速度改善ができるかもしれません。

ArcGISをお使いの方であればMXDはご存知かと思います。ただ、MXDの速度を計測したことはありますでしょうか?

そんな時はmxdperfstatを使えば大丈夫です。

ESRI公式のツールではなく、サポートはされていないのですが、無償で使用することができます。たしか、ESRI内の有志が集まって作ったとかだと思いました(ESRIの方に聞いたのですが、詳細は忘れてしまいました)。

以下のサイトからダウンロードできます。
https://www.arcgis.com/home/item.html?id=a269d03aa1c840638680e2902dadecac

こんな感じですね。
f:id:sanvarie:20181016160308p:plain

データ

神奈川県のポリゴンと適当な施設のポイントをmxdにしてみました。これを使用します。
f:id:sanvarie:20181017102527p:plain

使い方

以下のようにコマンドを入力してください(使用するexeのバージョンはお使いのArcGISに合わせてください)。スケールはオプションで付けることができます。ですので、各スケールによるパフォーマンスも測ることがことができます。

mxdperfstat10.4.exe -mxd C:\mxdperfstat\kanagawa.mxd -scale 2000


f:id:sanvarie:20181017103352p:plain

こんな感じでXMLが出力されます。これをEXCELなどで見ることができます。
f:id:sanvarie:20181017103501p:plain

EXCELで開くとこんな感じですね。「Refresh Time (sec)」列を見ると各レイヤの読み込み時間が表示されます。サンプルデータはデータ数が少ないのであまり差は出ていませんが、ここの値が大きければパフォーマンスに改善の余地があることがわかります。
f:id:sanvarie:20181017104040p:plain

GISのパフォーマンスの数値化というのはなかなか困難な作業かと思います(遅いとか早いとかは主観によるものですので)。もしそういったことにお悩みであればmxdperfstatを使ってみてはいかがでしょうか。

GISエンジンおよびサービスのまとめ

今日は私が日常的に使用しているGISエンジンおよびサービスについてまとめてみようと思います。エンジンという言葉は普段あまり耳にすることは無いと思いますが、ソフトウェアと考えて問題ないと思います。GISデータを扱うためのソフトウェアですね。

GISって何?という方は以下のエントリーを読んでみてください。
www.gis-py.com


GISの導入を考えており、どのエンジンにするか選定中という方は当エントリーを参考にしていただけると幸いです。GISエンジンは使用しないけど、世の中にいったいどういったGISエンジンやサービスがあるのか興味があるという方もぜひ参考にしていただければと思います。

1.ArcGIS

言わずと知れたGIS界の巨人ESRIが展開するGISエンジンです。様々な製品を展開しており、正直、私もすべてを把握できてはいません。

ArcGIS製品で私がよく使用するものは以下です。
①ArcGIS Desktop
GISデータを参照、編集することができるソフトです。ArcGIS Desktop | ESRIジャパン

f:id:sanvarie:20181016102438p:plain

おそらくこれがあれば、ほとんどのGIS関連の業務は事足りるのではないでしょうか。分析や色分け機能などがとても充実しており、綺麗な地図を作成することができます。


②ArcGIS Engine
ArcGIS Desktopで大抵のことはできてしまうのですが、例えば、特定の業務を行う際、ArcGIS Desktopだと少し物足りない、もしくは、作業手順が煩雑になるという場合、必要なGISアプリを開発することもあるかと思います。その際に使用するのがArcGIS Engineです。ざっくりいうとライブラリですね。これを使用すれば痒い所に手が届くアプリを開発することができます。
ArcGIS Engine | ESRIジャパン


③ArcPy
製品というわけではないと思うのですが、ArcGISをインストールすると一緒にインストールされるのがこのArcPyです。作業の自動化はしたいが、ArcGIS Engineを使うほどではないという場合に非常におすすめです。名前から推測できるかと思いますが、Pythonを使ってArcGISデータを扱うことができます。ArcGIS Desktop上で使用することができるので、とても便利です。

f:id:sanvarie:20181016103731p:plain

ArcPyについては色々なエントリーを書いていますので、ぜひ読んでみてください。
www.gis-py.com


※使ってみたいサービス
④ArcGIS Online
近年、ESRIが力を入れているクラウド GISです。ユーザーがいつでもどこでも手軽に利用できるというメリットがあります。ただ、使用料が従量課金制というのがいまいちかなと個人的には思っています(ただし、参照のみの場合は無償)。
ArcGIS Online | ESRIジャパン

2.SIS

ArcGISほどメジャーなGISエンジンではありませんが、こちらも私はよく使用します。Cadcorpという会社が販売しているGISエンジンです。https://www.cadcorp.com/

こちらの会社もESRIほどではないですが、色々な製品を展開しています。

SIS製品で私がよく使用するものは以下です。
①SIS Map Modeller
GISデータを参照、編集することができるソフトです。
f:id:sanvarie:20181016104339p:plain

この製品の特長としては色々なファイルを開くことができるということでしょうか。この点に関してはArcGIS Desktopに勝っているのではないかと思います。

あと、ArcGIS Desktopは大容量のShapeファイルを開こうとしたりすると、頻繁に落ちたりするのですが、SIS Map Modellerではまずそういったことはありません。また、ArcGISのデータ形式であるFGDBはよく壊れたりするのですが、SISのデータ形式であるbdsは壊れることはあまりありません。こういったところは本当にSISは非常によくできており、もう少しメジャーになってもいいのではないかと思うエンジンですね。

②SIS SDK
ArcGIS Engineと同じように、SISをベースとしたアプリケーションを開発する際に使用します。

3.QGIS

ArcGISやSISと異なり、こちらは無償のGISエンジンです。無償といってもその機能はとても充実しています。参照、編集に関しては有償のエンジンとの差はほとんどないかもしれません。ただ、細かい分析などをしたい場合はArcGISに軍配が上がるかと思います。個人でGISエンジンを利用する場合はQGISを選ぶ方が大多数ではないでしょうか。

①QGIS Desktop
GISデータを参照、編集することができるソフトです。ArcGIS DesktopやSIS Map Modellerと同じですね。

f:id:sanvarie:20181016110753p:plain

4.Google Map

こちらは言うまでもないでしょうか。世界ナンバーワンのGISサービスですね。
Google マップ

f:id:sanvarie:20181016113000p:plain


Google Maps APIを使用すればGoogle Mapを使用してGISアプリを作ることができます。Google Maps APIに興味がある方は以下を読んでみてください。

www.gis-py.com

5.Google Earth

Google Mapほどではないにしろ、こちらも人気のGISサービスですね。Google Earth

f:id:sanvarie:20181016115313p:plain

うーん、かっこいい。

6.地理院地図

国土地理院が展開するGISサービスですね。少しマニアックになってしまいますが、GIS関係の仕事をしている方はよく使われるのではないでしょうか。
地理院地図

Google Mapとは違った見た目ですが、渋くて自分は大好きですね。
f:id:sanvarie:20181016115609p:plain

7.OpenStreetMap

OpenStreetMap(OSM)は、道路地図などの地理情報データを誰でも利用できるよう、 フリーの地理情報データを作成することを目的としたプロジェクトです。地図版のWikipediaといったところでしょうか。

OpenStreetMap

f:id:sanvarie:20181016122753p:plain

OpenStreetMapに興味がある方はぜひこちらを読んでみてください。
www.gis-py.com


個人的な評価はざっとこんな感じでしょうか。やはり機能面は有償のGISエンジンが優れていると思いますが、価格や手軽さを考慮すると無償のGISの存在というのはとても大きいと思います。ただ、どのエンジンやサービスを使うべきというのは無くて、各々の目的に適したものを使用されるのがいいかと思います。

GIS 無償 機能 手軽さ
ArcGIS × ×
SIS × ×
QGIS ×
Google Map
Google Earth
地理院地図
OSM