Формат входных данных

Карта для симуляции подается в формате GeoJSON. Спецификации самого формата можно прочесть по ссылке, он достаточно распространен и существует множество библиотек и программ для работы с ним. Остановимся лишь на нюансах его использования в AntRoadPlanner.

Ограничения

Вся геометрия задается полигонами. Исключение пока сделано лишь для препятствия типа "FENCE" - ему позволено быть линией.

Все объекты с геометрией другого типа (Point, LineString etc) будут проигнорированы.

Свойства объектов

Суть объекта задается содержимым его properties. У каждого объекта должен быть как минимум определен тип - свойство type. Допустимые значения:

У препятствий может быть задан тег obstacle_type, задающий тип препятствия. Для непроходимых преград он лишь определяет их внешний вид, для проходимых - влияет на привлекательность их для пешеходов. Возможные значения:

Дополнительно для генераторов может быть задано свойство size, допустимые значения SMALL и LARGE. Это размер генератора, он влияет на количество пешеходов которые будут им создаваться. Таким образом описание генератора может выглядеть как-то так:

        {
            "type": "Feature",
            "geometry": {
                "type": "Polygon",
                "coordinates": [
                    [
                        [
                            30.2113445114307,
                            55.18876807609659
                        ],
                        [
                            30.211505443971593,
                            55.18872203903203
                        ],
                        [
                            30.211481304090448,
                            55.18869748590909
                        ],
                        [
                            30.211320371549554,
                            55.188746592139786
                        ],
                        [
                            30.2113445114307,
                            55.18876807609659
                        ]
                    ]
                ]
            },
            "properties": {
                "type": "generator",
                "size": "LARGE"
            }
        }