Страница 1 из 1
Создать тайлы с названием населенных пунктов
Добавлено: 17 май 2018, 14:08
Yuraz
Коллеги, вливаюсь в технологию, но вот в сущ. темах не ориентируюсь где и поискать. Кратко:
Надо создать тайлы полностью как это:
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 с текстовыми названиями.

- 308.png (16.77 КБ) 5848 просмотров
Есть - координаты и названия меток (лежат в массиве / GeoJSON ..). Как затайлить всё это и получить PNG под нужный масштаб.
До этого благополучно резал растровый GeoTIFF с помощью gdal2tiles.py, а тут резать нечего, надо заново создать.
Добавлю - а может тайлы и не создавать, а делать скриптом на сервере в момент запроса с веб браузера клиента!?
Заранее благодарен!
Re: Создать тайлы с названием населенных пунктов
Добавлено: 17 май 2018, 14:20
Vadim
Как я понимаю, Вам сначала нужно сделать растровый слой из вектора через gdal_rasterize (
http://www.gdal.org/gdal_rasterize.html), а потом как обычно - gdal2tiles.py
Re: Создать тайлы с названием населенных пунктов
Добавлено: 21 июн 2018, 10:51
Yuraz
Вадим, спасибо за ответ, но что то совсем сложно, в тупик зашел с этим gdal_rasterize. Вот что я сделал.
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"
2. Создал файл mydata.vrt:
Код: Выделить всё
<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>
3. Создаю файл shp:
Код: Выделить всё
ogr2ogr -f "ESRI Shapefile" c:\Python\mygdal\mydata.shp c:\Python\mygdal\mydata.vrt
причем, всего создается 4 файла:
mydata.dbf
mydata.prj
mydata.shp
mydata.shx
4. Подхожу к
gdal_rasterize, посмотрел опции, при которых создается файл tif. Но при нескольких десятках попыток, так и не создаётся tif. Как правильно "прожечь" tif с нуля?
И исходя из 4 пункта, хотелось бы задать метку точки (png файлик метки надо куда то подложить?), задать шрифт и размер шрифта для метки, задать куда выводить текст метки относительно точки.
И последнее, генерить tif нужно будет для каждого масштаба, иначе метки не прочитаются на других масштабах.
Re: Создать тайлы с названием населенных пунктов
Добавлено: 21 июн 2018, 11:36
Александр Мурый
Я бы не трогал "gdal_rasterize", а использовал бы предназначенные для этого инструменты, например, Geoserver + GeoWebCache или MapServer + MapCache.
Re: Создать тайлы с названием населенных пунктов
Добавлено: 21 июн 2018, 14:07
Yuraz
Александр, благодарю за ответ. Вот ещё какие обстоятельства, скачал QGIS на 500мег, установил, на 2гига чтоли сократился мой SSD диск, ну и место почти закончилось. Т.е. серверы смысла нет ставить - стрелять пушкой по воробьям в моем случае? У меня есть веб сервер xampp на локальной, и веб сервер в сети. Использую Python/GDAL, пока одним GDAL из командной строки, все устраивает. Нарезал gdal2tiles.py, залил png на веб сервер, и порядок. Удобно. А тут вот бы просто сгенерировать tiff для нарезки gdal2tiles.py, и было бы вообще всё идеально )) Хотелось бы обойтись одним GDAL.

Re: Создать тайлы с названием населенных пунктов
Добавлено: 21 июн 2018, 14:35
Александр Мурый
Yuraz писал(а): ↑21 июн 2018, 14:07
Хотелось бы обойтись одним GDAL
Вы стиль подписей как будете делать на чистом GDAL? И рендерить чем будете эту картинку? Нужна либо настольная ГИС, либо картографический сервер. <gdal_rasterize> сам по себе здесь не поможет.
Попробуйте оформить данные в QGIS и применить модуль QTiles (или его аналоги).
Re: Создать тайлы с названием населенных пунктов
Добавлено: 22 июн 2018, 10:11
Yuraz
Александр Мурый писал(а): ↑21 июн 2018, 14:35
Попробуйте оформить данные в QGIS и применить модуль QTiles (или его аналоги).
Александр, все супер! Действительно без ГИС не обойтись, установил QGIS 3.0.2-Girona. Точки "развернул", увидел. Сделал как надо метки, подписи.
Так "засада" - QTiles не поддерживает QGIS выше 3й версии!
(Модуль несовместим с текущей версией QGIS
Совместимые версии QGIS: 2.0 - 2.99)
А какие аналоги можно использовать? Поиском прошелся по Tiles, выдает только "Vector Tiles Reader", но это не то.
Re: Создать тайлы с названием населенных пунктов
Добавлено: 22 июн 2018, 11:46
Александр Мурый
Yuraz писал(а): ↑22 июн 2018, 10:11
Так "засада" - QTiles не поддерживает QGIS выше 3й версии!
Ставьте стабильную версию QGIS 2.18.*, тут без вариантов.
Re: Создать тайлы с названием населенных пунктов
Добавлено: 22 июн 2018, 13:01
Yuraz
Александр Мурый писал(а): ↑22 июн 2018, 11:46
Ставьте стабильную версию QGIS 2.18.*, тут без вариантов.
Ясно, поставлю. Интересно будут ли они конфликтовать обе рядом. И вообще нужна ли 3я пока?
Re: Создать тайлы с названием населенных пунктов
Добавлено: 22 июн 2018, 13:12
Александр Мурый
Yuraz писал(а): ↑22 июн 2018, 13:01
Интересно будут ли они конфликтовать обе рядом. И вообще нужна ли 3я пока?
Конфликтовать не должны. По мне так 3-ка не нужна при наличии 2.18*, она ещё сырая.