Read in another language: English
Grid - локальный HTTP сервер для генерации векторных тайлов (в KML и GeoJSON форматах) с различными географическими/координатными сетками.
В сервер встроены 3 сетки:
- географическая WGS 84
- координатная Гаусса-Крюгера / Пулково-1942 (зоны по 6 градусов)
- координатная UTM / WGS 84 (зоны по 6 градусов)
Кроме того, есть возможность добавлять произвольные сетки через grid.ini файл. Например:
[utm-zone-31n]
GeogCS=+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
ProjCS=+proj=utm +zone=31 +datum=WGS84 +units=m +no_defs +type=crs
DrawPoints=0
DrawLines=1
Имя секции используется для идентификации сетки в url запросе.
Параметры GeogCS
(обязательный) и ProjCS
- строка инициализации проекции для proj4 библиотеки. Если параметр ProjCS
отсутствует, то сетка считается географической. Если оба параметра присутствуют - координатной.
Параметры DrawPoints
/DrawLines
(опциональные) включают или отключают запись точек/линий, в выходной файл.
Структура url запроса: http://localhost:8888/{grid-id}/{step}/{z}/{x}/{y}.ext
{grid-id}
- id сетки (имя секции из grid.ini или wgs84, gauss-kruger, utm - для встроенных сеток);{step}
- шаг сетки: в градусах для географических сеток; в километрах, для координатных. В качестве разделителя целой и дробной части используется точка. Для градусных сеток можно указать 0 - для автоматического шага;{z}
,{x}
,{y}
- координаты тайла как для OpenStreetMap (EPSG:3857);.ext
- формат тайла (поддерживаются: .kml, .json)
Использование
- распаковать архив в папку с SASPlanet (без замены proj.dll);
- запустить grid.exe, потом запустить SAS;
- в списке слоёв в SAS, в подменю Grid выбрать одну из доступных сеток.
Для автоматизации запуска сервера перед запуском SAS, можно установить AutoHotKey v1.1 и запускать связку через скрипт run-sas-and-grid.ahk:
run, grid.exe,,hide,ppid
runwait, SASPlanet.exe
process,close,%ppid%
Скрипт запускает grid.exe, потом запускает SASPlanet.exe, ждёт в трее пока не закроется SAS и завершает процесс grid.exe. При этом сам grid.exe запускается в скрытом режиме и перед глазами никаких окошек не мелькает. Но учтите, что при таком скрытом запуске вы можете не увидеть каких-то важных сообщений об ошибках от сервера. Поэтому, первый запуск сервера рекомендуется выполнить вручную.
Сборка
Для компиляции сервера из исходников вам понадобятся:
- Delphi (чем новее, тем лучше) / FreePascal (v3.2.3 или новее);
- mORMot v2