{
  "version": 8,
  "metadata": {
    "carmaConf": {
      "semanticInfo": {
        "landparcel": { "layers": ["landparcel_fill"] },
        "inspire:CadastralParcel": { "layers": ["landparcel_fill"] },
        "ladm:LA_Parcel": { "layers": ["landparcel_fill"] },
        "alkis:AX_Flurstueck": { "layers": ["landparcel_fill"] }
      },
      "layerInfo": {
        "title": "ALKIS Flurstücke / Gebäude (schwarz)",
        "description": "Inhalt: Tagesaktuelle Vektordaten der Flurstücke und Gebäude aus dem Amtlichen Liegenschaftskataster-Informationssystem ALKIS der Stadt Wuppertal; frei definierte schwarze Strichdarstellung ohne Bezug zum Signaturenkatalog NRW, geeignet als Überlagerung einer Luftbildkarte. Nutzung: Frei innerhalb der Grenzen des Urheberrechtsgesetzes; die zugrunde liegenden Datensätze sind mit Wochenaktualität unter einer Open-Data-Lizenz (dl-zero-de/2.0) verfügbar.",
        "tags": [
          "Basis",
          "Liegenschaftskataster",
          "Flurstück",
          "Flurstücksnummer",
          "Gebäude",
          "Bauwerk"
        ],
        "keywords": [
          "carmaconf://infoBoxMapping:function createInfoBoxInfo(p) { const gemarkungen = { 3001: 'Barmen', 3485: 'Beyenburg', 3279: 'Cronenberg', 3278: 'Dönberg', 3135: 'Elberfeld', 3486: 'Langerfeld', 3487: 'Nächstebreck', 3267: 'Ronsdorf', 3276: 'Schöller', 3277: 'Vohwinkel' }; const isFlurstueck = ( p.carmaInfo?.sourceLayer === 'landparcel' || p.carmaInfo?.selectionForwardingTo?.includes('landparcel') ); const isGebaeude = ( p.carmaInfo?.sourceLayer === 'building' || p.carmaInfo?.selectionForwardingTo?.includes('building') ); const isGebaeudestruktur = ( p.carmaInfo?.sourceLayer === 'buildingstructure' || p.carmaInfo?.selectionForwardingTo?.includes('buildingstructure') ); if (isFlurstueck) { const landparcel = p.targetProperties || p; return { modal: 'alkisSIM', headerColor: '#000000', header: 'Flurstück', title: `${landparcel.gemarkungsnummer}-${landparcel.flurnummer}-${landparcel.zaehler}/${landparcel.nenner ? landparcel.nenner : '0'}`, additionalInfo: `<html>` + `Gemarkung: ${gemarkungen[landparcel.gemarkungsnummer]} (${landparcel.gemarkungsnummer})<br/>` + `Flur: ${landparcel.flurnummer}<br/>` + `Flurstück: ${landparcel.zaehler}${landparcel.nenner ? '/' + landparcel.nenner : ''}` + `</html>`, subtitle: `<html>` + `Lage: ${landparcel.adresse}<br/>` + `Fläche: ${(landparcel.flaeche_m2 >= 0.5 ? Math.round(landparcel.flaeche_m2) : landparcel.flaeche_m2).toLocaleString()} m²` + `</html>`, genericLinks: [{ tooltip: 'Bestellung von Liegenschaftskarten', url: `https://formulare.wuppertal.de/metaform/Form-Solutions/sid/assistant/5587cff10cf2ac88b8a11a72?Antragsteller.Daten.Auswahl%20%C3%BCber=Flurst%C3%BCck&Antragsteller.Daten.GeoLocation2.Gemarkung=${gemarkungen[landparcel.gemarkungsnummer]}%20(${landparcel.gemarkungsnummer})&Antragsteller.Daten.GeoLocation2.Flurnummer=${landparcel.flurnummer}&Antragsteller.Daten.GeoLocation2.Flurst%C3%BCck=${landparcel.zaehler}${landparcel.nenner ? '%2F' + landparcel.nenner : ''}`, iconname: 'shopping-cart' }] }; } else if (isGebaeude) { const geb = p.targetProperties || p; return { modal: 'alkisSIM', headerColor: '#000000', header: `${geb.geb_typ.trim() == 'Hauptgebäude' ? 'Hauptgebäude' : geb.geb_typ.replaceAll('_', ' ')}`, title: geb.main_address, additionalInfo: `<html>` + `Funktion: ${geb.geb_fkt}<br/>` + `Grundfläche: ${geb.flaeche} m²<br/>` + `</html>`, subtitle: `<html>` + `${geb.oeffentl == '1' ? 'Öffentliches Gebäude' : ''}` + `</html>` }; } else if (isGebaeudestruktur) { const gebs = p.targetProperties || p; return { modal: 'alkisSIM', headerColor: '#000000', header: 'Bauwerk', title: `${gebs.funktion_txt}`, }; } else { return null; } }",
          "carmaconf://blockLegacyGetFeatureInfo",
          "carmaConf://opendata:https://offenedaten-wuppertal.de/search/topic/layer-flurst%C3%BCcke-und-geb%C3%A4ude-1175"
        ]
      }
    }
  },
  "sources": {
    "alkis_data": {
      "type": "vector",
      "tiles": ["https://tiles.cismet.de/alkis/{z}/{x}/{y}.pbf"],
      "minzoom": 9,
      "maxzoom": 17
    }
  },
  "glyphs": "https://tiles.cismet.de/fonts/{fontstack}/{range}.pbf",
  "sprite": "https://tiles.cismet.de/alkis/sprites",
  "layers": [
    {
      "id": "landparcel_fill",
      "type": "fill",
      "source": "alkis_data",
      "source-layer": "landparcel",
      "metadata": {
        "carmaConf": {
          "skipSnapping": true,
          "selectionForwardingTo": [
            "landparcel",
            "landparcel_point",
            "landparcel_arrows",
            "landparcel_arrows_tips"
          ],
          "staticProps": {}
        }
      },
      "paint": {
        "fill-color": "#000000",
        "fill-opacity": 0.000001
      }
    },
    {
      "id": "gebaeude_outlines",
      "type": "line",
      "source": "alkis_data",
      "source-layer": "building",
      "paint": {
        "line-color": "#000000",
        "line-width": {
          "stops": [
            [13, 0.05],
            [21, 2]
          ]
        }
      }
    },
    {
      "id": "gebaeudstruktur_outlines",
      "type": "line",
      "source": "alkis_data",
      "source-layer": "buildingstructure",
      "paint": {
        "line-color": "#000000",
        "line-width": {
          "stops": [
            [13, 0.05],
            [21, 2]
          ]
        }
      }
    },
    {
      "id": "gebaeude_hatched_cross",
      "type": "fill",
      "source": "alkis_data",
      "source-layer": "building",
      "minzoom": 13,
      "filter": ["==", "oeffentl", "1"],
      "paint": {
        "fill-pattern": [
          "step",
          ["zoom"],
          "hatch_cross_000000_s1",
          16,
          "hatch_cross_000000_s2",
          17,
          "hatch_cross_000000_s3",
          18,
          "hatch_cross_000000_s4",
          19,
          "hatch_cross_000000_s4",
          22,
          "hatch_cross_000000_s4"
        ],
        "fill-opacity": 1
      }
    },
    {
      "id": "gebaeude_hatched_cross_selection",
      "type": "fill",
      "source": "alkis_data",
      "source-layer": "building",
      "minzoom": 13,
      "filter": ["==", "oeffentl", "1"],
      "paint": {
        "fill-pattern": [
          "step",
          ["zoom"],
          "hatch_cross_3a7ceb_s1",
          16,
          "hatch_cross_3a7ceb_s2",
          17,
          "hatch_cross_3a7ceb_s3",
          18,
          "hatch_cross_3a7ceb_s4",
          19,
          "hatch_cross_3a7ceb_s4",
          22,
          "hatch_cross_3a7ceb_s4"
        ],
        "fill-opacity": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          1,
          0
        ]
      }
    },
    {
      "id": "gebaeude_hatched_diag",
      "type": "fill",
      "source": "alkis_data",
      "source-layer": "building",
      "minzoom": 13,
      "filter": ["!=", "oeffentl", "1"],
      "paint": {
        "fill-pattern": [
          "step",
          ["zoom"],
          "hatch_diag45_000000_s1",
          16,
          "hatch_diag45_000000_s2",
          17,
          "hatch_diag45_000000_s3",
          18,
          "hatch_diag45_000000_s4",
          19,
          "hatch_diag45_000000_s4",
          22,
          "hatch_diag45_000000_s4"
        ],
        "fill-opacity": 1
      }
    },
    {
      "id": "gebaeude_hatched_diag_selection",
      "type": "fill",
      "source": "alkis_data",
      "source-layer": "building",
      "minzoom": 13,
      "filter": ["!=", "oeffentl", "1"],
      "paint": {
        "fill-pattern": [
          "step",
          ["zoom"],
          "hatch_diag45_3a7ceb_s1",
          16,
          "hatch_diag45_3a7ceb_s2",
          17,
          "hatch_diag45_3a7ceb_s3",
          18,
          "hatch_diag45_3a7ceb_s4",
          19,
          "hatch_diag45_3a7ceb_s4",
          22,
          "hatch_diag45_3a7ceb_s4"
        ],
        "fill-opacity": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          1,
          0
        ]
      }
    },
    {
      "id": "gebaeudestructure_hatched_diag",
      "type": "fill",
      "source": "alkis_data",
      "source-layer": "buildingstructure",
      "minzoom": 13,
      "paint": {
        "fill-pattern": [
          "step",
          ["zoom"],
          "hatch_diag135_000000_s1",
          16,
          "hatch_diag135_000000_s2",
          17,
          "hatch_diag135_000000_s3",
          18,
          "hatch_diag135_000000_s4",
          19,
          "hatch_diag135_000000_s4",
          22,
          "hatch_diag135_000000_s4"
        ],
        "fill-opacity": 1
      }
    },
    {
      "id": "gebaeudestructure_hatched_diag_selection",
      "type": "fill",
      "source": "alkis_data",
      "source-layer": "buildingstructure",
      "minzoom": 13,
      "paint": {
        "fill-pattern": [
          "step",
          ["zoom"],
          "hatch_diag135_3a7ceb_s1",
          16,
          "hatch_diag135_3a7ceb_s2",
          17,
          "hatch_diag135_3a7ceb_s3",
          18,
          "hatch_diag135_3a7ceb_s4",
          19,
          "hatch_diag135_3a7ceb_s4",
          22,
          "hatch_diag135_3a7ceb_s4"
        ],
        "fill-opacity": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          1,
          0
        ]
      }
    },
    {
      "id": "landparcel_outlines",
      "type": "line",
      "source": "alkis_data",
      "source-layer": "landparcel",
      "metadata": {
        "carmaConf": {
          "selectionForwardingTo": [
            "landparcel",
            "landparcel_point",
            "landparcel_arrows",
            "landparcel_arrows_tips"
          ]
        }
      },
      "paint": {
        "line-color": "#000000",
        "line-width": {
          "stops": [
            [13, 0.05],
            [21, 2]
          ]
        }
      }
    },
    {
      "id": "landparcel_selection",
      "type": "line",
      "source": "alkis_data",
      "source-layer": "landparcel",
      "minzoom": 0,
      "maxzoom": 22,
      "layout": {
        "line-join": "round",
        "line-cap": "round"
      },
      "paint": {
        "line-color": "#3A7CEB",
        "line-opacity": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          1,
          0
        ],
        "line-width": 3
      }
    },
    {
      "id": "gebaeude_selection",
      "type": "line",
      "source": "alkis_data",
      "source-layer": "building",
      "minzoom": 0,
      "maxzoom": 22,
      "layout": {
        "line-join": "round",
        "line-cap": "round"
      },
      "paint": {
        "line-color": "#3A7CEB",
        "line-opacity": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          1,
          0
        ],
        "line-width": 3
      }
    },
    {
      "id": "gebaeudestruktur_selection",
      "type": "line",
      "source": "alkis_data",
      "source-layer": "buildingstructure",
      "minzoom": 0,
      "maxzoom": 22,
      "layout": {
        "line-join": "round",
        "line-cap": "round"
      },
      "paint": {
        "line-color": "#3A7CEB",
        "line-opacity": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          1,
          0
        ],
        "line-width": 3
      }
    },
    {
      "id": "landparcel_arrows",
      "type": "line",
      "source": "alkis_data",
      "source-layer": "landparcel_arrows",
      "metadata": {
        "carmaConf": {
          "skipSnapping": true,
          "selectionForwardingTo": [
            "landparcel",
            "landparcel_point",
            "landparcel_arrows",
            "landparcel_arrows_tips"
          ],
          "propertyTarget": "alkis_data.landparcel"
        }
      },
      "minzoom": 18,
      "maxzoom": 24,
      "paint": {
        "line-color": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          "#3A7CEB",
          "#000000"
        ],
        "line-width": {
          "stops": [
            [13, 0.05],
            [21, 2]
          ]
        },
        "line-opacity": [
          "case",
          ["boolean", ["feature-state", "hidden"], false],
          0,
          1
        ]
      }
    },
    {
      "id": "landparcel_arrows_tips",
      "type": "symbol",
      "source": "alkis_data",
      "source-layer": "landparcel_arrows_tips",
      "metadata": {
        "carmaConf": {
          "skipSnapping": true,
          "selectionForwardingTo": [
            "landparcel",
            "landparcel_point",
            "landparcel_arrows",
            "landparcel_arrows_tips"
          ],
          "propertyTarget": "alkis_data.landparcel"
        }
      },
      "minzoom": 18,
      "maxzoom": 24,
      "layout": {
        "icon-image": "arrow_000000_s1",
        "icon-rotation-alignment": "map",
        "icon-rotate": ["+", ["get", "angle"], -90],
        "icon-size": [
          "interpolate",
          ["linear"],
          ["zoom"],
          10,
          0.02,
          14,
          0.18,
          18,
          0.2,
          22,
          1.12
        ],
        "icon-allow-overlap": true,
        "icon-ignore-placement": true,
        "icon-anchor": "right"
      },
      "paint": {
        "icon-opacity": [
          "case",
          ["boolean", ["feature-state", "hidden"], false],
          0,
          1
        ]
      }
    },
    {
      "id": "landparcel_arrows_tips_selected",
      "type": "symbol",
      "source": "alkis_data",
      "source-layer": "landparcel_arrows_tips",
      "metadata": {
        "carmaConf": {
          "skipSnapping": true,
          "selectionForwardingTo": [
            "landparcel",
            "landparcel_point",
            "landparcel_arrows",
            "landparcel_arrows_tips"
          ],
          "propertyTarget": "alkis_data.landparcel"
        }
      },
      "minzoom": 18,
      "maxzoom": 24,
      "layout": {
        "icon-image": "arrow_3a7ceb_s1",
        "icon-rotation-alignment": "map",
        "icon-rotate": ["+", ["get", "angle"], -90],
        "icon-size": [
          "interpolate",
          ["linear"],
          ["zoom"],
          10,
          0.02,
          14,
          0.18,
          18,
          0.2,
          22,
          1.12
        ],
        "icon-allow-overlap": true,
        "icon-ignore-placement": true,
        "icon-anchor": "right"
      },
      "paint": {
        "icon-opacity": [
          "case",
          ["boolean", ["feature-state", "hidden"], false],
          0,
          ["boolean", ["feature-state", "selected"], false],
          1,
          0
        ]
      }
    },
    {
      "id": "landparcel_arrows_tips_point",
      "type": "circle",
      "source": "alkis_data",
      "source-layer": "landparcel_arrows_tips",
      "layout": {
        "visibility": "none"
      },
      "paint": {
        "circle-radius": 2,
        "circle-color": "#000000"
      }
    },
    {
      "id": "landparcel_point",
      "type": "circle",
      "source": "alkis_data",
      "source-layer": "landparcel_point",
      "layout": {
        "visibility": "none"
      }
    },
    {
      "id": "landparcel_label",
      "type": "symbol",
      "source": "alkis_data",
      "source-layer": "landparcel_point",
      "metadata": {
        "carmaConf": {
          "skipSnapping": true,
          "selectionForwardingTo": [
            "landparcel",
            "landparcel_point",
            "landparcel_arrows",
            "landparcel_arrows_tips"
          ],
          "hidingForwardingTo": [
            "landparcel_arrows",
            "landparcel_arrows_tips",
            "landparcel_arrows_tips_selected"
          ],
          "propertyTarget": "alkis_data.landparcel"
        }
      },
      "minzoom": 18,
      "maxzoom": 24,
      "layout": {
        "text-field": [
          "case",
          [
            "any",
            ["!", ["has", "nen"]],
            ["==", ["get", "nen"], null],
            ["==", ["to-string", ["get", "nen"]], ""]
          ],
          ["to-string", ["get", "zae"]],
          [
            "format",
            ["to-string", ["get", "zae"]],
            {},
            "\n",
            {},
            "—",
            {
              "font-scale": 0.8
            },
            "\n",
            {},
            ["to-string", ["get", "nen"]],
            {}
          ]
        ],
        "text-font": ["Open Sans Regular"],
        "text-size": ["interpolate", ["linear"], ["zoom"], 10, 1, 22, 26],
        "text-line-height": 1,
        "text-anchor": ["coalesce", ["get", "text_anchor"], "center"],
        "text-allow-overlap": false
      },
      "paint": {
        "text-halo-color": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          "rgba(255,255,255,0.6)",
          "rgba(255,255,255,0.6)"
        ],
        "text-halo-width": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          1,
          1
        ],
        "text-color": [
          "case",
          ["boolean", ["feature-state", "selected"], false],
          "#3A7CEB",
          "#000000"
        ]
      }
    }
  ]
}
