Grid - локальный http сервер для генерации векторных тайлов (в kml формате) с различными географическими/координатными сетками.

В сервер встроены 3 сетки:

Кроме этого, есть возможность добавлять произвольные сетки через 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 (опциональные) включают или отключают запись точек/линий, в выходной kml.

Структура url запроса: http://localhost:8888/{grid-id}/{step}/{z}/{x}/{y}


Использование

Для автоматизации запуска сервера перед запуском 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 запускается в скрытом режиме и перед глазами никаких окошек не мелькает. Но учтите, что при таком скрытом запуске вы можете не увидеть каких-то важных сообщений об ошибках от сервера. Поэтому, первый запуск сервера рекомендуется выполнить вручную.


Сборка

Для компиляции сервера из исходников вам понадобятся: