# Geospatial Hackers Program2019教材一覧
## Geospatial Hackers Programとは
Geospatial Hackers Programは社会課題の解決や新規ビジネス創出のために役立つ 「G空間技術」 を学び、初学者も技術者もG空間技術を自身のミッション達成のために活用できるようになる、半日のハンズオンと2日間の実践研修からなる学習プログラムです。
※Geospatial Hackers Programは、総務省が主催するG空間人材の育成事業です。。
プログラムの詳細はこちらから。
https://ghp.connpass.com/
## 2018年度優秀作品の紹介
https://hackmd.io/@geohack/SyCoe3ORS
## 2019年度公開教材
### 地理空間情報入門
地理空間情報技術、データ、ツールについての入門的な知識をまとめています。(動画)
{%youtube kcVgNkqQNDs %}
:::info
**「G空間社会」とは**
地図(自分の位置)や空からの映像、測位衛星(GNSS衛星)等から得られる「いつ・どこ」情報に、さらにさまざまな情報を組み合わせて利活用することでより便利で楽しいサービス、家族や生活を支える安全・安心サービスなどを誰でも受けることができる社会
**「いつ」×「どこ」×「●●」=G空間技術**
:::
政府の提唱する「**Society5.0**」という概念があります。
参考:https://www8.cao.go.jp/cstp/society5_0/index.html
Society5.0を実現するための道筋の一つとして、位置と時間の情報をさまざまなデータと結びつけることで新たな価値を創造するG空間社会の実現は、欠かせない考え方です。
こちらはSociety5.0に関するコンセプトムービーです。この中でもどこにどんな風にG空間技術が活用されているか、想像しながらご覧ください。
{%youtube xQnnAih8KIo %}
### オープンデータの基礎知識
**総務省公式 解説動画「オープンデータってなんだろう?」**
{%youtube 5tVVYrcaT24 %}
G空間技術を扱うために、オープンデータという概念は切っても切り離せません。
一口にオープンデータといっても、様々なデータ形式が存在しています。
総務省では、5スターオープンデータというデータの汎用性に応じて5段階に分けた分類をしていますので、以下のリンクを参照してください。
参考:https://www.soumu.go.jp/main_content/000353999.pdf
オープンデータはこのような方針の元、政府によって活用が推進されています。
https://cio.go.jp/sites/default/files/uploads/documents/data_shishingaiyou.pdf
#### 様々な公開データ形式
##### SPARQL(5星オープンデータ)
SPARQLは、RDFクエリ用のW3C標準化言語です。他のRDFクエリ言語も提案されました。
例
```
SELECT ?title
WHERE
{
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title .
}
```
##### JSON(JSON形式には様々な種類があります。その形式によって、5星から3星のオープンデータに分類されます)
JSONとは、JavaScript Object Notationの略で、KeyとValueからなるオブジェクトリテラルです。
例
```
{ "01": "TOKYO", "02": "KANAGAWA"}
```
##### CSV,TSV 第3段階のオープンデータ
CSVとは、Comma Separated Valuesの略で、カンマ区切りのデータです。
例
```
01, "TOKYO"
02, "KANAGAWA"
```
TSVとは、Tab Separated Valuesの略で、「タブ」で区切られたデータです。
例
```
01 "TOKYO"
02 "KANAGAWA"
```
##### XLS, DOCなど 2段階のオープンデータ
コンピュータの特定のソフトウェアで利用できる形式のものなど、編集ができる形式で展開されているオープンデータ
##### PDF 1段階のオープンデータ
PDFやJPGなど、編集する事が困難な形で展開されているオープンデータ
さらに深めたい方はこちらご参照ください。
**LODとSPARQL**
※下記の「地図アプリ作成チュートリアル」に使用されている言語「SPARQL」についてもっと深めたい方はこちらご参照ください。
https://www.atmarkit.co.jp/ait/articles/1408/12/news006.html
---
### プログラミング学習初期によくあるミスについて
プログラミングに慣れていない場合、チュートリアルどおりにやっているつもりでもうまく動かないといったケースが出てきます。初心者の方がつまづくポイントを以下に記載しておきますので、うまく行かない場合には、次の点を確認して下さい。
ソースコードには、さまざまな文字や数字、記号が登場します。見た目が似ていても、間違った文字を入力するとプログラムは正常に動作しません。特に次の点に気を付けましょう。
:::info
* 英数字は基本的に半角で入力し、大文字・小文字の違いを意識する。
* o(英字のオー)と0(数字のゼロ)、l(英字の小文字のエル)と、I(英字の大文字のアイ)と、1(数字のイチ)、;(セミコロン)と:(コロン)、. (ピリオド)と, (カンマ)を間違えない。
* ()(丸かっこ)、{} (波かっこ)、[](角カッコ)を間違えない。
* '(シングルクォーテーション)と"(ダブルクォーテーション)の引用符の種類を間違えない。
* カッコと引用符は、必ず閉じる必要がある。
:::
---
### 初学者向けチュートリアル動画
理論や意味が分からなくても問題ありません。
まずはチュートリアルどおりに地図を表示させるところまでやってみましょう。初心者の方はベーシック編、ステップアップ編ともにまずはやってみてください。
**地図アプリ作成チュートリアル動画(ベーシック編)**
プログラミングや専門知識がなくても、マップアプリが簡単に作れる!
サクッと地図アプリを作るところまでがチュートリアルで理解できます。
{%youtube OY7aNX5eu_k %}
**地図アプリ作成チュートリアル動画(ステップアップ編)**
SPARQLという言語を使い、マップアプリにデータを追加する方法をチュートリアルでご紹介します。
{%youtube _GXsZ9g28QI %}
**チュートリアル内で参照されるgithubページ**
https://github.com/code4fukui/gsimap
**動画内で使われているスライド**
{%slideshare HackCamp_Shihori/sparqlg %}
**チュートリアル中に出てくる技術について学べるサイト**
* **HTML入門**https://developer.mozilla.org/ja/docs/Learn/HTML/Introduction_to_HTML
* **CSS入門**
https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web/CSS_basics
* **JavaScript**
https://developer.mozilla.org/ja/docs/Learn/JavaScript/First_steps
---
### 中級者講座:Pythonを利用した地理空間分析と可視化
{%youtube 3iAYOHmMEFY %}
**動画に使用されているコード等の格納先**
https://github.com/mamix1116/geo_python_cookbook
**GeoPandasのインストールに失敗した場合の対処法**
https://qiita.com/doraneko94/items/a9a3f4d7e32f953e7c5c
#### 対象者:
* Pythonが使える方
* PythonとJupyter notebookが使える方
* 地理空間データをJupyter notebookで分析、可視化したい方
#### 何ができるようになるか
* GeoPandasを利用してJupyter notebookで地理空間分析と可視化ができるようになる
#### どんな技術を使っているか
* python
https://www.python.jp/
* Jupyter notebook
https://jupyter.org/
* Jupyter Lab
https://github.com/jupyterlab/jupyterlab
* GeoPandas
http://geopandas.org/
* Pandas
https://pandas.pydata.org/
* Kepler GL for Jupyter
https://github.com/keplergl/kepler.gl/blob/master/docs/keplergl-jupyter/user-guide.md
### 中級者講座:Mapbox × Unityでゲームを作ろう
2019年度GHPの北陸会場では、ゲームエンジニア育成コミュニティ「つくるUOZU」とのコラボレーションにより、ゲーム×G空間というテーマで実施をしました。
**MapBox × Unityで地理空間情報ゲーム**
{%youtube 23XogRQCKxI %}
※UnityTile.csとFlatTerrainStrategy.csは、Githubのmasterブランチではなく、flatTerrainColliderFixブランチからコピーしてください。
https://github.com/mapbox/mapbox-unity-sdk/tree/flatTerrainColliderFix
動画内で使用しているC#スクリプトは、
https://github.com/doraneko94/GeoHack
を参照してください。
Unityを初歩から学びたいという方はこちらを参照してください。
**Geospatial Hackers Program in 北陸 参加者用教材**
https://hackmd.io/@geohack/rJZgrvTlI
---
## その他参考教材
### データの利活用について
#### 【動画】G空間データ利活用方法〜地下街・路線バス編〜
※2018年度、関西地域で実施したプログラムにて制作した動画のため、関西地域のデータ紹介となっています。
{%youtube NpH_3wTXjGw %}
大阪・梅田周辺地下街オープンデータ
https://www.geospatial.jp/ckan/dataset/umechika
※みなと観光バスのセンサデータは現在は公開しておりません。
#### 【動画】衛星リモートセンシングの利活用について
{%youtube 64JzV0ynJIk %}
:::info
### Geo data Hand Book
Geo系データ、ライブラリをプログラマーが使いたいときの各種ショートカット
https://hackmd.io/qp6eiyLVSBSPSmigNVKWXQ?view
:::
### Mapboxで遊んで学ぶチュートリアル
https://github.com/Georepublic/Mapbox-tutorials/blob/master/INSTRUCTION.md
### GIS実習オープン教材
https://gis-oer.github.io/gitbook/book/
出典:© GIS Open Educational Resources WG, CC BY-SA 4.0