| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: shape-Datei mit DATE-Spalten füllen (941 / mal gelesen)
|
Idefixus Mitglied GIS-Manager
Beiträge: 57 Registriert: 08.10.2007 AutoCAD Map 3D 2024, Windows 10 64bit, PC mit 32 GB, MapGuide Server 3.1.2, MapGuide Maestro 6.0, MapEdit Desktop 23.1.263.0
|
erstellt am: 06. Feb. 2019 14:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich muss für einen INSPIRE-Umsetzer aus einer Map 3D-Oracle-Tabelle eine shape-Datei mit DATE-Spalten erstellen. Zuerst habe ich mir eine View erstellt, die die Daten passend ausgibt. Dann habe ich den Map 3D-Layer in eine sqlite-Datei exportiert, die sqlite-Datei mit Objektdaten in eine dwg importiert, und dann die Zeichnungselemente in eine shape-Datei exportiert. Soweit so gut, die shape-Datei sieht normal aus, aber der INSPIRE-Umsetzer liest die Datumsspalten nicht: IndexOutOfBounds. Wenn ich mir die shape-Datei im SpatiaLite GUI anschaue, sehe ich, dass alle Spalten außer der Geometriespalte Text sind. In der Testdatei für den Umsetzer sehe ich dagegen, dass die Datumspalten als DOUBLE definiert sind, s. UmsetzerTestdatei.jpg, z. B. Spalte AUFSTELLB, und in der Tabellenanzeige sehe ich ein Datum z. B. als 2458275.500000. Mein nächster Versuch war, über den Map 3D-Schema-Editor eine neue shape-Datei anzulegen, und die Datumsfelder als "DatumZeit" zu definieren. Das funktioniert auch, in SpatiaLite sehe ich wie in der Testdatei die Datumspalten als DOUBLE, s. LeereShapeSchemaEditor.jpg. Dann habe ich mit der Massenkopie die Daten aus der View nach shape kopiert, aber Map 3D schreibt die Daten nicht in meine selbst definierte shape-Datei, sondern legt eine neue shape-Datei an, die so heißt wie die View, schon richtig mit allen Spalten, aber die sind leider alle bis auf die Geometriespalte als VARCHAR() definiert. Also wieder nichts. Jetzt bliebe mir nur noch, die Daten in die selbst definierte shape-Datei händisch einzupflegen. Weiß jemand noch einen anderen Weg mit Oracle-, AutoCAD-, MS Excel- oder SpatiaLite-Mitteln? Grüße Idefixus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Idefixus Mitglied GIS-Manager
Beiträge: 57 Registriert: 08.10.2007
|
erstellt am: 07. Feb. 2019 11:08 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe es mit QGIS gemacht, da werden als DATE definierte Spalten auch unverändert als DATE in der ausgegebenen shape-dbf-Datei abgelegt. Was Map 3D dann doch macht, ist die Datumsangaben in dieser Shapedatei von QGIS in der Datentabelle mit dem Kalenderdialogfeld bearbeitbar zu machen (s. ShapeDatentabDatum.jpg). Dann wird das im Kalender angeklickte Datum auch in das DOUBLE-Format umgerechnet. Also DATE in dbf lesen und schreiben kann Map 3D wohl schon, aber man kann Map 3D anscheinend als Anwender nicht steuern, es z. B. bei der Massenkopie auch so auszugeben. Schade. Der Workflow wird dann wohl so sein müssen, dass die Map 3D-Oracle-Tabelle in QGIS eingebunden wird, um von dort die geforderte shape-Datei ohne händische Eingaben ausgeben zu können. Vielleicht werde ich mich also in Zukunft auch am QGIS-Forum beteiligen. Viele Grüße Idefixus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Idefixus Mitglied GIS-Manager
Beiträge: 57 Registriert: 08.10.2007 AutoCAD Map 3D 2024, Windows 10 64bit, PC mit 32 GB, MapGuide Server 3.1.2, MapGuide Maestro 6.0, MapEdit Desktop 23.1.263.0
|
erstellt am: 08. Feb. 2019 12:19 <-- editieren / zitieren --> Unities abgeben:
Hallo, es geht in Map 3D doch! Wenn ich in der Oracle-View die Datumsspalten nicht formatiere, z. B. Spalte RECHTSKR pur als "b.datum_rechtskraft as RECHTSKR" definiere (mit b.datum als Oracle-Date-Spalte), dann erzeugt Map 3D bei der Massenkopie in eine shape-Datei in diesen Spalten auch DOUBLE-Felder mit diesen "2-Millionen-Datumszahlen". Die unformatierte Datumsspalte in Oracle ist zwar für einen deutschsprachigen Menschen schlecht lesbar (das Datum von heute sieht erst mal aus wie der 2. August: 02/08/2019 12:13:28), aber für eine reine Ausgabeview ist das verkraftbar. Nur den vom InspireUmsetzer außerdem geforderten Zeichensatz UTF-8 bekomme ich mit Map 3D nicht hin; auch wenn die als Schema defnierte shape-Datei eine cpg-Datei mit dem Eintrag UTF-8 hat, erzeugt Map 3D eine neue shape-Datei mit einer cpg-Datei mit dem Eintrag 1252. Da nehme ich dann doch noch mal SpatiaLite oder QGIS, um den UTF-8-Zeichensatz beim Export zu erzwingen. Grüße Idefixus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|