Помогите разобраться с gdal2tiles/MapTiler
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 19 май 2013, 21:47
- Репутация: 1
Помогите разобраться с gdal2tiles/MapTiler
Добрый день сообществу. Помогите разобраться с gdal2tiles.
Есть привязанная карта, к примеру geoTIFF (mercator/WGS84), необходимо нарезать её на тайлы типа GMT (google map tiles) для последующего импорта в SAS.Планета. При использовании Global Mapper всё хорошо, нумерация тайлов начинается с левого верхнего угла, этот формат понимает SAS.Планета. При использовании gdal2tiles или MapTiler создаются папки с другими именами, нумерация тайлов начинается с левого НИЖНЕГО угла, полученные тайлы не получается использовать. Профиль при использовании gdal2tiles - по умолчанию, т.е. mercator.
Вопрос: что я делаю не так?
Есть привязанная карта, к примеру geoTIFF (mercator/WGS84), необходимо нарезать её на тайлы типа GMT (google map tiles) для последующего импорта в SAS.Планета. При использовании Global Mapper всё хорошо, нумерация тайлов начинается с левого верхнего угла, этот формат понимает SAS.Планета. При использовании gdal2tiles или MapTiler создаются папки с другими именами, нумерация тайлов начинается с левого НИЖНЕГО угла, полученные тайлы не получается использовать. Профиль при использовании gdal2tiles - по умолчанию, т.е. mercator.
Вопрос: что я делаю не так?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Помогите разобраться с gdal2tiles/MapTiler
Если я правильно понял, SAS.Planet использует т.н. Google-тайлы, а gdal2tiles и MapTiler следуют стандарту OSGeo TMS (Tile Map Specification).
Почитайте эту тему и вот эту — там написаны решения. А здесь ещё JS-код для "конвертации" одних тайлов в другие.
Почитайте эту тему и вот эту — там написаны решения. А здесь ещё JS-код для "конвертации" одних тайлов в другие.
Редактор материалов, модератор форума
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 19 май 2013, 21:47
- Репутация: 1
Re: Помогите разобраться с gdal2tiles/MapTiler
Да, проблема действительно в том, что gdal2tiles сохраняет тайлы в формате TMS.
Если кому-то понадобится, то "переконвертировать" существующие тайлы можно с помощью tiles_convert.py.
Если кому-то понадобится, то "переконвертировать" существующие тайлы можно с помощью tiles_convert.py.
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Re: Помогите разобраться с gdal2tiles/MapTiler
Коллеги, подскажите, как в JS сделать преобразование Y. Делаю тайлы в gdal2tiles.py. Тайлы получаются с нумерацией файлов по OSGeo TMS (Tile Map Specification), получается {z}/{x}/{y}, всё хорошо, только "{y}" надо другой. Преобразовать не сложно - (1<<z)-y-1 или ф-я:
Вопрос, как "{y}" заменить в JS?
PS. tiles_convert.py смотрел, у меня не идёт, библиотек не хватает.
Код: Выделить всё
function getY(y,z) {
var ymax = 1 << z;
return ymax - y - 1;
}
Код: Выделить всё
var url='http://localhost/map/{z}/{x}/{y}.png';
var mbAttr = 'My Project';
lay= L.tileLayer(url, {attribution: mbAttr})
var mymap = L.map('mapid', {
center: [30,30],
zoom: 10,
layers: [lay]
});
PS. tiles_convert.py смотрел, у меня не идёт, библиотек не хватает.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Помогите разобраться с gdal2tiles/MapTiler
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Re: Помогите разобраться с gdal2tiles/MapTiler
Денис, а можно ли заставить gdal2tiles.py сразу генерить нужный Y ? Чтоб с JS не заморачиваться.Denis Rykov писал(а): ↑14 май 2018, 16:13https
У меня несколько карт, они все с "нормальным Y", если внедряю прототип по ссылке, по нему все отрабатывает, не удобно.
Можно ещё вопрос ламерский, как называется система с "нормальным Y"? По которой работают OSM, Mapbox, Esri... Отличная от OSGeo TMS (Tile Map Specification).
Заранее благодарю ))
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Re: Помогите разобраться с gdal2tiles/MapTiler
Коллеги, ещё вопрос возник. Есть несколько смежных GeoTiff. Режу один. Потом второй. Когда второй нарезал, некоторые файлы с первого "перезаписываются." Картина такая, что объединения естественно нет, а остается тот квадрат, который нарезался позднее.
Искал, как задать в gdal2tiles.py параметр директорию, так такого нет, режет по-файлово.
На картинке левый рисунок "исчез", и вместо него появился правый.
Как быть с границами? Заранее благодарю!
Искал, как задать в gdal2tiles.py параметр директорию, так такого нет, режет по-файлово.
На картинке левый рисунок "исчез", и вместо него появился правый.
Как быть с границами? Заранее благодарю!
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Re: Помогите разобраться с gdal2tiles/MapTiler
"в жизни" 4 таких файла бывает на "углах" tiff-а, как на сл. фото. И по 2 файла по сторонам. Склеить с помощью Pillow наверное нет сложностей... взять основу квадрат, где больше всего пикселов, и приклеить не достающие. но все же, кто как обходит... может в отдельную тему вопрос перенести?
-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Помогите разобраться с gdal2tiles/MapTiler
Объедините исходные файлы в мозаику с помощью gdalbuildvrt, и её уже режьте на тайлы. Только убедитесь сначала, что поля растров прозрачны (есть два способа задания прозрачности: с помощью значения NODATA и с помощью альфа-канала). Если в растре прозрачности нет, но есть векторный файл с границами картинки, то можно растр обрезать по нему, например, с помощью gdalwarp. Конкретные шаги сильно зависят от исходного материала, иногда приходится повозиться.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость