Создать тайлы с названием населенных пунктов
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Создать тайлы с названием населенных пунктов
Коллеги, вливаюсь в технологию, но вот в сущ. темах не ориентируюсь где и поискать. Кратко:
Надо создать тайлы полностью как это:
http:// apkk5.rosreestr.ru/arcgis/rest/services/BaseMaps/Anno/MapServer/tile/{z}/{y}/{x}
сам файл:
http:// apkk5.rosreestr.ru/arcgis/rest/services/BaseMaps/Anno/MapServer/tile/9/159/308
как выглядит - прозрачный png с текстовыми названиями. Есть - координаты и названия меток (лежат в массиве / GeoJSON ..). Как затайлить всё это и получить PNG под нужный масштаб.
До этого благополучно резал растровый GeoTIFF с помощью gdal2tiles.py, а тут резать нечего, надо заново создать.
Добавлю - а может тайлы и не создавать, а делать скриптом на сервере в момент запроса с веб браузера клиента!?
Заранее благодарен!
Надо создать тайлы полностью как это:
http:// apkk5.rosreestr.ru/arcgis/rest/services/BaseMaps/Anno/MapServer/tile/{z}/{y}/{x}
сам файл:
http:// apkk5.rosreestr.ru/arcgis/rest/services/BaseMaps/Anno/MapServer/tile/9/159/308
как выглядит - прозрачный png с текстовыми названиями. Есть - координаты и названия меток (лежат в массиве / GeoJSON ..). Как затайлить всё это и получить PNG под нужный масштаб.
До этого благополучно резал растровый GeoTIFF с помощью gdal2tiles.py, а тут резать нечего, надо заново создать.
Добавлю - а может тайлы и не создавать, а делать скриптом на сервере в момент запроса с веб браузера клиента!?
Заранее благодарен!
-
- Завсегдатай
- Сообщения: 297
- Зарегистрирован: 03 июн 2015, 10:19
- Репутация: 72
Re: Создать тайлы с названием населенных пунктов
Как я понимаю, Вам сначала нужно сделать растровый слой из вектора через gdal_rasterize (http://www.gdal.org/gdal_rasterize.html), а потом как обычно - gdal2tiles.py
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Re: Создать тайлы с названием населенных пунктов
Вадим, спасибо за ответ, но что то совсем сложно, в тупик зашел с этим gdal_rasterize. Вот что я сделал.
1. Создал файл с точками: mydata.csv:
2. Создал файл mydata.vrt:
3. Создаю файл shp:
причем, всего создается 4 файла:
mydata.dbf
mydata.prj
mydata.shp
mydata.shx
4. Подхожу к gdal_rasterize, посмотрел опции, при которых создается файл tif. Но при нескольких десятках попыток, так и не создаётся tif. Как правильно "прожечь" tif с нуля?
И исходя из 4 пункта, хотелось бы задать метку точки (png файлик метки надо куда то подложить?), задать шрифт и размер шрифта для метки, задать куда выводить текст метки относительно точки.
И последнее, генерить tif нужно будет для каждого масштаба, иначе метки не прочитаются на других масштабах.
1. Создал файл с точками: mydata.csv:
Код: Выделить всё
ID,Latitude,Longitude,Name
1,48.1,0.25,"First point"
2,49.2,1.1,"Second point"
3,47.5,0.75,"Third point"
Код: Выделить всё
<OGRVRTDataSource>
<OGRVRTLayer name="mydata">
<SrcDataSource>c:\Python\mygdal\mydata.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<LayerSRS>WGS84</LayerSRS>
<GeometryField encoding="PointFromColumns" x="Longitude" y="Latitude"/>
</OGRVRTLayer>
</OGRVRTDataSource>
Код: Выделить всё
ogr2ogr -f "ESRI Shapefile" c:\Python\mygdal\mydata.shp c:\Python\mygdal\mydata.vrt
mydata.dbf
mydata.prj
mydata.shp
mydata.shx
4. Подхожу к gdal_rasterize, посмотрел опции, при которых создается файл tif. Но при нескольких десятках попыток, так и не создаётся tif. Как правильно "прожечь" tif с нуля?
И исходя из 4 пункта, хотелось бы задать метку точки (png файлик метки надо куда то подложить?), задать шрифт и размер шрифта для метки, задать куда выводить текст метки относительно точки.
И последнее, генерить tif нужно будет для каждого масштаба, иначе метки не прочитаются на других масштабах.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создать тайлы с названием населенных пунктов
Я бы не трогал "gdal_rasterize", а использовал бы предназначенные для этого инструменты, например, Geoserver + GeoWebCache или MapServer + MapCache.
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Re: Создать тайлы с названием населенных пунктов
Александр, благодарю за ответ. Вот ещё какие обстоятельства, скачал QGIS на 500мег, установил, на 2гига чтоли сократился мой SSD диск, ну и место почти закончилось. Т.е. серверы смысла нет ставить - стрелять пушкой по воробьям в моем случае? У меня есть веб сервер xampp на локальной, и веб сервер в сети. Использую Python/GDAL, пока одним GDAL из командной строки, все устраивает. Нарезал gdal2tiles.py, залил png на веб сервер, и порядок. Удобно. А тут вот бы просто сгенерировать tiff для нарезки gdal2tiles.py, и было бы вообще всё идеально )) Хотелось бы обойтись одним GDAL.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создать тайлы с названием населенных пунктов
Вы стиль подписей как будете делать на чистом GDAL? И рендерить чем будете эту картинку? Нужна либо настольная ГИС, либо картографический сервер. <gdal_rasterize> сам по себе здесь не поможет.
Попробуйте оформить данные в QGIS и применить модуль QTiles (или его аналоги).
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Re: Создать тайлы с названием населенных пунктов
Александр, все супер! Действительно без ГИС не обойтись, установил QGIS 3.0.2-Girona. Точки "развернул", увидел. Сделал как надо метки, подписи.Александр Мурый писал(а): ↑21 июн 2018, 14:35Попробуйте оформить данные в QGIS и применить модуль QTiles (или его аналоги).
Так "засада" - QTiles не поддерживает QGIS выше 3й версии!
(Модуль несовместим с текущей версией QGIS
Совместимые версии QGIS: 2.0 - 2.99)
А какие аналоги можно использовать? Поиском прошелся по Tiles, выдает только "Vector Tiles Reader", но это не то.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создать тайлы с названием населенных пунктов
Ставьте стабильную версию QGIS 2.18.*, тут без вариантов.
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 51
- Зарегистрирован: 14 май 2018, 14:21
- Репутация: 2
- Откуда: Россия
Re: Создать тайлы с названием населенных пунктов
Ясно, поставлю. Интересно будут ли они конфликтовать обе рядом. И вообще нужна ли 3я пока?Александр Мурый писал(а): ↑22 июн 2018, 11:46Ставьте стабильную версию QGIS 2.18.*, тут без вариантов.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Создать тайлы с названием населенных пунктов
Конфликтовать не должны. По мне так 3-ка не нужна при наличии 2.18*, она ещё сырая.
Редактор материалов, модератор форума
Кто сейчас на конференции
Сейчас этот форум просматривают: Amazon [Bot] и 8 гостей