Benutzer-Werkzeuge

Webseiten-Werkzeuge


veroeffentlichungsregeln

Regeln für die Veröffentlichung von Plänen

Im folgenden wird beschrieben nach welchen Regeln die Pläne und darin enthaltenden Dokument im Dienst des Servers für Bauleitpläne und im Bau- und Planungsportal veröffentlicht werden.

Veröffentlichungsdatum

Folgende Pläne (mit oder ohne anhängenden Dokumenten) werden veröffentlicht:

  • Pläne, die ein Veröffentlichungsdatum haben (in der Datenbank NOT NULL)
  • und deren Veröffentlichungsdatum gleich oder kleiner als das aktuelle Datum ist.

In SQL lautet die Regel:

CASE
  WHEN veroeffentlichungsdatum IS NULL THEN false
  ELSE veroeffentlichungsdatum <= (now() at time zone 'Europe/Berlin')::date
END AS veroeffentlicht

Die in den veröffentlichten Plänen enthaltenden Dokumente werden nach folgenden Regeln veröffentlicht:

  • Alle Dokumente bei denen das nurzurauslegung false oder NULL ist werden veröffentlicht.
  • Wenn bei einem Dokument das Attribut nurzurauslegung=true gesetzt gilt folgendes
    • Laut XPlanung-Standard können kein, ein oder mehrere Datumsangaben in dem Feld auslegungsstartdatum und auslegungsenddatum angegeben werden. Im Bauleitplanserver wird für die Entscheidung über die Veröffentlung des Planes nur der erste Zeitraum der beiden Datumsangaben verwendet.
    • Ein Dokument wird veröffentlicht, wenn es im Auslegungszeitraum liegt. Das ist der Fall wenn:
      • auslegungsstartdatum und auslegungsenddatum leer sind
      • auslegungsstartdatum in der Vergangenheit liegt oder gleich dem aktuellem Tag ist und auslegungsenddatum leer ist.
      • auslegungsenddatum in der Zukunft oder gleich dem aktuellem Tag ist und auslegungsstartdatum leer ist.
      • auslegungsstartdatum in der Vergangenheit liegt oder gleich dem aktuellem Tag ist und auslegungsenddatum in der Zukunft oder gleich dem aktuellem Tag ist.

In Postgres wird diese Regel mit folgender Funktion umgesetzt:

CREATE OR REPLACE FUNCTION xplankonverter.filter_nurzurauslegung(
  auslegungsstartdatum date[],
  auslegungsenddatum date[],
  externereferenzen_mit_nurzurauslegung xplankonverter.xp_spezexternereferenzauslegung[])
RETURNS xplan_gml.xp_spezexternereferenz[]
LANGUAGE 'plpgsql'
COST 100
STABLE PARALLEL UNSAFE
AS $BODY$
  DECLARE
    _sql text;
    _result xplan_gml.xp_spezexternereferenz[];
    i integer = 0;
    n integer = array_length(externereferenzen_mit_nurzurauslegung, 1);
    today date = (now() at time zone 'Europe/Berlin')::date;
    is_in_date_range boolean = false;
  BEGIN
    IF(externereferenzen_mit_nurzurauslegung IS NULL)
    THEN
      RETURN NULL;
    END IF;
    FOR i IN 1..n LOOP
      is_in_date_range = (today BETWEEN auslegungsstartdatum[i] AND auslegungsenddatum[i]);
      EXIT WHEN is_in_date_range;
    END LOOP;
    
    SELECT
      ARRAY_AGG(xplankonverter.to_spezexternereferenz(e))
    FROM
      (
        SELECT
          unnest(externereferenzen_mit_nurzurauslegung) AS e
      ) foo
    WHERE
      (e).nurzurauslegung IS NULL OR
      NOT (e).nurzurauslegung OR
      (
      (e).nurzurauslegung AND
      is_in_date_range
      )
    INTO _result;
    RETURN _result;
  END;
$BODY$;
veroeffentlichungsregeln.txt · Zuletzt geändert: 2024/09/10 13:26 von pkorduan