norBIT / alkisimport

ALKIS-Import
http://www.norbit.de/68/
GNU General Public License v2.0
28 stars 17 forks source link

Fehler in ALKIS-Funktion alkis_flsnr() #30

Closed geoglis closed 5 years ago

geoglis commented 5 years ago

Beim Import der thüringischen Daten (ALKIS_KB58_nas.zip) lief das Postprocessing auf einen Fehler. Angeblich war eine Flurstücksnummer doppelt vorhanden.

psql:postprocessing.d/4_nas2alb/1_flurst.sql:59: FEHLER:  doppelter Schlüsselwert verletzt Unique-Constraint »flurst_pkey«
DETAIL:  Schlüssel »(flsnr)=(161101-000-04490/141)« existiert bereits.

Die Funktion alkis_flsnr() erzeugt aus den Werten "161101000044900141__" und "161101000044902141__" die selbe Flurstücksnummer. Das eine endet auf "0141", die andere aber auf "2141".

An den Daten (Auszug) der beiden Flächen kann man sehen, das diese aber verschieden sind:

SELECT
a.flurstueckskennzeichen,
     alkis_flsnr(a) AS flsnr,
     alkis_flsnrk(a) AS flsnrk,
     to_char(alkis_toint(a.land),'fm00') || to_char(alkis_toint(a.gemarkungsnummer),'fm0000') AS gemashl,
     to_char(coalesce(a.flurnummer,0),'fm000') AS flr,
     to_char(date_part('year', a.zeitpunktderentstehung), 'fm0000') || '/     -  ' AS entst,
     amtlicheflaeche::int AS flsfl
   FROM ax_flurstueck a
   WHERE a.endet IS NULL
     AND alkis_flsnr(a)='161101-000-04490/141';

flurstueckskennzeichen  flsnr                   flsnrk          gemashl         flr     entst         flsfl
"161101000044900141__"  "161101-000-04490/141"  "04490/141" "161101"    "000"   "2004/ - "  2548
"161101000044902141__"  "161101-000-04490/141"  "04490/141" "161101"    "000"   "2009/ - "  14646
jef-n commented 5 years ago

https://geoportal.geoportal-th.de/ALKIS/NAS/ALKIS_KB58_nas.zip

geoglis commented 5 years ago

Ist alkis_flsnrk() dann davon auch betroffen? Beide liefern ein "04490/141"