Помогите разобраться с gdal2tiles/MapTiler

Ответить
Danila85
Новоприбывший
Сообщения: 2
Зарегистрирован: 19 май 2013, 21:47
Репутация: 1

Помогите разобраться с gdal2tiles/MapTiler

Сообщение Danila85 » 19 май 2013, 22:26

Добрый день сообществу. Помогите разобраться с gdal2tiles.

Есть привязанная карта, к примеру geoTIFF (mercator/WGS84), необходимо нарезать её на тайлы типа GMT (google map tiles) для последующего импорта в SAS.Планета. При использовании Global Mapper всё хорошо, нумерация тайлов начинается с левого верхнего угла, этот формат понимает SAS.Планета. При использовании gdal2tiles или MapTiler создаются папки с другими именами, нумерация тайлов начинается с левого НИЖНЕГО угла, полученные тайлы не получается использовать. Профиль при использовании gdal2tiles - по умолчанию, т.е. mercator.
Вопрос: что я делаю не так?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение Александр Мурый » 19 май 2013, 23:57

Если я правильно понял, SAS.Planet использует т.н. Google-тайлы, а gdal2tiles и MapTiler следуют стандарту OSGeo TMS (Tile Map Specification).
Почитайте эту тему и вот эту — там написаны решения. А здесь ещё JS-код для "конвертации" одних тайлов в другие.
Редактор материалов, модератор форума

Danila85
Новоприбывший
Сообщения: 2
Зарегистрирован: 19 май 2013, 21:47
Репутация: 1

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение Danila85 » 20 май 2013, 20:02

Да, проблема действительно в том, что gdal2tiles сохраняет тайлы в формате TMS.
Если кому-то понадобится, то "переконвертировать" существующие тайлы можно с помощью tiles_convert.py.

Yuraz
Участник
Сообщения: 51
Зарегистрирован: 14 май 2018, 14:21
Репутация: 2
Откуда: Россия

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение Yuraz » 14 май 2018, 14:56

Коллеги, подскажите, как в JS сделать преобразование Y. Делаю тайлы в gdal2tiles.py. Тайлы получаются с нумерацией файлов по OSGeo TMS (Tile Map Specification), получается {z}/{x}/{y}, всё хорошо, только "{y}" надо другой. Преобразовать не сложно - (1<<z)-y-1 или ф-я:

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

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]
});
Вопрос, как "{y}" заменить в JS?

PS. tiles_convert.py смотрел, у меня не идёт, библиотек не хватает.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение Denis Rykov » 14 май 2018, 16:13

Spatial is now, more than ever, just another column- The Geometry Column.

Yuraz
Участник
Сообщения: 51
Зарегистрирован: 14 май 2018, 14:21
Репутация: 2
Откуда: Россия

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение Yuraz » 15 май 2018, 16:20

Denis Rykov писал(а):
14 май 2018, 16:13
https
Денис, а можно ли заставить gdal2tiles.py сразу генерить нужный Y ? Чтоб с JS не заморачиваться.
У меня несколько карт, они все с "нормальным Y", если внедряю прототип по ссылке, по нему все отрабатывает, не удобно.
Можно ещё вопрос ламерский, как называется система с "нормальным Y"? По которой работают OSM, Mapbox, Esri... Отличная от OSGeo TMS (Tile Map Specification).
Заранее благодарю ))

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение freeExec » 15 май 2018, 16:36

Yuraz писал(а):
15 май 2018, 16:20
как называется система с "нормальным Y"? По которой работают OSM, Mapbox
https://wiki.openstreetmap.org/wiki/Sli ... _tilenames

Yuraz
Участник
Сообщения: 51
Зарегистрирован: 14 май 2018, 14:21
Репутация: 2
Откуда: Россия

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение Yuraz » 28 май 2018, 11:22

Коллеги, ещё вопрос возник. Есть несколько смежных GeoTiff. Режу один. Потом второй. Когда второй нарезал, некоторые файлы с первого "перезаписываются." Картина такая, что объединения естественно нет, а остается тот квадрат, который нарезался позднее.
Искал, как задать в gdal2tiles.py параметр директорию, так такого нет, режет по-файлово.
На картинке левый рисунок "исчез", и вместо него появился правый.
Как быть с границами? Заранее благодарю!
p1.jpg
p1.jpg (42.57 КБ) 12694 просмотра

Yuraz
Участник
Сообщения: 51
Зарегистрирован: 14 май 2018, 14:21
Репутация: 2
Откуда: Россия

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение Yuraz » 28 май 2018, 13:41

"в жизни" 4 таких файла бывает на "углах" tiff-а, как на сл. фото. И по 2 файла по сторонам. Склеить с помощью Pillow наверное нет сложностей... взять основу квадрат, где больше всего пикселов, и приклеить не достающие. но все же, кто как обходит... может в отдельную тему вопрос перенести?
p1.jpg
p1.jpg (122.3 КБ) 12674 просмотра

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Помогите разобраться с gdal2tiles/MapTiler

Сообщение Ariki » 28 май 2018, 13:50

Объедините исходные файлы в мозаику с помощью gdalbuildvrt, и её уже режьте на тайлы. Только убедитесь сначала, что поля растров прозрачны (есть два способа задания прозрачности: с помощью значения NODATA и с помощью альфа-канала). Если в растре прозрачности нет, но есть векторный файл с границами картинки, то можно растр обрезать по нему, например, с помощью gdalwarp. Конкретные шаги сильно зависят от исходного материала, иногда приходится повозиться.

Ответить

Вернуться в «GDAL/OGR»

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

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