Closed iimsand closed 2 years ago
Mit der Hilfe von https://github.com/claeis/ili2db/blob/master/docs/ili2db.rst#fall-15 und --defaultSrsCode 2056
klappt's nun:
java -jar apps/ili2gpkg-4.7.0/ili2gpkg-4.7.0.jar --defaultSrsCode 2056 --schemaimport --dbfile RoadsSimple.gpkg samples/Testbeispiel_20160812/RoadsSimple.ili
Info: dburl <jdbc:sqlite:RoadSimple.gpkg>
Info: dbusr <>
Info: ili2gpkg-4.7.0-5f0d7297204b098526ced56619a49df9e5fd4d3b
Info: ili2c-5.2.5-b1471c2815bd6f7703c39f0de059eb083e194448
Info: iox-ili-1.21.9-5a42f4e2e39d49e9fc61497e5cfe0fb13abe0205
Info: java.version 1.8.0_312
Info: user.name <###>
Info: maxMemory 3642880 KB
Info: currentTime 2022-02-14 13:49:12
Info: dburl <jdbc:sqlite:RoadSimple.gpkg>
Info: dbusr <>
Info: databaseProduct <SQLite>
Info: databaseVersion <3.8.11>
Info: driverName <SQLiteJDBC>
Info: driverVersion <native>
Info: compile models...
Info: ilifile <samples/Testbeispiel_20160812/RoadsSimple.ili>
Info: create table structure, if not existing...
Info: ...done
Guten Tag allerseits Ich habe gerade versucht, ein LKMAP-Modell einzulesen - und dabei kam ebenfalls die Fehlermeldung "no CRS for attribute SIA405_LKMap_2015_LV95.SIA405_LKMap.LKFlaeche.Flaeche". Und ich kann mir nicht erklären, warum? Die Modelle sind hier hochgeladen: Modelle.zip
Beim Import mit der Option --defaultSrsCode 2056 gibt es keine Fehlermeldung mehr. Dies hilft zwar im Augenblick - ich finde aber, dass die erwähnte Fehlermeldung nur aus nachvollziehbaren Gründen erstellt werden soll. Evtl. findet ja jemand den Fehler im Modell (ich bin nicht der Profi...)
Grüsse Christian
In der zip-Datei ist das Modell SIA405_LKMap_2015_LV95 zweimal vorhanden. Welche Datei wird genau benutzt? Und das Attribut SIA405_LKMap_2015_LV95.SIA405_LKMap.LKFlaeche.Flaeche benutzt den Wertebereich Base_LV95.Surface und dort fehlt das CRS Metaattribut (darum die Fehlermeldung). https://github.com/claeis/ili2c/blob/master/doc/ili2c.rst#interlis-metaattribute
ja, die Datei SIA405_LKMap_2015_2_d-20180427 ist noch vom Test drin, diese wird nicht benutzt.
Ich habe nun beim Modell Base_LV95 noch das Metaattribut !!@CRS=EPSG:2056 eingefügt:
!!@CRS=EPSG:2056
LKoord = COORD 2480000.000 .. 2840000.000 [m], !!{CHLV95/1},
1070000.000 .. 1300000.000 [m], !!{CHLV95/2},
ROTATION 2 -> 1;
Damit funktionierts. Dann wäre ja das gegebene Modell für LKMap falsch, oder?
Besten Dank für die rasche Hilfe...
Dann wäre ja das gegebene Modell für LKMap falsch, oder?
Nein, es ist einfach nicht im Modell festgeschrieben, welches CRS zu verwenden sei. Also gibst du es mit der Option --defaultSrsCode
dem Werkzeug bekannt.
Unter https://www.interlis.ch/downloads/testdatensaetze gibt es ein Testbeispiel (https://www.interlis.ch/download/interlis2/Testbeispiel_20160812.zip).
Führt man den folgenden Befehl aus:
Wird das Schema nicht importiert und die Meldung
no CRS for attribute RoadsSimple.Roads.LandCover.Geometry
erscheint im Output. Der Import wurde auch mitili2gpkg-4.7.0
getestet, mit dem gleichen Resultat.Führt man den gleichen Befehl mit
ili2gpg-3.12.3
aus, wird das Schema importiert:Der Import des Testbeispiels funktioniert nur mit
ili2gpkg
< 4.0.0. Bei höheren Versionen wirdno CRS for attribute RoadsSimple.Roads.LandCover.Geometry
gemeldet.Im Changelog von 4.0.0 ist folgendes zu lesen:
- IMPORTANT: ili2db 4.x breaks schema compatibility with ili2db 3.x
.Was muss am Testbeispiel angepasst werden, damit der Import mit
ili2gpkg
>= 4.0.0 auch funktionert? Oder muss der Befehl angepasst werden?Testbeispiel
RoadsSimple.ili
von https://www.interlis.ch/download/interlis2/Testbeispiel_20160812.zip (https://www.interlis.ch/downloads/testdatensaetze):