Changeset 332
- Timestamp:
- 09/12/14 14:07:11 (10 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/alkis_PostNAS_schema.sql
r331 r332 50 50 -- * Ãbernahme der Objektartengruppe in den Kommentar zur Tabelle. 51 51 52 -- 2014-09-12 FJ Indizierung der ersten 16 Zeichen der gml_id, wenn diese Ziel einer ALKIS-Beziehung ist. 53 -- "delete"-Tabelle aus Norbit-Version passend zum Hist-Trigger. 52 54 53 55 -- Dies Schema kann NICHT mehr mit der gdal-Version 1.9 verwendet werden. … … 98 100 99 101 COMMENT ON TABLE import IS 'PostNAS: Verwaltung der Import-ProgrammlÀufe. Wird nicht vom Konverter gefÃŒllt sondern aus der Start-Prozedur (z.B. konv_batch.sh).'; 100 COMMENT ON COLUMN import.id IS 'Laufende Nummer der Konverter-Datei-Verarbeitung. Der Max-Wert von "id" wird als "alkis_beziehungen.import_id" verwendet, um ein vollstÀndiges Löschen alter Beziehungen zu ermöglichen.';102 COMMENT ON COLUMN import.id IS 'Laufende Nummer der Konverter-Datei-Verarbeitung.'; 101 103 COMMENT ON COLUMN import.datum IS 'Zeitpunkt des Beginns des Konverter-Laufes fÃŒr einen Stapel von NAS-Dateien.'; 102 104 COMMENT ON COLUMN import.verzeichnis IS 'Ort von dem die NAS-Dateien verarbeitet wurden.'; 103 105 COMMENT ON COLUMN import.importart IS 'Modus des Konverter-Laufes: e="Erstladen" oder a="NBA-Aktualisierung"'; 104 106 105 -- Tabelle "delete" fÃŒr Lösch- und FortfÃŒhrungsdatensÀtze 107 -- Tabelle "delete" fÃŒr Lösch- und FortfÃŒhrungsdatensÀtze. 108 -- Ãber diese Tabelle werden Aktualisierungen des Bestandes gesteuert. 109 -- Der Konverter ogr2ogr (PostNAS) trÀgt die NAS-Operatuonen "delete", "replace" und "update" hier ein. 110 -- Die weitere ALKIS-spezifische AusfÃŒhrung dieser Operationen muss durch Trigger auf dieser Tabelle erfolgen. 111 -- Das betrifft z.B. das Löschen von Objekten, die ÃŒber die NAS-Update-Funktion einen "endet"-Eintrag bekommen haben. 112 -- 2014-09-12: "anlass" und "endet" hinzugefÃŒgt. Aktueller Trigger (hist) fÃŒr NAS-"update" benötigt diese Spalten. 106 113 CREATE TABLE "delete" ( 107 114 ogc_fid serial NOT NULL, … … 111 118 safetoignore character varying, -- replace.safetoignore 'true'/'false' 112 119 replacedBy character varying, -- gmlid 120 anlass character varying, -- update.anlass 121 endet character(20), -- update.endet 113 122 ignored boolean DEFAULT false, -- Satz wurde nicht verarbeitet 114 123 CONSTRAINT delete_pk PRIMARY KEY (ogc_fid) … … 125 134 COMMENT ON COLUMN delete.safetoignore IS 'Attribut safeToIgnore von wfsext:Replace'; 126 135 COMMENT ON COLUMN delete.replacedBy IS 'gml_id des Objekts, das featureid ersetzt'; 136 COMMENT ON COLUMN delete.anlass IS 'update.anlass'; 137 COMMENT ON COLUMN delete.endet IS 'update.endet'; 127 138 COMMENT ON COLUMN delete.ignored IS 'Löschsatz wurde ignoriert'; 128 139 … … 130 141 -- B e z i e h u n g e n 131 142 -- ---------------------------------------------- 132 -- Zentrale Tabelle fuer alle Relationen im Buchwerk. Seit PostNAS 0.8 entfallen. 143 -- Zentrale Tabelle fuer alle Relationen im Buchwerk. 144 -- Seit PostNAS 0.8 entfallen. Wird aber von PostNAS wieder angelegt, wenn sie fehlt. 133 145 -- Die FremdschlÃŒssel 'beziehung_von' und 'beziehung_zu' verweisen auf die ID des Objekte (gml_id). 134 146 -- ZusÀtzlich enthÀlt 'beziehungsart' noch ein Verb fÃŒr die Art der Beziehung. … … 274 286 CREATE INDEX ap_lpo_geom_idx ON ap_lpo USING gist (wkb_geometry); 275 287 CREATE UNIQUE INDEX ap_lpo_gml ON ap_lpo USING btree (gml_id, beginnt); 288 CREATE INDEX ap_lpo_gml16 ON ap_lpo USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 276 289 CREATE INDEX ap_lpo_endet ON ap_lpo USING btree (endet); 277 290 CREATE INDEX ap_lpo_dzdv ON ap_lpo USING gin (dientzurdarstellungvon); … … 506 519 CREATE INDEX ax_flurstueck_geom_idx ON ax_flurstueck USING gist (wkb_geometry); 507 520 CREATE UNIQUE INDEX ax_flurstueck_gml ON ax_flurstueck USING btree (gml_id, beginnt); 521 CREATE INDEX ax_flurstueck_gml16 ON ax_flurstueck USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 508 522 CREATE INDEX ax_flurstueck_lgfzn ON ax_flurstueck USING btree (land, gemarkungsnummer, flurnummer, zaehler, nenner); 509 523 CREATE INDEX ax_flurstueck_arz ON ax_flurstueck USING btree (abweichenderrechtszustand); … … 611 625 612 626 CREATE UNIQUE INDEX ax_grenzpunkt_gml ON ax_grenzpunkt USING btree (gml_id, beginnt); 613 CREATE INDEX ax_grenzpunkt_abmm ON ax_grenzpunkt USING btree (abmarkung_marke); 614 CREATE INDEX ax_grenzpunkt_za ON ax_grenzpunkt USING btree (zeigtauf); 627 CREATE INDEX ax_grenzpunkt_gml16 ON ax_grenzpunkt USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 628 CREATE INDEX ax_grenzpunkt_abmm ON ax_grenzpunkt USING btree (abmarkung_marke); 629 CREATE INDEX ax_grenzpunkt_za ON ax_grenzpunkt USING btree (zeigtauf); 615 630 616 631 COMMENT ON TABLE ax_grenzpunkt IS 'Angaben zum FlurstÃŒck: (ZUSO) "Grenzpunkt" ist ein den Grenzverlauf bestimmender, meist durch Grenzzeichen gekennzeichneter Punkt.'; … … 651 666 652 667 CREATE UNIQUE INDEX ax_lagebezeichnungohnehausnummer_gml ON ax_lagebezeichnungohnehausnummer USING btree (gml_id, beginnt); 668 CREATE INDEX ax_lagebezeichnungohnehausnummer_gml16 ON ax_lagebezeichnungohnehausnummer USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 653 669 CREATE INDEX ax_lagebezeichnungohnehausnummer_key ON ax_lagebezeichnungohnehausnummer USING btree (land, regierungsbezirk, kreis, gemeinde,lage); 654 670 --EATE INDEX ax_lagebezeichnungohnehausnummer_beschreibt ON ax_lagebezeichnungohnehausnummer USING gin (beschreibt); … … 701 717 702 718 CREATE UNIQUE INDEX ax_lagebezeichnungmithausnummer_gml ON ax_lagebezeichnungmithausnummer USING btree (gml_id, beginnt); 719 CREATE INDEX ax_lagebezeichnungmithausnummer_gml16 ON ax_lagebezeichnungmithausnummer USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 703 720 CREATE INDEX ax_lagebezeichnungmithausnummer_lage ON ax_lagebezeichnungmithausnummer USING btree (gemeinde, lage); 704 721 --EATE INDEX ax_lagebezeichnungmithausnummer_hat ON ax_lagebezeichnungmithausnummer USING gin (hat); … … 760 777 761 778 CREATE UNIQUE INDEX ax_lagebezeichnungmitpseudonummer_gml ON ax_lagebezeichnungmitpseudonummer USING btree (gml_id, beginnt); 762 --EATE INDEX ax_lagebezeichnungmitpseudonummer_gehoertzu ON ax_lagebezeichnungmitpseudonummer USING btree (gehoertzu); 779 CREATE INDEX ax_lagebezeichnungmitpseudonummer_gml16 ON ax_lagebezeichnungmitpseudonummer USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 780 --EATE INDEX ax_lagebezeichnungmitpseudonummer_gehoertzu ON ax_lagebezeichnungmitpseudonummer USING btree (gehoertzu); 763 781 764 782 COMMENT ON TABLE ax_lagebezeichnungmitpseudonummer IS 'Angaben zur Lage: (NREO) "Lagebezeichnung mit Pseudonummer" ist die von der Katasterbehörde fÃŒr ein bestehendes oder geplantes GebÀude vergebene Lagebezeichnung und ggf. einem Adressierungszusatz, wenn von der Gemeinde fÃŒr das GebÀude keine Lagebezeichnung mit Hausnummer vergeben wurde (z.B. Kirche, NebengebÀude).'; … … 1488 1506 1489 1507 CREATE UNIQUE INDEX id_ax_person_gml ON ax_person USING btree (gml_id, beginnt); 1508 CREATE INDEX ax_person_gml16 ON ax_person USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 1490 1509 1491 1510 CREATE INDEX ax_person_hat ON ax_person USING gin (hat); … … 1518 1537 --Es handelt sich um die inverse Relationsrichtung.'; 1519 1538 1539 1520 1540 --AX_Personengruppe 1521 1541 -- Objektart: AX_Personengruppe Kennung: 21002 1522 1542 -- 'Personengruppe' ist die Zusammenfassung von Personen unter einem Ordnungsbegriff. 1523 1543 -- ** Tabelle bisher noch nicht generiert 1544 1545 -- CREATE INDEX ax_personengruppe_gml16 ON ax_personengruppe USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 1546 1524 1547 1525 1548 -- A n s c h r i f t … … 1556 1579 1557 1580 CREATE UNIQUE INDEX ax_anschrift_gml ON ax_anschrift USING btree (gml_id, beginnt); 1581 CREATE INDEX ax_anschrift_gml16 ON ax_anschrift USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 1558 1582 --EATE INDEX ax_anschrift_bsa ON ax_anschrift USING gin (beziehtsichauf); 1559 1583 --EATE INDEX ax_anschrift_gz ON ax_anschrift USING gin (gehoertzu); … … 1593 1617 COMMENT ON COLUMN ax_verwaltung.haengtan IS '-> Beziehung zu ax_person (1): Durch die Relation ''Verwaltung'' hÀngt an ''Person'' wird die Verwaltung namentlich benannt.'; 1594 1618 1619 CREATE UNIQUE INDEX ax_verwaltung_gml ON ax_verwaltung USING btree (gml_id, beginnt); 1620 CREATE INDEX ax_verwaltung_gml16 ON ax_verwaltung USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 1621 CREATE INDEX ax_verwaltung_han ON ax_verwaltung USING btree (haengtan); 1622 1595 1623 1596 1624 -- V e r t r e t u n g … … 1610 1638 haengtan character varying, --> ax_person 1611 1639 beziehtsichauf character varying[], --> ax_flurstueck 1612 1640 CONSTRAINT ax_vertretung_pk PRIMARY KEY (ogc_fid) 1613 1641 ); 1614 1642 SELECT AddGeometryColumn('ax_vertretung','dummy',:alkis_epsg,'POINT',2); … … 1620 1648 COMMENT ON COLUMN ax_vertretung.haengtan IS '-> Beziehung zu ax_person (1): Die Relation ''Vertretung'' hÀngt an ''Person'' sagt aus, welche Person die Vertretung wahrnimmt.'; 1621 1649 COMMENT ON COLUMN ax_vertretung.beziehtsichauf IS '-> Beziehung zu ax_flurstueck (0..*): Die Relation ''Vertretung'' bezieht sich auf ''FlurstÃŒck'' sagt aus, fÃŒr welche FlurstÃŒcke die Vertretung wahrgenommen wird.'; 1650 1651 CREATE INDEX ax_vertretung_han ON ax_vertretung USING btree (haengtan); 1652 CREATE INDEX ax_vertretung_bezauf ON ax_vertretung USING gin (beziehtsichauf); 1622 1653 1623 1654 … … 1652 1683 1653 1684 CREATE UNIQUE INDEX ax_namensnummer_gml ON ax_namensnummer USING btree (gml_id, beginnt); 1685 CREATE INDEX ax_namensnummer_gml16 ON ax_namensnummer USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 1686 1654 1687 CREATE INDEX ax_namensnummer_barvz ON ax_namensnummer USING btree (bestehtausrechtsverhaeltnissenzu); 1655 1688 CREATE INDEX ax_namensnummer_ben ON ax_namensnummer USING btree (benennt); … … 1739 1772 1740 1773 CREATE UNIQUE INDEX ax_buchungsstelle_gml ON ax_buchungsstelle USING btree (gml_id, beginnt); 1774 CREATE INDEX ax_buchungsstelle_gml16 ON ax_buchungsstelle USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 1741 1775 1742 1776 CREATE INDEX ax_buchungsstelle_an ON ax_buchungsstelle USING gin (an); … … 1820 1854 CREATE INDEX ax_gebaeude_geom_idx ON ax_gebaeude USING gist (wkb_geometry); 1821 1855 CREATE UNIQUE INDEX ax_gebaeude_gml ON ax_gebaeude USING btree (gml_id, beginnt); 1856 CREATE INDEX ax_gebaeude_gml16 ON ax_gebaeude USING btree (substring(gml_id,1,16)); -- ALKIS-Relation 1822 1857 1823 1858 CREATE INDEX ax_gebaeude_geh ON ax_gebaeude USING gin (gehoert); -
trunk/import/pp_definition.sql
r330 r332 22 22 -- Wie im Schema: SchlÃŒssel von integer nach varchar fÃŒr land, regierungsbezirk usw. 23 23 24 -- IN ARBEIT +++++ substring(_.gml_id,1,16) 24 25 25 26 -- ============================ … … 258 259 SELECT DISTINCT p.gml_id AS person, g.land, g.regierungsbezirk, g.kreis, g.gemeinde 259 260 FROM ax_person p 260 JOIN ax_namensnummer n ON n.benennt = p.gml_id-- Person <benennt< Namensnummer261 JOIN ax_buchungsblatt b ON n.istbestandteilvon = b.gml_id-- Namensnummer >istBestandteilVon> Blatt262 JOIN ax_buchungsstelle s ON s.istbestandteilvon = b.gml_id-- Blatt <istBestandteilVon< buchungsStelle263 JOIN ax_flurstueck f ON f.istgebucht = s.gml_id-- buchungsStelle <istGebucht< flurstÃŒck264 JOIN ax_gemarkung k ON f.land = k.land AND f.gemarkungsnummer =k.gemarkungsnummer265 JOIN gemeinde_gemarkung g ON k.gemarkungsnummer =g.gemarkung;261 JOIN ax_namensnummer n ON n.benennt=substring(p.gml_id,1,16) -- Person <benennt< Namensnummer 262 JOIN ax_buchungsblatt b ON n.istbestandteilvon=substring(b.gml_id,1,16) -- Namensnummer >istBestandteilVon> Blatt 263 JOIN ax_buchungsstelle s ON s.istbestandteilvon=substring(b.gml_id,1,16) -- Blatt <istBestandteilVon< buchungsStelle 264 JOIN ax_flurstueck f ON f.istgebucht=substring(s.gml_id,1,16) -- buchungsStelle <istGebucht< flurstÃŒck 265 JOIN ax_gemarkung k ON f.land=k.land AND f.gemarkungsnummer=k.gemarkungsnummer 266 JOIN gemeinde_gemarkung g ON k.gemarkungsnummer=g.gemarkung; 266 267 267 268 COMMENT ON VIEW gemeinde_person_typ1 … … 275 276 SELECT DISTINCT p.gml_id AS person, g.land, g.regierungsbezirk, g.kreis, g.gemeinde 276 277 FROM ax_person p 277 JOIN ax_namensnummer n ON n.benennt = p.gml_id-- Person <benennt< Namensnummer278 JOIN ax_buchungsblatt b ON n.istBestandteilVon = b.gml_id-- Namensnummer >istBestandteilVon> Blatt279 JOIN ax_buchungsstelle s1 ON s1.istbestandteilvon = b.gml_id-- Blatt <istBestandteilVon< buchungsStelle1280 JOIN ax_buchungsstelle s2 ON s 2.gml_id= ANY(s1.an) -- buchungsStelle2 <(recht)an< buchungsStelle1281 JOIN ax_flurstueck f ON f.istgebucht = s2.gml_id-- buchungsStelle2 < istGebucht < flurstÃŒck282 JOIN ax_gemarkung k ON f.land = k.land AND f.gemarkungsnummer =k.gemarkungsnummer283 JOIN gemeinde_gemarkung g ON k.gemarkungsnummer =g.gemarkung;278 JOIN ax_namensnummer n ON n.benennt=substring(p.gml_id,1,16) -- Person <benennt< Namensnummer 279 JOIN ax_buchungsblatt b ON n.istBestandteilVon=substring(b.gml_id,1,16) -- Namensnummer >istBestandteilVon> Blatt 280 JOIN ax_buchungsstelle s1 ON s1.istbestandteilvon=substring(b.gml_id,1,16) -- Blatt <istBestandteilVon< buchungsStelle1 281 JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)= ANY(s1.an) -- buchungsStelle2 <(recht)an< buchungsStelle1 282 JOIN ax_flurstueck f ON f.istgebucht=substring(s2.gml_id,1,16) -- buchungsStelle2 < istGebucht < flurstÃŒck 283 JOIN ax_gemarkung k ON f.land=k.land AND f.gemarkungsnummer=k.gemarkungsnummer 284 JOIN gemeinde_gemarkung g ON k.gemarkungsnummer=g.gemarkung; 284 285 285 286 COMMENT ON VIEW gemeinde_person_typ2 … … 288 289 -- Statistik ÃŒber die Buchungs-Typen je Gemeinde 289 290 -- ToDo: +++++ View "gemeinde_gemarkung" nicht verwenden, auflösen 290 CREATE VIEW gemeinde_person_statistik291 CREATE OR REPLACE VIEW gemeinde_person_statistik 291 292 AS 292 293 SELECT p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp, count(p.person) as personen … … 309 310 -- Gemarkungen: 4 Meter 310 311 311 CREATE VIEW pp_gemeinde_analyse AS312 CREATE OR REPLACE VIEW pp_gemeinde_analyse AS 312 313 SELECT land, gemeinde, gemeindename, 313 314 st_npoints(the_geom) AS umring_alle_punkte, … … 316 317 317 318 318 CREATE VIEW pp_gemarkung_analyse AS319 CREATE OR REPLACE VIEW pp_gemarkung_analyse AS 319 320 SELECT land, gemeinde, gemarkung, gemarkungsname, 320 321 st_npoints(the_geom) AS umring_alle_punkte, -
trunk/import/sichten.sql
r331 r332 32 32 -- 2014-09-02 Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen. Relationen nun ÃŒber Spalten in den Objekttabellen. 33 33 -- 2014-09-11 Neu: View "fehlersuche_namensanteile_je_blatt", substring(gml_id) bei Relation-Join, mehr "endet IS NULL" 34 35 -- ToDo: Einige Views sind sehr langsam geworden. Z.B. exp_csv welcher doppelverbindung verwendet. 36 -- Dadurch Export aus Bauchauskunft sehr langsam! 37 -- Derzeit provisorische Version von "doppelverbindung" (schnell aber nicht ganz korrrekt). 34 -- 2014-09-12 Korrektur "doppelverbindung" (nach Patch der Indices fÃŒr Relation auf Substring(gml_id,1,16)) 38 35 39 36 -- Bausteine fÃŒr andere Views: … … 53 50 54 51 -- DROP VIEW public.doppelverbindung; 55 56 /* -- korrekte Version, leider unertrÀglich langsam, z.B. beim Export von CSV aus der Auskunft57 58 52 CREATE OR REPLACE VIEW public.doppelverbindung 59 53 AS … … 74 68 WHERE dien.endet IS NULL; -- FÃŒr das zusÀtzliche Verbindungselement die Historie HIER ausschlieÃen, 75 69 -- FÃŒr andere Tabellen muss dies in dem View erfolgen, der dies verwendet. 76 */77 78 -- TEST: Schneller, wenn auf Subtring verzichtet wird? Ja!79 -- Aber: Verbindungen ÃŒber aktualisierte, also lange ID's werden nicht gefunden.80 CREATE OR REPLACE VIEW public.doppelverbindung81 AS82 -- FS >istGebucht> Buchungstelle83 SELECT f1.gml_id AS fsgml, -- gml_id FlurstÃŒck84 b1.gml_id AS bsgml, -- gml_id Buchungs85 0 AS ba_dien86 FROM ax_flurstueck f187 JOIN ax_buchungsstelle b1 ON f1.istgebucht = substring(b1.gml_id,1,16)88 UNION89 -- FS >istGebucht> Buchungstelle <an< Buchungstelle90 SELECT f2.gml_id AS fsgml, -- gml_id FlurstÃŒck91 b2.gml_id AS bsgml, -- gml_id Buchung - (herrschendes GB)92 dien.buchungsart AS ba_dien -- Ein Feld aus der Zwischen-Buchung zur Fall-Unterscheidung93 FROM ax_flurstueck f294 JOIN ax_buchungsstelle dien ON f2.istgebucht = substring(dien.gml_id,1,16)95 --JOIN ax_buchungsstelle b2 ON substring(dien.gml_id,1,16) = ANY (b2.an) -- korrekt96 JOIN ax_buchungsstelle b2 ON dien.gml_id = ANY (b2.an) -- schnell97 WHERE dien.endet IS NULL; -- Nur fÃŒr das zusÀtzliche Verbindungselement die Historie HIER ausschlieÃen,98 -- FÃŒr andere Tabellen muss dies in dem View erfolgen, der dies verwendet.99 70 100 71 COMMENT ON VIEW public.doppelverbindung … … 102 73 Dies ist ausschlieÃlich gedacht zur Verwendung in anderen Views um diese einfacher zu machen.'; 103 74 104 /* Test zur Zeitmessung105 106 SELECT dien.gml_id, herr.gml_id107 FROM ax_buchungsstelle dien108 JOIN ax_buchungsstelle herr ON dien.gml_id = ANY (herr.an)109 WHERE dien.endet IS NULL AND herr.endet IS NULL110 LIMIT 300;111 -- 78 ms112 113 SELECT dien.gml_id, herr.gml_id114 FROM ax_buchungsstelle dien115 JOIN ax_buchungsstelle herr ON substring(dien.gml_id,1,16) = ANY (herr.an)116 WHERE dien.endet IS NULL AND herr.endet IS NULL117 LIMIT 300;118 -- 19454 ms119 120 121 */122 75 123 76 -- Test-Ausgabe: Ein paar FÀlle mit "Recht an" -
trunk/info/info/alkis/alkisbestnw.php
r330 r332 119 119 WHERE sh.istbestandteilvon= $1 AND sd.endet IS NULL AND sh.endet IS NULL;"; 120 120 121 $v=array( $gmlid); // GB-Blatt121 $v=array(substr($gmlid,1,16)); // GB-Blatt, in Relation immer nur 16 Zeichen 122 122 $res=pg_prepare("", $sql); 123 123 $res=pg_execute("", $v); -
trunk/info/info/alkis/alkisfkt.php
r330 r332 197 197 198 198 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 199 $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 ORDER BY n.laufendenummernachdin1421;";199 $sqln.="FROM ax_namensnummer n WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 200 200 201 201 $v = array($gmlid); … … 247 247 $sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 248 248 $sqlp.="FROM ax_person p JOIN ax_namensnummer nn ON nn.benennt=substring(p.gml_id,1,16) WHERE nn.gml_id= $1 AND p.endet IS NULL AND nn.endet IS NULL;"; 249 // Timestamp an ID abschneiden!250 249 251 250 $v = array($gmlnn); … … 294 293 // Schleife 3: A d r e s s e (OPTIONAL) 295 294 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 296 $sqla.="FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16) = ANY(p.hat) WHERE p.gml_id= $1;"; // ORDER?295 $sqla.="FROM ax_anschrift a JOIN ax_person p ON substring(a.gml_id,1,16)=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL;"; // ORDER? 297 296 $gmlp=$rowp["gml_id"]; // Person 298 297 $v = array($gmlp); … … 345 344 346 345 $i++; // cnt Person 347 // als eigene Tab-Zeile? 348 // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht). 349 if ($rown["zaehler"] != "") { 346 347 // Anteil als eigene Tab-Zeile: 348 $zaehler=$rown["zaehler"]; 349 if ($zaehler != "") { 350 $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht 351 $nenner=str_replace(".", ",", $rown["nenner"]); 352 $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht)."; 350 353 echo "\n<tr>\n\t<td> </td>"; // Sp. 1 351 echo "\n\t<td><p class='avh' title=' Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>";354 echo "\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>"; 352 355 echo "\n\t<td> </td>\n</tr>"; // Sp. 3 353 356 } … … 369 372 // kommt vor bei "Fiktives Blatt", kein Fehler 370 373 if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";} 371 372 374 if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 373 375 }
Note: See TracChangeset
for help on using the changeset viewer.