SlideShare una empresa de Scribd logo
1 de 63
Code for Ikoma
2017.1.21 Ikoma
~ Cesium実践 ~
NPO法人 伊能社中
誰もが楽しめる地球儀
~Google Earth~
誰もが楽しめる地球儀
~Google Earth~
Google earth Proが無償となり、
高度な機能も無料で使えるようになった
・・・しかし
2015年 12月
Google Earth API廃止
Webでの3D地球儀が見れなくなった。
ハンズオン概要
Google Earth APIの廃止
3D地球儀がWeb上で使えなくなった
2015年12月
ブラウザによって制限される
すでに……。
Cesiumが注目
HTML5・WebGLに対応
オープンソース
GitHubで一括管理公開できる
移行する環境は整っている
そこでCesium
Cesiumとは
Web GLを利用して、高度な3D表現が可能
プラグインなしでwebでGoogleEarthのような地図が使える
平面⇔球体表現が自由
そして・・・
オープンソースである
なにかと便利でGoogleEarthからCesiumへ移行する動きがみられる
ふ
む
ふ
む
。
http://cesiumjs.org/index.html
http://cesiumjs.org/Cesium/Apps/HelloWorld.html
とはいえ、 GoogleEarthのほうが使い勝手が良い点も
たとえば、このようなポリゴンを書きたいとき・・・
Google Earthなら
ポリゴン作成のアイコンをクリックして、ポチポチするだけで視覚的に作成できる
Cesiumだと
var Polygon = viewer.entities;
Polygon.add({
name : 'Polygon',
polygon : {
hierarchy : Cesium.Cartesian3.fromDegreesArray([-108.0, 42.0,
-100.0, 42.0,
-104.0, 40.0,
-111.0,40.0]),
extrudedHeight: 500000.0,
material : Cesium.Color.GREEN
}
});
安心してください
Kmlデータをcesiumに読み込ませることも可能
Cesium上で直接点・占・面を各方法
Googleearthで点・占・面を作ってそれを読み込ませる方法
ところで、Cesiumの内容はJavaScriptで記載
Webブラウザでそのスクリプトを読み込む
JavescriptにCesiumの表示や、kmlの読み込み命令文を記入
そのjavaScriptをウェブブ
ラウザで読み込む
CesiumはWeb GL を用いたWebGIS
表示にはウェブサーバーを介する必要がある
そのため、それらをGitHubにアップする
伊能社中で作成したCesium
福知山水害アーカイブ http://sagara1020.github.io/tokyo-demo/cesium-starter-app-
master/index.html
GitHub
GitHub
ソフトウェアバージョン管理にすぐれている、
共有ウェブサービス
Git
プログラムソースなどの変更履歴を管
理するバージョン管理システム
⇒コードを共有・公開できる
1.実践〜Cesium + GitHub で地図を表示しましょう〜
①GitHubの準備(GitHubでリポジトリ作成)
②CesiumのデータをGitHubにアップ
③App.jsの操作(Cesiumの表示)
④Cesiumで点線面を書いてみる
⑤kmlをCesiumで表示(kmlを作成してから)
2.実際に生駒のアーカイブを作ってみよう
本日のタスクフロー
1.実践
① GitHubの準備
GitHubにSign Inする
user name(or email address) とパスワードを入力する
GitHubにログインしたら、➕ ボタンから「New repository」を作成する
Repository nameを入力し、READMEをチェックし、「Create Repository」をクリック
タブの(Settings)をクリックする
「master branch」 を選び「save」をクリック
「Clone or download」 →「Open in Desktop」をクリックし、ローカルに複製する
※「Github Desktop」を使うPCに入れておく。
クライアントソフトが自動的に立ち上がるので、複製するディレクトリを選択する
クライアントソフトに追加されたことを確認する。
② GitHubにCesiumを
http://cesiumjs.org/downloads.html
Cesiumのホームページからダウンロードすることができる
今回はこちらを利用する https://github.com/oza-pong/ikomaArchive.git
「Clone or download」→「Download ZIP」 をクリックする
解凍した「cesium-starter-app」をクリックし、中身を確認する
「cesium-starter-app-master」を
先ほど作成したディレクトリにコ
ピーする。
変更された
内容が表示
される
Summaryを入力して→「Commit to master」をクリック 「Sync」をクリック
Githubに「cesium-starter-app-master」が入っているか確認する。
Cesiumを表示してみる
SettingsタブからGithub Pagesの
Your site is published at以下の
URLをコピーする。
そのURLの後ろに「cesium-
starter-app-master/index.html」
をつける。
https://oza-pong.github.io/codeforikoma/cesium-starter-app-master/index.html
地球が表示される!
Cesiumは、ダウンロードして
ローカルフォルダーにいれるだけで
Web上で表示できる!
②の要点
③Cesium編集入門
・点線面を書く
・視点を変える
Sourceを開き、「App.js」をテキストエディタで開く(本来は…。)
https://github.com/pjcozzi/cesium-starter-app
Sourceを開き、「App.js」をテキストエディタで開く
ビューワーを読み込むコード
//add a point
var point = viewer.entities;
point.add({
position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
point : {
pixelSize : 10,
color : Cesium.Color.YELLOW
}
});
ポイントを追加する:point とへいう変数を設定し、色や位置を設定する
←緯度経度
←ポイントのサイズ
←ポイントの色
ここに下のコードを貼り付ける
ポイントが追加された
//add a line
var line1 = viewer.entities;
line1.add({
name : 'Red line on the surface',
polyline : {
positions : Cesium.Cartesian3.fromDegreesArray([-75, 35,
-125, 35]),
width : 5,
material : Cesium.Color.RED
}
});
ラインを追加する:Line1とへいう変数を設定し、色や位置(始点と終点)を設定する
ここに下のコードを貼り付ける
←ラインの視点と終点の座標
←ラインの色
←ラインの太さ
ラインが追加された
//add polygon
var Polygon = viewer.entities;
Polygon.add({
name : 'Polygon',
polygon : {
hierarchy : Cesium.Cartesian3.fromDegreesArray([-108.0, 42.0,
-100.0, 42.0,
-104.0, 40.0]),
extrudedHeight: 500000.0,
material : Cesium.Color.GREEN
}
});
ここに下のコードを貼り付ける
ポリゴンを追加する:Polygon とへいう変数を設定し、色や位置(と高さ)を設定する
←ポリゴンを構成する頂点の座標
←高さ(m:https://cesiumjs.org/refdoc.html参照)
←ポリゴンの色
ポリゴンが追加された
ここに下のコードを貼り付ける
viewer.camera.flyTo({
destination : Cesium.Cartesian3.fromDegrees(135.69, 34.69, 1000.0)});
Cesiumに動きをつけて、地図の視点を変更する
← 表示画面の視点が変更された
↑ 生駒市周辺の緯度経度を入力
←ビューワーの視点を変更するコード
var viewer = new Cesium.Viewer('cesiumContainer', {
imageryProvider: new Cesium.OpenStreetMapImageryProvider({
url: 'http://cyberjapandata.gsi.go.jp/xyz/std/',
credit: new Cesium.Credit('地理院タイル', '', 'http://maps.gsi.go.jp/development/ichiran.html')
}),
baseLayerPicker: false
});
viewer.camera.flyTo({ destination : Cesium.Cartesian3.fromDegrees(139.76,35.67, 15000.0)});
Cesiumで地理院地図を表示する
← 東京周辺を表示する
← 地理院地図+Cesiumが表示できる
※ 実装する場合は利用規約に従う
http://maps.gsi.go.jp/development/sample.ht
ml :(コードは、国土地理院を参照)
↑地理院タイルを読み込むコード
↓視点を変更するコード
cesium-stater-appを使えば、
App.jsを編集するだけで地物を追加できる!
③の要点
④CesiumにKMLをのせる
Ikoma_sample.kmlを入れよう!
KmlをGithubに入れよう!
Kmlを作成したレポジトリーに入
れる。
var viewer = new Cesium.Viewer('cesiumContainer');
viewer.dataSources.add(Cesium.KmlDataSource.load('kmlのディレクト
リー'));
ここに下のコードを貼り付ける
kmlをApp.jsと同じフォルダーに移動し、フルパスを取得し貼り付ける
※フルパスの方が安定して表示される
アップロードするとcesiumにkmlが表示される
4.さぁ、kmlをCesiumへ
〜習うより慣れろのコーナー〜
各班で前回行ったフィールドワークのデータをcesiumに入
れよう!
参考サイト紹介
Cesiumのホームページ(Demo)、実用例が紹介されている
http://cesiumjs.org/demos.html
http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html
Cesiumのホームページ(Demo)コードの確認、実行が可能なサイト
伊能社中からのお知らせ
すごい災害訓練の募金
https://donation.yahoo.co.jp/detail/5101001/

Más contenido relacionado

Destacado

20151107 Code for Japan Summit 2015 - IKOMA
20151107 Code for Japan Summit 2015 - IKOMA20151107 Code for Japan Summit 2015 - IKOMA
20151107 Code for Japan Summit 2015 - IKOMATakuya Sato
 
20160911 code4lib 図書館アプリなによもプレゼン
20160911 code4lib 図書館アプリなによもプレゼン20160911 code4lib 図書館アプリなによもプレゼン
20160911 code4lib 図書館アプリなによもプレゼンTakuya Nozu
 
20160507 ならマガ・イコマガ使い方講座
20160507 ならマガ・イコマガ使い方講座20160507 ならマガ・イコマガ使い方講座
20160507 ならマガ・イコマガ使い方講座Takuya Sato
 
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介Takuya Sato
 
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜Takuya Sato
 
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップTakuya Sato
 
CODE for IKOMAと生駒市の協働プロジェクト
CODE for IKOMAと生駒市の協働プロジェクトCODE for IKOMAと生駒市の協働プロジェクト
CODE for IKOMAと生駒市の協働プロジェクトTakuya Sato
 

Destacado (7)

20151107 Code for Japan Summit 2015 - IKOMA
20151107 Code for Japan Summit 2015 - IKOMA20151107 Code for Japan Summit 2015 - IKOMA
20151107 Code for Japan Summit 2015 - IKOMA
 
20160911 code4lib 図書館アプリなによもプレゼン
20160911 code4lib 図書館アプリなによもプレゼン20160911 code4lib 図書館アプリなによもプレゼン
20160911 code4lib 図書館アプリなによもプレゼン
 
20160507 ならマガ・イコマガ使い方講座
20160507 ならマガ・イコマガ使い方講座20160507 ならマガ・イコマガ使い方講座
20160507 ならマガ・イコマガ使い方講座
 
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
20150622 アーバンデータチャレンジ CODE for IKOMAのご紹介
 
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
20150221 子育てアプリアイデアワークショップvol.2 〜インターナショナルオープンデータデイ in 生駒〜
 
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
20150404 CODE for IKOMA × 門前おかげ楼 アイデアワークショップ
 
CODE for IKOMAと生駒市の協働プロジェクト
CODE for IKOMAと生駒市の協働プロジェクトCODE for IKOMAと生駒市の協働プロジェクト
CODE for IKOMAと生駒市の協働プロジェクト
 

Similar a 20170121 codeforikoma cesium実践

Cesium入門ハンズオン~kml読み込み~
Cesium入門ハンズオン~kml読み込み~Cesium入門ハンズオン~kml読み込み~
Cesium入門ハンズオン~kml読み込み~Hiroyuki YAMAUCHI
 
GCP でも Serverless!!
GCP でも Serverless!!GCP でも Serverless!!
GCP でも Serverless!!Igarashi Toru
 
Google I/O 2013に行ったついでにラスベガス戦果報告
Google I/O 2013に行ったついでにラスベガス戦果報告Google I/O 2013に行ったついでにラスベガス戦果報告
Google I/O 2013に行ったついでにラスベガス戦果報告Shoya Tsukada
 
Cloud functionsの紹介
Cloud functionsの紹介Cloud functionsの紹介
Cloud functionsの紹介Takuya Ueda
 
Chrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみるChrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみるMasakazu Muraoka
 
20150903 サーベイアカデミー2015仙台 raw
20150903 サーベイアカデミー2015仙台 raw20150903 サーベイアカデミー2015仙台 raw
20150903 サーベイアカデミー2015仙台 rawTaichi Furuhashi
 
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Eiichi Tsuru
 

Similar a 20170121 codeforikoma cesium実践 (8)

Cesium入門ハンズオン~kml読み込み~
Cesium入門ハンズオン~kml読み込み~Cesium入門ハンズオン~kml読み込み~
Cesium入門ハンズオン~kml読み込み~
 
GCP でも Serverless!!
GCP でも Serverless!!GCP でも Serverless!!
GCP でも Serverless!!
 
Google I/O 2013に行ったついでにラスベガス戦果報告
Google I/O 2013に行ったついでにラスベガス戦果報告Google I/O 2013に行ったついでにラスベガス戦果報告
Google I/O 2013に行ったついでにラスベガス戦果報告
 
Serverless on GCP
Serverless on GCPServerless on GCP
Serverless on GCP
 
Cloud functionsの紹介
Cloud functionsの紹介Cloud functionsの紹介
Cloud functionsの紹介
 
Chrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみるChrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみる
 
20150903 サーベイアカデミー2015仙台 raw
20150903 サーベイアカデミー2015仙台 raw20150903 サーベイアカデミー2015仙台 raw
20150903 サーベイアカデミー2015仙台 raw
 
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。
 

Último

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 

Último (6)

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

20170121 codeforikoma cesium実践