Как создать векторные файлы mbtiles для определенного региона по моему выбору
Я не могу создать векторные файлы mbtiles для моего города (Нашик, Махараштра, Индия), я использую nutiteq SDK для отображения автономных карт. Я попытался создать mbtile с помощью создателя Mobile Atlas, но выходной файл.mbtile не работает в Nutiteq SDK.
Пожалуйста, помогите в этом. Я хочу, чтобы в моем приложении отображался только регион.mbtiles.
Заранее спасибо.
2 ответа
MBTiles - это общий формат, который может содержать также векторные данные (тайлы), а не только растровые. Как TileMill, так и Mobile Atlas Creator могут создавать только растры, сначала один из векторных данных, а второй, извлекая его из онлайн-API. Вы можете использовать растровые MBTiles с Nutiteq SDK, пример iOS:
// file-based local offline datasource
NSString* fullpathVT = [[NSBundle mainBundle] pathForResource:@"MBTILESFILENAME" ofType:@"mbtiles"];
NTTileDataSource* tileDataSource = [[NTMBTilesTileDataSource alloc] initWithMinZoom:0 maxZoom:19 path: fullpathVT];
// Initialize a raster layer with the previous data source
NTRasterTileLayer* rasterLayer = [[NTRasterTileLayer alloc] initWithDataSource:tileDataSource];
// Add the raster layer to the map
[[self getLayers] add:rasterLayer];
Android:
MBTilesTileDataSource tileDataSource = new MBTilesTileDataSource(
0, 19, filePath);
RasterTileLayer rasterLayer = new RasterTileLayer(tileDataSource);
mapView.getLayers().add(rasterLayer);
TileMill и Mobile Atlas Creator (MOBAC) не поддерживают создание векторных mbtile. Все источники, из которых MOBAC получает данные, являются растровыми, поэтому в принципе это невозможно. Так что нет простого и бесплатного источника для скачивания файлов, насколько я знаю. Я могу предложить два варианта:
- Используйте сервис Nutiteq Maps (на основе подписки), который в настоящее время находится в частной бета-версии. Технически это работает так, что вы определяете в своем приложении, какой пакет карт или пакеты могут быть загружены на устройство, а SDK загружает непосредственно выбранную вами карту.
- С лицензией Nutiteq Maps SDK Enteprise вы можете использовать пользовательские пакеты карт и исходные коды, а также настраиваемый контроль загрузки.
Вам следует связаться с Nutiteq, чтобы получить доступ к бета-версии или корпоративной лицензии. Отказ от ответственности: я основатель Nutiteq.
Вы можете создать MBTiles из любого файла .osm.pbf с помощью этого инструмента - https://github.com/systemed/tilemaker
Загрузите файл с .osm.pbfсайта Geofabric . Для загрузки для настраиваемой области вы можете использовать Protomaps или BBBike Extract.
Скачать плиточник
Выполните следующую команду
tilemaker --input netherlands.osm.pbf --output netherlands.mbtiles --process resources/process-openmaptiles.lua --config resources/config-openmaptiles.json
Вы можете узнать больше об этом в этом сообщении блога - https://blog.kleunen.nl/blog/tilemaker-generate-map