「RaspberryPiで地図タイル」の版間の差分
2行目: | 2行目: | ||
|__TOC__ | |__TOC__ | ||
|} | |} | ||
+ | この情報は古くなっています。 | ||
+ | |||
夜景GoogleMapsを作ってみます。 | 夜景GoogleMapsを作ってみます。 | ||
2022年6月24日 (金) 10:53時点における最新版
この情報は古くなっています。
夜景GoogleMapsを作ってみます。
環境
ボード | Raspberry Pi 3 Model B |
OS | 2017-09-07-raspbian-stretch-lite |
microSDHC | SanDisk Ultra microSDHC Class10 16GB |
LAN | 標準搭載の有線LAN |
作業補助PC | WindowsPC |
デスクトップ環境
raspberrypi login: pi Password: raspberry $ sudo raspi-config 7.Advanced Options → A1 Expand Filesystem tabでFinishでreboot $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install raspberrypi-ui-mods $ sudo apt-get install fonts-vlgothic $ sudo raspi-config 3.Boot Options B1 Desktop/CLI → B4 Desktop Autologin 4.Localisation Options I1 Change Locale → ja_JP.UTF-8でスペースキーで*印付けてtabでOK Default locale → ja_JP.UTF-8 I2 Change Timezone → Asia → Tokyo I3 Change Keyboard Layout → Generic 105-key (Intl) PC → Other → Japanese → Japanese → The default for the keyboard layout → No compose key → No I4 Change Wi-Fi Country → JP Japan tabでFinishでreboot
追加アプリのインストール
参考: Raspberry Pi 3にデスクトップ環境をインストールする
Termitという端末があるのでこれを使ってみる
raspi-configのGUI版 Text Editor ターミナル ブラウザ 圧縮解凍 RealVNC
$ sudo apt-get install rc-gui leafpad lxterminal chromium-browser xarchiver realvnc-vnc-server
ホスト名変更
$ sudo leafpad /etc/hostname
変更
mapserver
$ sudo leafpad /etc/hosts
変更
127.0.1.1 mapserver
再起動
$ sudo reboot
IP固定
$ sudo leafpad /boot/cmdline.txt
末尾に(スペース空けて)追記
net.ifnames=0
$ sudo leafpad /etc/dhcpcd.conf
末尾に追記(設定内容は各ネットワーク環境により異なります。「Raspberry Pi IP固定」などで検索してみてください。)
interface eth0
static ip_address=192.168.1.190/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
再起動
$ sudo reboot
遠隔操作
運用にはモニター、マウス、キーボードは必要ないので、この段階で遠隔操作に
RealVNCが標準で入っているのでこれを使用
Menu→設定→Raspberry Piの設定→インターフェイスタブ→VNC有効→OK→再起動
何も考えずディスプレイを取り外しVNCに接続すると画面サイズが656x416となってしまう
おまじないがあるようなので設定
$ sudo leafpad /boot/config.txt
#hdmi_mode=1の下に以下を追加
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=47
参考: config.txt - Raspberry Pi Documentation
Raspberry Piをシャットダウン
モニター、マウス、キーボードを取り外して電源入れ直し
VNCクライアントから接続してみる
RealVNC Viewerの場合 VNC Server: mapserver.local または 192.168.1.190 Username: pi Password: raspberry Confirm: raspberry
成功していれば、以降はVNCクライアントの窓の中で作業
下調べ
サーバサイドで画像生成する場合はGeoServerかMapServer 魅力的だけどRaspberry Piでは心配 保留
参考: 地球地図を利用した地図タイルの作成 - FOSS4G TOKYO 2014 全体セッション2
地図タイルは静的ファイルを用意するだけでいい mbtilesはsqliteにタイル化されたファイルを格納する仕様 扱いは簡単になるけど配信環境に苦労しそう 保留 地図タイルで全世界を吐き出すとズームレベル18で680億ファイルぐらい=linuxファイル管理限界値を超えるので注意 ファイル管理限界値(inode)はファイルシステム作成時に決定(固定)
参考: 地図タイルについて - smellman's Broken Diary
TMS(Tile Map Service)とWMTS(Web Map Tile Service)ならTMS採用 WMTSは厄介 ZXYタイル(ちょっと前までXYZタイルっていう人が多かった)はクソ仕様で規格化されてない クソ仕様だけど国土地理院の地理院タイルやOpenLayersやLeafletなどで採用してる
参考: 地図タイルがおもしろい
地図タイル作成手順 地図画像があるとして 画像を地図情報付き画像(GeoTiff)にする ・gdal_translate 地図情報付き画像の座標系を変える ・gdalwarp 地図を地図タイルに変換する ・gdal2tiles.py
参考: cesium-assets/imagery at master · AnalyticalGraphicsInc/cesium-assets · GitHub
NASAのBlackMarbleのズームレベル0-8のタイルマップサービス(TMS) このgithubリポジトリに格納するには大きすぎるので、http://cesium.agi.com/blackmarble にホストされています
方向性
地図タイル(ZXYタイル)
ファイル管理限界、データ容量、ズームレベルのバランス注意
ファイルシステムの確認
$ df -T ファイルシス タイプ 1K-ブロック 使用 使用可 使用% マウント位置 /dev/root ext4 15242572 2423696 12167268 17% /
ext4
限界ファイル数の確認
参考: iノード(inode)とは
$ df -i ファイルシス Iノード I使用 I残り I使用% マウント位置 /dev/root 938672 81126 857546 9% /
938,672個
タイル数(ファイル数)の確認
ズームレベル | 2n * 2n | 合計枚数(枚) | 累積合計枚数(枚) |
0 | 20 * 20 = 1 * 1 | 1 | 1 |
1 | 21 * 21 = 2 * 2 | 4 | 5 |
2 | 22 * 22 = 4 * 4 | 16 | 21 |
3 | 23 * 23 = 8 * 8 | 64 | 85 |
4 | 24 * 24 = 16 * 16 | 256 | 341 |
5 | 25 * 25 = 32 * 32 | 1,024 | 1,365 |
6 | 26 * 26 = 64 * 64 | 4,096 | 5,461 |
7 | 27 * 27 = 128 * 128 | 16,384 | 21,845 |
8 | 28 * 28 = 256 * 256 | 65,536 | 87,381 |
9 | 29 * 29 = 512 * 512 | 262,144 | 349,525 |
10 | 210 * 210 = 1,024 * 1,024 | 1,048,576 | 1,398,101 |
11 | 211 * 211 = 2,048 * 2,048 | 4,194,304 | 5,592,405 |
12 | 212 * 212 = 4,096 * 4,096 | 16,777,216 | 22,369,621 |
13 | 213 * 213 = 8,192 * 8,192 | 67,108,864 | 89,478,485 |
14 | 214 * 214 = 16,384 * 16,384 | 268,435,456 | 357,913,941 |
15 | 215 * 215 = 32,768 * 32,768 | 1,073,741,824 | 1,431,655,765 |
16 | 216 * 216 = 65,536 * 65,536 | 4,294,967,296 | 5,726,623,061 |
17 | 217 * 217 = 131,072 * 131,072 | 17,179,869,184 | 22,906,492,245 |
18 | 218 * 218 = 262,144 * 262,144 | 68,719,476,736 | 91,625,968,981 |
画像のダウンロード
NASA Earth at Night : Feature Articles / Earth at Night: Flat Maps
2012 Color 21,600x21,600 GeoTIFF 8枚
2016 Color 21,600x21,600 GeoTIFF 8枚
見た目のズームレベルは8
見た目とズームレベルの参考: タイル座標確認ツール
画像の加工
WindowsPC
解像度が低いので地形の要素を除去し夜景の光の成分だけ抽出
ベース地図はBingMapsの航空写真がよさげ レイヤ合成する方向で
Photoshopの限界は30万x30万pixel 一辺が3万pixelを越えるとPSD形式では保存できなくなる 加工できたとしても保存形式がビックドキュメント形式(PSB形式)となり、書き出しの種類が制限されBigTIFF(4GB制限解除)が無いためTIFF書き出し4GB制限に引っかかる ビックドキュメント形式(PSB形式)から汎用フォーマットRAWの書き出しができる 汎用フォーマットRAWからGDALに持っていける形が理想と思われるが、どうもうまくいかない(要検証) オリジナルの一辺2.16万pixelで加工しGDALで仕上げる
Photoshop * チャンネルミキサーでモノクロred:+100% green:+200% blue:-200%で白黒マスク作成 * 元画像に白黒マスクをあて青い成分除去 * エッジに黒い成分が残るので除去 ayato@web Un-Multiply * ぼかし(ガウス) 半径1pixel ※これをやらないとズームレベル8以降のグラデーションが汚くなる * 書き出しPNG BlackMarble_2016_**.png インターレースなし
BlackMarble_2012加工済みPNG画像
BlackMarble_2016加工済みPNG画像
BlackMarble_2016_A1.png BlackMarble_2016_A2.png BlackMarble_2016_B1.png BlackMarble_2016_B2.png BlackMarble_2016_C1.png BlackMarble_2016_C2.png BlackMarble_2016_D1.png BlackMarble_2016_D2.png
OSGeo4W
参考: OSGeo4W_jp – OSGeo4W
WindowsPC
メタタグ付け直しなどに必要なのでインストール
VRTに変換
参考: PhotoshopでGeoTIFF編集したらメタデータ消えたんで付けなおそう
GeoTIFFでは半透明情報が消えてしまうためVRTフォーマット
参考: gdal2tilesで、pngの半透明情報を保持しつつタイル化する方法 - Qiita
WindowsPC
OSGeo4W Shell 起動
Cドライブ直下にmapsフォルダを作り、BlackMarble_2016_**.pngとBlackMarble_2016_**_geo.tifがある状態
変換1
Photoshopで編集する前のGeoTIFFからWorldFileを生成
listgeo -tfw <フォトショ編集前の画像ファイル名>
> listgeo -tfw C:\maps\BlackMarble_2016_A1_geo.tif > listgeo -tfw C:\maps\BlackMarble_2016_A2_geo.tif > listgeo -tfw C:\maps\BlackMarble_2016_B1_geo.tif > listgeo -tfw C:\maps\BlackMarble_2016_B2_geo.tif > listgeo -tfw C:\maps\BlackMarble_2016_C1_geo.tif > listgeo -tfw C:\maps\BlackMarble_2016_C2_geo.tif > listgeo -tfw C:\maps\BlackMarble_2016_D1_geo.tif > listgeo -tfw C:\maps\BlackMarble_2016_D2_geo.tif
リネーム
BlackMarble_2016_A1.tfw BlackMarble_2016_A2.tfw BlackMarble_2016_B1.tfw BlackMarble_2016_B2.tfw BlackMarble_2016_C1.tfw BlackMarble_2016_C2.tfw BlackMarble_2016_D1.tfw BlackMarble_2016_D2.tfw
変換2
VRTにする
> gdal_translate -of "VRT" C:\maps\BlackMarble_2016_A1.png C:\maps\BlackMarble_2016_A1.vrt > gdal_translate -of "VRT" C:\maps\BlackMarble_2016_A2.png C:\maps\BlackMarble_2016_A2.vrt > gdal_translate -of "VRT" C:\maps\BlackMarble_2016_B1.png C:\maps\BlackMarble_2016_B1.vrt > gdal_translate -of "VRT" C:\maps\BlackMarble_2016_B2.png C:\maps\BlackMarble_2016_B2.vrt > gdal_translate -of "VRT" C:\maps\BlackMarble_2016_C1.png C:\maps\BlackMarble_2016_C1.vrt > gdal_translate -of "VRT" C:\maps\BlackMarble_2016_C2.png C:\maps\BlackMarble_2016_C2.vrt > gdal_translate -of "VRT" C:\maps\BlackMarble_2016_D1.png C:\maps\BlackMarble_2016_D1.vrt > gdal_translate -of "VRT" C:\maps\BlackMarble_2016_D2.png C:\maps\BlackMarble_2016_D2.vrt
変換3
VRTに座標系の情報を付与
gdal_translate -a_srs "EPSG:4326" <VRTのファイル名> <一時ファイル名>
> gdal_translate -a_srs "EPSG:4326" C:\maps\BlackMarble_2016_A1.vrt C:\maps\BlackMarble_2016_A1_temp.vrt > gdal_translate -a_srs "EPSG:4326" C:\maps\BlackMarble_2016_A2.vrt C:\maps\BlackMarble_2016_A2_temp.vrt > gdal_translate -a_srs "EPSG:4326" C:\maps\BlackMarble_2016_B1.vrt C:\maps\BlackMarble_2016_B1_temp.vrt > gdal_translate -a_srs "EPSG:4326" C:\maps\BlackMarble_2016_B2.vrt C:\maps\BlackMarble_2016_B2_temp.vrt > gdal_translate -a_srs "EPSG:4326" C:\maps\BlackMarble_2016_C1.vrt C:\maps\BlackMarble_2016_C1_temp.vrt > gdal_translate -a_srs "EPSG:4326" C:\maps\BlackMarble_2016_C2.vrt C:\maps\BlackMarble_2016_C2_temp.vrt > gdal_translate -a_srs "EPSG:4326" C:\maps\BlackMarble_2016_D1.vrt C:\maps\BlackMarble_2016_D1_temp.vrt > gdal_translate -a_srs "EPSG:4326" C:\maps\BlackMarble_2016_D2.vrt C:\maps\BlackMarble_2016_D2_temp.vrt
変換4
一時ファイル(_temp.vrt)にWorldFileの情報を付与
geotifcp -e 編集前のGeoTIFF.tfw <一時ファイル名> <出力ファイル名>
> geotifcp -e C:\maps\BlackMarble_2016_A1.tfw C:\maps\BlackMarble_2016_A1_temp.vrt C:\maps\comp_BlackMarble_2016_A1.vrt > geotifcp -e C:\maps\BlackMarble_2016_A2.tfw C:\maps\BlackMarble_2016_A2_temp.vrt C:\maps\comp_BlackMarble_2016_A2.vrt > geotifcp -e C:\maps\BlackMarble_2016_B1.tfw C:\maps\BlackMarble_2016_B1_temp.vrt C:\maps\comp_BlackMarble_2016_B1.vrt > geotifcp -e C:\maps\BlackMarble_2016_B2.tfw C:\maps\BlackMarble_2016_B2_temp.vrt C:\maps\comp_BlackMarble_2016_B2.vrt > geotifcp -e C:\maps\BlackMarble_2016_C1.tfw C:\maps\BlackMarble_2016_C1_temp.vrt C:\maps\comp_BlackMarble_2016_C1.vrt > geotifcp -e C:\maps\BlackMarble_2016_C2.tfw C:\maps\BlackMarble_2016_C2_temp.vrt C:\maps\comp_BlackMarble_2016_C2.vrt > geotifcp -e C:\maps\BlackMarble_2016_D1.tfw C:\maps\BlackMarble_2016_D1_temp.vrt C:\maps\comp_BlackMarble_2016_D1.vrt > geotifcp -e C:\maps\BlackMarble_2016_D2.tfw C:\maps\BlackMarble_2016_D2_temp.vrt C:\maps\comp_BlackMarble_2016_D2.vrt
変換5
個別に地図タイルに変換しても区域外が空の画像で上書きされてしまうので全て結合
参考: GDAL: gdal_merge.py
> gdal_merge.bat -o C:\maps\comp_BlackMarble_2016.vrt C:\maps\comp_BlackMarble_2016_A1.vrt C:\maps\comp_BlackMarble_2016_A2.vrt C:\maps\comp_BlackMarble_2016_B1.vrt C:\maps\comp_BlackMarble_2016_B2.vrt C:\maps\comp_BlackMarble_2016_C1.vrt C:\maps\comp_BlackMarble_2016_C2.vrt C:\maps\comp_BlackMarble_2016_D1.vrt C:\maps\comp_BlackMarble_2016_D2.vrt
地図タイルに変換
参考: GDAL: gdal2tiles.py
WindowsPC
OSGeo4W Shell 起動
> gdal2tiles.bat -r bilinear -z "0-9" "C:\maps\comp_BlackMarble_2016.vrt" "C:\maps\2016"
※16GB microSDHC 限界ファイル数 938,672個
※限界ファイル数93万個に納まるズームレベルは9(ファイル数349,525個)
xmlの削除
タイル毎に大量のxmlができてしまう
TMS(Tile Map Service)の仕様らしいが要らないので全部削除
WindowsPCのエクスプローラで検索して削除しても一気に削除できないのでコマンドで削除
参考: Windowsのdelコマンドを使って、特定のファイル名やパターンに一致するファイルをまとめて削除する
間違えると危険なので自己責任で
> cd C:\maps\2016 > del /s *.xml
バイナリベクトルタイル
境界線と市街地ラベルの作成
下調べ
参考: バイナリベクトルタイルの作り方 – GUNMA GIS GEEK
参考: バイナリベクトルタイルを作ってホストしてみた - Qiita
参考: GitHub - mapbox/tippecanoe
参考: GitHub - mapbox/mbutil
作業環境
WindowsPCにVirtualBoxを入れUbuntu16.04LTSを設定
参考: VirtualBoxにUbuntu 16.04をインストールする前にやること - Sickly Life Blog
Unityデスクトップ環境嫌いなのでGNOME Classicに変更
$ sudo apt-get install gnome
ログアウトし再ログイン時にUbuntuアイコンからClassic選択
appstreamcliエラーが出るので対処
参考: Ubuntu 16.04のapt updateでappstreamcliが固まりアップデートができない問題
tippecanoeのインストール
$ sudo apt-get install build-essential libsqlite3-dev zlib1g-dev $ sudo apt install git $ cd ~ $ git clone https://github.com/mapbox/tippecanoe.git $ cd tippecanoe $ make $ sudo make install
mbutilのインストール
$ sudo apt install python-setuptools $ cd ~ $ git clone git://github.com/mapbox/mbutil.git $ cd mbutil $ sudo python setup.py install
ダウンロード
Natural Earth 1:10m Cultural Vectors
Admin 0 – Boundary Lines 国境線(陸上) … land boundaries 準国境線 … map unit lines 国境線(海上) … maritime indicators 国境線(太平洋) … Pacific grouping lines
Admin 1 – States, Provinces 州境線 … boundary lines
Populated Places (ポイントデータ) 人口密集地(=都市) … populated places
アマノ技研 世界の首都の位置データ Location Data of World Capitals
h2706world_utf8.csv
方向性
ファイル | minzoom | maxzoom | |
国境線(陸上) | ne_10m_admin_0_boundary_lines_land.shp | 4 | 10 |
準国境線 | ne_10m_admin_0_boundary_lines_map_units.shp | 4 | 10 |
国境線(海上) | ne_10m_admin_0_boundary_lines_maritime_indicator.shp | 4 | 10 |
国境線(太平洋) | ne_10m_admin_0_pacific_groupings.shp | 4 | 10 |
州境線 | ne_10m_admin_1_states_provinces_lines.shp | 6 | 10 |
国名 | h2706world_utf8.csv | 4 | 8 |
都市名 | ne_10m_populated_places.shp | 6 | 10 |
境界線関係で1個にマージ、ラベル関係で1個にマージ
ラベルの対処
参考: ol.layer.VectorTile clips labels on tile boundary?
参考: Vector labels get cutted since new ol-version (3.12.1) and VectorTile layer
Mapboxタイルは、予想されるラベルサイズに応じて、隣接するタイルのラベルポイントをダイナミックバッファで繰り返します。 Mapzenタイルはそれをしません。つまり、問題は読み込んでいるタイルで、OpenLayersでレンダリングしているわけではありません。
とあるのでtippecanoeでバッファを大きめに設定
デフォルトは5ピクセル
タイルサイズの半分128ピクセルにしてみる
MVTに変換 境界線
WindowsPC
ne_10m_admin_0_**********************.shp
- QGISに4個のshapeファイル取り込み
- QGISで4個のshape全て属性テーブルの全フィールド削除
- QGISで全て結合しUTF-8のGeoJSON書き出し boundary.geojson
ne_10m_admin_1_states_provinces_lines.shp
- QGISにshapeファイル取り込み
- QGISで属性テーブルの全フィールド削除
- QGISでUTF-8のGeoJSON書き出し state.geojson
GeoJSON結合
- boundary.geojsonにプロパティーboundaryを加えておく
- boundary.geojsonをEmEditorで開き文字列置換
"properties": { } を "properties": { "type": "boundary" }
- state.geojsonにプロパティーstateを加えておく
- state.geojsonをEmEditorで開き文字列置換
"properties": { } を "properties": { "type": "state" }
- QGISでboundary.geojsonとstate.geojsonを結合しline.geojson書き出し
- 「全てのレイヤでジオメトリタイプが同じでなければいけません!」となるので一度別々にshapeで書き出し boundary.shp state.shp
- QGISでboundary.shpとstate.shpを結合しline.geojson書き出し
- GeoJSONにtippecanoeのGeoJSON拡張を加えておく
- line.geojsonをEmEditorで開き文字列置換
properties": { "type": "state" } を tippecanoe" : { "maxzoom": 10, "minzoom": 6 }, "properties": { "type": "state" }
properties": { "type": "boundary" } を tippecanoe" : { "maxzoom": 10, "minzoom": 4 }, "properties": { "type": "boundary" }
Linux
$ cd /home/vb-ubuntu $ tippecanoe -o line.mbtiles -z10 -Z4 line.geojson $ mb-util --image_format=pbf line.mbtiles line $ cd line $ gzip -d -v -r -S .pbf * $ find . -type f -exec mv -v '{}' '{}'.mvt \;
MVTに変換 ラベル
WindowsPC
加工済みCSVデータ country_master_20171103.csv
※商用利用はご遠慮ください。
- QGISにCSVを取り込み
- 属性テーブルの編集ができないので一度shapeで保存 country.shp
- country.shpを読み込み属性テーブルのフィールドlat、lon削除
- QGISでUTF-8のGeoJSON書き出し country.geojson
加工済みCSVデータ city_master_20171203.csv
※商用利用はご遠慮ください。
- ExcelにCSVを取り込み
- 並び替えをしてname_jaが空の行は全て削除
- QGISにCSVを取り込み
- 属性テーブルの編集ができないので一度shapeで保存 city.shp
- city.shpを読み込み属性テーブルのフィールドtype、name_ja、name_en、wiki_ja、wiki_en以外全て削除
- QGISでUTF-8のGeoJSON書き出し city.geojson
GeoJSON結合
- QGISでcity.geojsonとcountry.geojsonを結合しlabel.geojson書き出し
- GeoJSONにtippecanoeのGeoJSON拡張を加えておく
- label.geojsonをEmEditorで開き文字列置換
"Feature", "properties": { "type": "state" を "Feature", "tippecanoe": { "maxzoom": 10, "minzoom": 6 }, "properties": { "type": "state"
"Feature", "properties": { "type": "country" を "Feature", "tippecanoe": { "maxzoom": 8, "minzoom": 4 }, "properties": { "type": "country"
- wiki_ja、wiki_enの空白はnullに変換され扱いにくいので""に文字列置換
"wiki_ja": null を "wiki_ja": ""
"wiki_en": null を "wiki_en": ""
Linux
$ cd /home/vb-ubuntu $ tippecanoe -o label.mbtiles -z10 -Z4 -rg -b128 label.geojson $ mb-util --image_format=pbf label.mbtiles label $ cd label $ gzip -d -v -r -S .pbf * $ find . -type f -exec mv -v '{}' '{}'.mvt \;
完成データ
加工済み地図タイル 2012
加工済み地図タイル 2016
加工済みバイナリベクトルタイル 境界線 ※商用利用はご遠慮ください。
加工済みバイナリベクトルタイル ラベル ※商用利用はご遠慮ください。
ズームレベル | ファイル数 | 容量 | |
OS | --- | 80,000個 | 2,400MB |
地図タイル 2012 | 0-9 | 349,525個 | 567MB |
地図タイル 2016 | 0-9 | 349,525個 | 592MB |
バイナリベクトルタイル 境界線 | 4-10 | 69,118個 | 12MB |
バイナリベクトルタイル ラベル | 4-10 | 54,772個 | 12MB |
合計 | 902,940個 |
※16GB microSDHC 限界ファイル数 938,672個
Webサーバ
インストール
$ sudo apt-get install nginx $ sudo systemctl start nginx
地図タイルの登録
ビューワー準備
$ sudo wget http://dz.plala.jp/wiki_data/BlackMarble_html.zip $ sudo unzip /home/pi/BlackMarble_html.zip -d /var/www/html
WindowsPCで2016、2012、line、labelフォルダをRAR圧縮
RARデータをRaspberry Piの/home/piに入れる
UnRARのインストール
参考: raspberry pi でrarを解凍したい!
参考: raspberry piでrarを解凍する
$ wget https://www.rarlab.com/rar/unrar-5.3.7-arm.gz $ gunzip unrar-5.3.7-arm.gz $ chmod 755 unrar-5.3.7-arm $ sudo mv unrar-5.3.7-arm /usr/local/bin/. $ cd /usr/local/bin/ $ sudo ln -s unrar-5.3.7-arm unrar
解凍
※解凍後i-node数を限界近くまで食いつぶす為かファイルマネージャー操作がほぼ不可能なので注意
※端末は軽快に動く感じ
$ cd ~ $ sudo unrar x /home/pi/2012.rar /var/www/html/tiles/ $ sudo unrar x /home/pi/2016.rar /var/www/html/tiles/ $ sudo unrar x /home/pi/line.rar /var/www/html/tiles/ $ sudo unrar x /home/pi/label.rar /var/www/html/tiles/
BingMapsの設定
参考: Bing Maps API - ライセンス キーについて
BasicKeyを取得
参考: Bing Maps API - トランザクションとは
トランザクションが年間あたり最大125,000トランザクションまでは無料
BasicKeyでは、課金対象のトランザクションのみが無償での使用制限にカウント
個人使用で1年間使ってみた感じでは28,000トランザクション程度
BasicKeyの設定
$ sudo leafpad /var/www/html/js/config.js
動作確認
http://127.0.0.1 ローカルネット内の他のPCから http://192.168.1.190
GPSの設定(参考)
ビューワーにGeoLocationを設定してあるが、有効にするにはHTTPS(SSL)設定が必要
簡単なのはオレオレ認証 - Google 検索 未検証
無料SSLサーバー証明書を使う場合 Let's Encrypt - Google 検索 辺り
DDNSとヘアピンNATルータの併用辺り
完成データの削除
間違えると危険なので自己責任で
WindowsPC
OSGeo4W Shell 起動
> cd C:\maps\2016 > del /s *.png
最後フォルダごと削除
ゴミの完全削除
参考: 管理者ゴミ箱 完全削除
$ sudo su $ rm -rf /root/.local/share/Trash/files/* $ rm -rf /root/.local/share/Trash/info/*
piユーザーのゴミの完全削除
$ sudo rm -rf /home/pi/.local/share/Trash/files/* $ sudo rm -rf /home/pi/.local/share/Trash/info/*
更新履歴
- 2017.10.13 公開