問題タブ [vector-tiles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
openlayers-6 - Openlayers 6 オフライン ローカル ベクター pbf ファイル「未実装タイプ: 6」エラー
OpenStreetMap データ (osm.pbf ファイル) を「z/x/y.pbf」フォルダー/ファイル構造に変換し、Openlayers 6 と Ionic を使用してマップをオフラインで表示しようとしています。
私がこれまでに行ったことは次のとおりです。
- ダウンロードした osm.pbf ファイル ( https://download.geofabrik.de/europe/netherlands/flevoland.html )
- Maperitive を使用して osm.pbf を開き、mbtiles
generate-mbtiles [minzoom=0 maxzoom=16]
を生成するために使用しました - コマンドでmbutil ( https://github.com/mapbox/mbutil ) を使用しまし
mb-util --image_format=pbf input_folder output_folder
た。この後、適切なフォルダー構造内に pbfs が作成されます。これまでのところ素晴らしいです。 - openlayers で pbfs を表示します (私は Ionic を使用しているため、ここにいくつかの Angular コードがあることに注意してください)
この後、ブラウザー内でマップを表示しようとすると、「エラー: 実装されていないタイプ: 6」になります。
興味深いことに、https: //openmaptiles.com/downloads を使用してそこから mbtiles をダウンロードし、手順 3 ~ 4 を実行すると (手順 3 では追加の手順を実行し、ファイルが openmaptiles gzip であるため pbfs を解凍するだけです)、すべてが適切に表示されます。しかし、ここでの問題は、openmaptiles が 14 のズーム レベルを提供し、16 のズーム レベルが必要なことです。
この問題を克服する方法はありますか? どんな助けでも大歓迎です!
sprite - Mapbox GL JS: 複数のスプライトを複数のデータ ソースに使用するには?
mapbox gl js と maputnik を組み合わせて複数のスプライト URL を使用する方法はありますか? 現在、独自のデータセットのみを使用していますが、将来的には外部ソースを追加する予定です。ここでの問題は、考えられるすべてのスプライトを独自のファイルに追加できないことです。存在しないスプライトはただのサイクルです。ユーザーは、URL を介して追加のスプライト ファイルをプロジェクトにロードできるようにする必要があります。これにより、データの可能性を最大限に引き出すことができます。
前もって感謝します。
google-maps - Deck.GL MVTLayer を使用して、TileServer-GL または OpenMapTiles サーバーを使用して .mbtiles の代わりに複数の .pbf ファイルをベクター タイルとして Google マップに提供する方法を教えてください。
概要
.geojson ファイルがあり、( tippecanoe / geobuf / その他を使用して) それらを .mbtiles または .pbf ファイルに変換して、サーバー ( TileServer-GL / OpenMapTiles / その他のベクター タイル サーバー) から Google マップにベクター タイルとして提供したいと考えています。 Deck.GLのMVTLayer。
予想された結果:
- .mbtiles ファイルの代わりに TileServer-GL .pbf ファイルからサービスを提供できるようにします。
- 特定の .mbtiles ファイルでフォルダーを明示的に開始することなく、TileServer-GL から複数の .mbtiles (または .pbf) ファイルをフォルダーから提供できるようにします。
実績:
- 以下に示すように、Deck.GL MVTLayerとベクター タイルを統合した Google マップを使用して、TileServer-GL から特定の .mbtiles ファイルを形状またはポイントのコレクションとして提供しています。
- 何も管理しませんでした。
私の試み
データ ファイルを含むフォルダーから、Docker から TileServer-GL を実行しています。
Docker から、tippecanoe を使用して .geojson ファイルを .mbtiles ファイルに変換しています。ただし、大きなファイルの場合、変換に時間がかかるようです。約 890 MB の .mbtiles ファイルを取得しています。57,000 個の機能を含む 45 MB の .geojson ファイルから 60 分。
geobuf (json2geobuf) を使用して、.geojson ファイルを直接 .pbf ファイルに高速に変換することができました。約 32 MB の .pbf ファイルを取得しています。57,000 個の特徴を含む 45 MB の .geojson ファイルから 37 秒。
ただし、TileServer-GL からも OpenMapTiles-Server からも .pbf ファイルを直接提供できないようです。
私は試した
しかし、TileServer-GL が起動しません。
config.json ファイルをローカルに作成した後、再実行も試みました
config.json
しかし、TileServer-GL が起動しません。
OpenMapTiles サーバーでは、入力ファイルを指定する方法さえ見つかりません (参照):
私の質問
- TileServer-GL または OpenMapTiles サーバーで .mbtiles ファイルの代わりに .pbf ファイルを直接提供するにはどうすればよいですか?
- TileServer-GL を使用して、特定の .mbtiles ファイルで明示的に開始せずに、フォルダーからすべてのファイル (.mbtiles) を提供するにはどうすればよいです
docker ... maptiler/tileserver-gl --mbtiles some-file.mbtiles
か?
mapbox - ダイナミック ベクター タイル サーバーの実装方法
私のアプリケーションでは、バックエンド (Spring Boot を使用して Java で記述) が REST API を提供しており、クライアントから取得したフィルターに基づいて数千の座標を返すサービスを公開しています。私のフロントエンドはこの API を使用しており、結果を Mapbox マップに表示します。
100K 以上のポイントではパフォーマンスが十分ではなく、代わりにベクター タイルを使用したいと考えています。
データは動的であるため、バックエンドをベクター タイル サーバーとして機能させたいのですが、可能ですか?
ベクター タイル リクエストをサーバーに送信するには何が必要ですか? 役立つライブラリはありますか?