как создать векторные файлы mbtiles для определенного региона по моему выбору

Я не могу создать векторные файлы mbtiles для своего региона города (Нашик, Махараштра, Индия), я использую nutiteq SDK для отображения автономных карт. Я попытался создать mbtiles с помощью Mobile Atlas Creator, но выходной файл .mbtile не работает в Nutiteq SDK.

Пожалуйста, помогите в этом. Я хочу отображать только определенный регион .mbtiles в своем приложении.

Заранее спасибо.


person Trideep    schedule 20.01.2015    source источник
comment
Прочтите Как задать вопрос.   -  person segarci    schedule 20.01.2015
comment
MBTiles содержат растровые изображения, а не векторные изображения. Пробовали ли вы использовать другой инструмент для создания MBTiles, например TileMill? Вы читали фрагменты автономной карты в вики nutiteq? Если да, то что вы уже пробовали и что не работает?   -  person scai    schedule 20.01.2015


Ответы (1)


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];

Андроид:

MBTilesTileDataSource tileDataSource = new MBTilesTileDataSource(
            0, 19, filePath);
RasterTileLayer rasterLayer = new RasterTileLayer(tileDataSource);
mapView.getLayers().add(rasterLayer);

TileMill и Mobile Atlas Creator (MOBAC) не поддерживают создание векторных mbtiles. Все источники, откуда MOBAC берет данные, растровые, так что это в принципе невозможно. Поэтому, насколько я знаю, нет простого и бесплатного источника для загрузки файлов. Могу предложить два варианта:

  1. Используйте сервис Nutiteq Maps (на основе подписки), который в настоящее время находится в закрытой бета-версии. Технически это работает таким образом, что вы определяете в своем приложении, какой пакет или пакеты карты могут быть загружены на устройство, и SDK загружает выбранную вами карту напрямую.
  2. С лицензией Nutiteq Maps SDK Enterprise вы можете использовать настраиваемые пакеты и источники карт, а также настраиваемый контроль загрузки.

Вам следует связаться с Nutiteq, чтобы получить доступ к бета-версии или корпоративной лицензии. Отказ от ответственности: я основатель Nutiteq.

person JaakL    schedule 20.01.2015
comment
Вы также можете предложить сделать это в Android? - person Amrut Bidri; 22.01.2015