Tile Kilnをリリースしました。GeoTIFFのラスター画像を、MapLibreの地図でそのまま使えるタイルセットに変換するための、小さくシンプルなサービスです。
ドローンで作成したオルソ画像、測量画像、スキャンした地図、その他の位置情報付きラスターなど、GeoTIFF形式のファイルをWeb地図に重ねたい場面があります。Tile Kilnでは、ファイルを選択し、いくつかのタイル生成オプションを指定してアップロードすると、処理完了後にMapLibreで利用できるTileJSON URLが発行されます。
内部的には、Tile Kilnはアップロードジョブを作成し、ブラウザに署名付きアップロードURLを返し、アップロードされたラスターをPMTilesアーカイブに変換して、私たちのタイル配信基盤からラスタータイルとして配信します。アップロード画面では、拡張子、TIFF/BigTIFFヘッダー、画像サイズ、ビット深度、GeoKeys、読み取れる場合は範囲情報なども事前に確認します。変換が完了すると、デモ画面上でMapLibreのプレビューと、コピーできるソース・レイヤー用コードを確認できます。
なぜ作ったか
現在、KotobaMediaではまだ未公開の地図プロダクトを開発しています。そのプロダクトでは、ユーザーが自分のドローン地図やその他の位置情報付きラスターをアップロードし、インタラクティブなWeb地図上で表示できることが重要な要件になっています。
Tile Kilnは、そのための基盤の一部として作ったものです。自分たちのプロダクトで必要になり、十分に使える形になってきたので、公開版としても提供することにしました。GeoTIFFをMapLibreの地図に載せたいだけなのに、タイル生成パイプライン、オブジェクトストレージ、署名付きアップロード、PMTiles出力、TileJSON配信までを自分で用意するのは大きすぎる場合があります。Tile Kilnは、その部分をできるだけ短い手順にするためのサービスです。
使い方
一番簡単なのは、Tile Kilnのアップローダーを使う方法です。公開アップローダーでは、GeoTIFF互換のTIFFまたはBigTIFFファイルを100MBまで受け付けます。出力形式はPNG、JPEG、WebPから選択でき、タイルサイズ、リサンプリング方式、必要に応じて最小ズーム・最大ズームも指定できます。
処理が完了すると、Tile KilnはラスターソースとしてMapLibreで使えるTileJSON URLを返します。
map.addSource("uploaded-raster", {
type: "raster",
url: "https://tiles.kmproj.com/uploads/raster/.../source.json",
tileSize: 512,
});
同じ流れを自動化したい場合は、APIドキュメントも用意しています。APIでは、ジョブを作成し、返された署名付きURLにGeoTIFFをアップロードし、処理完了までポーリングし、生成されたTileJSON URLを使う、という流れになります。
無料サービスの制限
Tile Kilnは無料の公開サービスとして利用できますが、いくつか制限があります。
無料アップロードでは、メールアドレスの入力が必要です。これは運用上の連絡先として使うためのものです。もしアップロードされたタイルセットが他の利用者のサービスに影響を与え始めた場合、こちらから連絡できる手段が必要になります。なお、公開されるジョブレスポンスにメールアドレスは含まれません。
また、無料アップロードには自動期限切れがあります。
- 秘密の変更キーを指定した場合、タイルセットは6か月後に自動失効します。変更キーは、期限前に手動削除したい場合にも必要になるので、自分で保管しておいてください。
- 変更キーを指定しない場合、タイルセットは1か月後に自動失効します。この場合、アップロード後に手動削除することはできません。
無料サービスは、実験、プロトタイプ、軽量な公開用途を想定しています。恒久的なホスティングを保証するものではありません。
有料利用と無期限利用
有料での利用、APIキーによる利用、無期限の保持が必要な場合は、直接お問い合わせください。想定される利用量、トラフィック、ファイルサイズ、保持期間、運用要件などをもとに、価格や条件を相談できればと思います。
Tile Kilnは、意図的に小さく作っています。役割はひとつだけです。GeoTIFFのラスターを、MapLibreの地図に載せられる形に変換すること。もしプロジェクトで役に立ちそうであれば、アップローダーを試すか、APIドキュメントをご覧ください。