{
  "schemaVersion": "nodedc.map-presentation-profiles/v1",
  "profiles": [
    {
      "id": "map.moving-object.operational.default",
      "version": "1.3.0",
      "title": "Флот",
      "semanticTypes": ["map.moving_object"],
      "label": {
        "mode": "subject_id",
        "fields": ["display_name", "label", "name", "title"],
        "fontWeight": 600,
        "sizePx": 18,
        "color": "#f5f5f5",
        "outlineColor": "#0c0d12",
        "outlineWidthPx": 1,
        "backgroundColor": "#0c0d12",
        "backgroundOpacity": 0.86,
        "paddingX": 8,
        "paddingY": 5,
        "maxLength": 48,
        "offsetX": 15,
        "offsetY": 10,
        "hideCameraHeightMeters": 70000
      },
      "target": {
        "variant": "elevated-spike",
        "stemHeightMeters": 1500,
        "headSizePx": 9,
        "stemWidthPx": 5,
        "outlineColor": "#0c0d12",
        "outlineOpacity": 0.6,
        "outlineWidthPx": 1,
        "hideCameraHeightMeters": 100000
      },
      "facets": [
        {
          "id": "availability",
          "field": "availability_state",
          "label": "Связь",
          "filterable": true,
          "counter": true,
          "values": [
            { "value": "online", "label": "Онлайн", "order": 0 },
            { "value": "offline", "label": "Офлайн", "order": 1 }
          ]
        },
        {
          "id": "motion",
          "field": "motion_state",
          "label": "Движение",
          "filterable": true,
          "counter": true,
          "values": [
            { "value": "moving", "label": "В движении", "order": 0 },
            { "value": "stationary", "label": "Стоят", "order": 1 }
          ]
        }
      ],
      "styles": [
        { "id": "online", "color": "#86fdb8", "opacity": 0.9 },
        { "id": "offline", "color": "#c2c2c2", "opacity": 0.7 },
        { "id": "moving", "color": "#6fb5fb", "opacity": 0.9 },
        { "id": "stationary", "color": "#ffd485", "opacity": 0.9 }
      ],
      "classes": [
        {
          "id": "availability-offline",
          "label": "Офлайн",
          "priority": 400,
          "match": [{ "field": "availability_state", "equals": "offline" }],
          "styleId": "offline",
          "renderable": true
        },
        {
          "id": "motion-moving",
          "label": "В движении",
          "priority": 300,
          "match": [{ "field": "motion_state", "equals": "moving" }],
          "styleId": "moving",
          "renderable": true
        },
        {
          "id": "motion-stationary",
          "label": "Стоят",
          "priority": 200,
          "match": [{ "field": "motion_state", "equals": "stationary" }],
          "styleId": "stationary",
          "renderable": true
        },
        {
          "id": "availability-online",
          "label": "Онлайн",
          "priority": 100,
          "match": [{ "field": "availability_state", "equals": "online" }],
          "styleId": "online",
          "renderable": true
        }
      ],
      "defaultClassId": "motion-stationary",
      "sort": [
        { "field": "availability_state", "order": ["online", "offline"] },
        { "field": "motion_state", "order": ["moving", "stationary"] }
      ]
    },
    {
      "id": "map.zone.operational.default",
      "version": "1.0.0",
      "title": "Геозоны",
      "semanticTypes": ["map.zone"],
      "label": {
        "mode": "attributes",
        "fields": ["display_name"],
        "fontWeight": 600,
        "sizePx": 14,
        "color": "#f5f5f5",
        "outlineColor": "#0c0d12",
        "outlineWidthPx": 1,
        "backgroundColor": "#0c0d12",
        "backgroundOpacity": 0.82,
        "paddingX": 8,
        "paddingY": 5,
        "maxLength": 80,
        "offsetX": 10,
        "offsetY": 8,
        "hideCameraHeightMeters": 160000
      },
      "target": {
        "variant": "surface-fill",
        "outlineColor": "#f5f5f5",
        "outlineOpacity": 0.72,
        "outlineWidthPx": 1.5,
        "hideCameraHeightMeters": 220000
      },
      "facets": [
        {
          "id": "geometry-kind",
          "field": "geometry_kind",
          "label": "Форма",
          "filterable": true,
          "counter": true,
          "values": [
            { "value": "polygon", "label": "Полигоны", "order": 0 },
            { "value": "circle", "label": "Окружности", "order": 1 },
            { "value": "corridor", "label": "Коридоры", "order": 2 }
          ]
        },
        {
          "id": "source-kind",
          "field": "source_kind",
          "label": "Источник",
          "filterable": true,
          "counter": true,
          "values": [
            { "value": "live_api", "label": "Live API", "order": 0 },
            { "value": "versioned_snapshot", "label": "Версионный snapshot", "order": 1 }
          ]
        }
      ],
      "styles": [
        { "id": "polygon", "color": "#8e63ef", "opacity": 0.28 },
        { "id": "circle", "color": "#52c7b8", "opacity": 0.25 },
        { "id": "corridor", "color": "#6fb5fb", "opacity": 0.25 }
      ],
      "classes": [
        {
          "id": "geometry-polygon",
          "label": "Полигоны",
          "priority": 300,
          "match": [{ "field": "geometry_kind", "equals": "polygon" }],
          "styleId": "polygon",
          "renderable": true
        },
        {
          "id": "geometry-circle",
          "label": "Окружности",
          "priority": 200,
          "match": [{ "field": "geometry_kind", "equals": "circle" }],
          "styleId": "circle",
          "renderable": true
        },
        {
          "id": "geometry-corridor",
          "label": "Коридоры",
          "priority": 100,
          "match": [{ "field": "geometry_kind", "equals": "corridor" }],
          "styleId": "corridor",
          "renderable": true
        }
      ],
      "defaultClassId": "geometry-polygon",
      "sort": [
        { "field": "geometry_kind", "order": ["polygon", "circle", "corridor"] },
        { "field": "source_kind", "order": ["live_api", "versioned_snapshot"] }
      ]
    }
  ]
}
