furuhashilab / 2021gsc_ShogoHirasawa

古橋研究室 4年 平澤彰悟の卒論リポジトリ
https://furuhashilab.github.io/2021gsc_ShogoHirasawa/
Creative Commons Attribution 4.0 International
0 stars 0 forks source link

.tif をラスタータイル化したい #22

Open ShogoHirasawa opened 2 years ago

ShogoHirasawa commented 2 years ago

解決したいこと

古橋先生が撮影したした二子玉川の空撮(.tif)をラスタータイル化したい。

なぜ.tifをラスタータイル化したいのか

現在、以下のようなオフライン環境で閲覧できるデジタルマップをRaspberry Piを用いて実装しようとしています。

①OSM 関東vector tile ②二子玉川 空撮画像 raster tile ③世田谷区 避難所 vector tile

663726041 529938

オフラインでの閲覧を前提としているので、ベクタータイル、ラスタータイル共に、ローカルにデータを落とす必要があります。 最終的には、ローカルに落としてきたデータをMapLibreを用いて実装しようとしています。

取り組んだこと

  1. 空撮画像(.tif) をQGISを用いて以下の設定で.mbtilesにコンバートしようとしたが、エラー発生
スクリーンショット 2022-01-13 21 22 08
ラスタをファイルに書き込むことができません エラーコード data source creation
Cannot create new dataset  hoge.mbtiles:
Only Byte supported

2.二子玉川の空撮このIsuue を参考に以下のコードでタイル化を試みる

tippecanoe --no-tile-compression -z20 -Z12 -e futakotamagawa_dir -y kubun -l river -ai futakotamagawa2.tif 

エラー発生


futakotamagawa2.tif:1: Found misspelling of Infinity
0 features, 10 bytes of geometry, 8 bytes of separate metadata, 0 bytes of string pool
Did not read any valid geometries

公式Document記述で基本的にinputデータは.geojsonあると書いてあるので、ダメ元でやってみたがやっぱりだめだった。

理解できない部分

1 なぜQGISで.tifを.mbtilesに変更できないのか

hfu commented 2 years ago

@ShogoHirasawa 画像データはベクトルタイルではなくて、画像タイルにすることになります。ベクトルデータはベクトルタイルに、画像タイルは画像タイルに変換します。

画像タイルを作るには、gdal2tiles.py を使うことが多いです。--xyz オプションを使って、通常のタイル命名規則に従わせた方が良いでしょう。また、--tilesize=512 として、Mapbox / MapLibre で標準的な 512px x 512px のタイルとした方が良いでしょう。

QGISを使って画像タイルを作る方法については、私はお教えするだけの経験を持っていますが、例えば次のサイトなどが参考になると思います。

https://gis-oer.github.io/gitbook/book/materials/web_gis/rastertile/rastertile.html

ShogoHirasawa commented 2 years ago

ありがとうございます🙇‍♂️ 教えていただいたツール及び、ドキュメントを参考にしつつトライしてみます!