Leaflet загрузка векторных данных по частям

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Vladimir_R
Активный участник
Сообщения: 145
Зарегистрирован: 14 апр 2010, 14:11
Репутация: 44
Откуда: Екатеринбург

Re: Leaflet загрузка векторных данных по частям

Сообщение Vladimir_R » 21 окт 2016, 00:56

Скачал ваши данные. Выполнил

Код: Выделить всё

python2 mb-util ../kv.mbtiles tiles --image_format=pbf
Результат во вложении. Для подключения pbf в Leaflet есть плагин https://github.com/Leaflet/Leaflet.VectorGrid
Вложения
tiles.zip
(5.52 МБ) 323 скачивания

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Leaflet загрузка векторных данных по частям

Сообщение gornak » 21 окт 2016, 16:21

в общем и целом получилось!! :D
1)
Vladimir_R писал(а):Результат во вложении
Спасибо!
у меня что-то с версией mbutil
ставил через easy_install

Код: Выделить всё

Best match: mbutil 0.2.0
Processing mbutil-0.2.0-py2.7.egg
mbutil 0.2.0 is already the active version in easy-install.pth
Installing mb-util script to C:\Python27\Scripts
но help выдает

Код: Выделить всё

  --image_format=FORMAT
                        The format of the image tiles, either png or jpg
а должно быть

Код: Выделить всё

  --image_format=FORMAT
                        The format of the image tiles, either png, jpg, webp
                        or pbf
хотя может данный png на самом деле pbf-еще не проверял
2)
Vladimir_R писал(а):Для подключения pbf в Leaflet есть плагин https://github.com/Leaflet/Leaflet.VectorGrid
насколько понимаю он для Leflet >=1.0, пока работаю с 0.7, но обязательно попробую и на 1.0
3)для плагина MapboxVectorTile нужны еще дополнительные телодвижения, а именно разархивирование, например как здесь
http://trevorpowell.com/2015/02/20/mapb ... n-cordova/
4)после чего ситуация следующая:
А)в Chrom-e
если файлы на локальном компьютере,то ошибка в консоли

Код: Выделить всё

MVTSource.js:239 XMLHttpRequest cannot load 
file:///C:/Users/gis/Documents/data/tiles/13/4885/2486.pbf. 
[b]Cross origin requests are only supported for protocol schemes: [/b]
http, data, chrome, chrome-extension, https, chrome-extension-resource.
_draw @ MVTSource.js:239
MVTSource.js:230 
xhr error: 0
запускал через cmd с флагом --allow-file-access-from-files
ошибка пропадает, но тайлов нет
флаг -disable-web-security -ничего не дает. если вообще работает

залил на удаленный хост,через http работает, но плохо(можно сказать не работает) и только через Cors плагин, многие тайлы не отображаются, хотя они есть

А)в Mozill-e

локальные файлы грузятся без каких-либо настроек, но работает некорректно-виснет с такими ошибками

Код: Выделить всё

9 typeof this._tiles[canvasId] === 'undefined'
Leaflet...Tile.js (строка 1595)
NS_ERROR_DOM_BAD_URI: Access to restricted URI denied
Leaflet...Tile.js (строка 1961)
и единственный,(надеюсь пока) рабочий вариант - через http и Cors плагин

буду копать дальше :D
Последний раз редактировалось gornak 21 окт 2016, 16:33, всего редактировалось 1 раз.

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Leaflet загрузка векторных данных по частям

Сообщение gornak » 21 окт 2016, 16:33

И возникает еще один вопрос:
если объект находится в нескольких тайлах, то как сделать так чтобы при выделении(clik) мышью он выделялся полностью?

Код: Выделить всё

            getIDForLayerFeature: function(feature) {
              return feature.properties......;
            }
необходимо заранее создать необходимый итендификатор

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 25 гостей