Allgemeines

Der GISX 2.x Datastore erlaubt die Einbindung von Daten einer GISX 2.x Datenbank in GISX 3.

Sämtliche Konfigurationseinstellungen können in <GISX3HOME>/datastores/gisx2/config getroffen werden. Themendefinitionen befinden sich in <GISX3HOME>/datastores/gisx2/themes

Konfiguration

Für die Konfiguration sind folgende Konfigurationen notwendig.

database.properties

Konfiguration der Datenbankverbindung sowie der zu verwendeten Bestandteile der GISX 2.x Datenbank.

<GISX3HOME>/datastores/gisx2/config/database.properties
# database driver
datasource.driver=oracle.jdbc.driver.OracleDriver
 
# database url
datasource.url=jdbc:oracle:thin:@myserver:1521:myinstance
 
# database user
datasource.username=USER
 
# database password
datasource.password=SECRET

# the moduls that should be used.
datasource.moduls=de.geograt.data.beans.gisx2.survey,de.geograt.data.beans.gisx2.commonpolygons

Die einzelnen Parameter im Überblick

ParameterBeschreibungStandardwertOptional

datasource.driver

Der JDBC Datenbanktreiberoracle.jdbc.driver.OracleDriverJa

datasource.url

Die Datenbankadresse (Abhängig vom Treiber) Nein

datasource.username

Der Benutzername in der Datenbank Ja
datasource.passwordDas (unverschlüsselte) Passwort des Benutzers in der Datenbank Ja
datasource.modulsDie zu verwendenden Module aus GISX 2.xde.geograt.data.beansJa
maxConnections

Die maximale Anzahl an offenen Connections zur Datenbank.

Dieser Parameter steht seit GISX 3 - Version 1.0.19 zur Verfügung, da ein neuer ConnectionPool eingeführt wurde.

Um das alte Verhalten wieder herzustellen, geben Sie hier den Wert 1 an (Es wird kein ConnectionPool verwendet)

8Ja
Icon

Eventuell vorhandene Einstellungen zu defaultProject und defaultALKProject haben keinerlei Bedeutung mehr und können entfernt werden (Ab Version 1.0.26). Die Angabe welches Projekt mit welchem ALK Projekt verwendet wird (und im übrigen auch mit welchem Koordinatensystem) muss in der Projektkonfiguration getroffen werden.

 

hibernate.properties

(Optionale) Konfiguration von hibernate. Bei Hibernate handelt es sich um die Zwischenschicht zwischen GISX 3 und der Datenbank.

<GISX3HOME>/datastores/gisx2/config/hibernate.properties
# Hibernate dialect
hibernate.dialect=org.hibernate.spatial.dialect.oracle.OracleSpatial10gDialect
 
# the max fetch depth
hibernate.max_fetch_depth=3
 
# true if generated SQL statement should be shown
hibernate.show_sql=false
 
# true if generated SQL statements should be formatted if shown
hibernate.format_sql=false
 
# true if strict ogc mode should be used.
hibernate.spatial.ogc_strict=false

Die einzelnen Parameter im Überblick

ParameterBeschreibungStandardwertOptional
hibernate.dialectVerwendeter Dialekt für Hibernate. Hängt eng mit dem Datenbanktreiber aus database.properties zusammen. Wenn dort eine andere Datenbank (z.B. PostGIS) verwendet wird, sollte dieser Wert natürlich geändert werden.org.hibernate.spatial.dialect.oracle.OracleSpatial10gDialectJa
hibernate.max_fetch_depthMaximale Tiefe bis zu der generierte SQL Anweisungen verschachtelt werden.3Ja
hibernate.show_sqlGibt an ob generierte SQL Anweisungen geloggt werden sollen (Level "DEBUG"). Dieser Wert sollte nur für Debugging Zwecke geändert werden.falseJa
hibernate.format_sqlGibt an ob geloggte SQL Anweisungen formatiert werden sollen.falseJa
hibernate.hbm2ddl.auto

Gibt an ob neue Datenbankspalten, Indexe etc. bei Start von GISX 3 angelegt werden sollen. Zur Verfügung stehen die aus Hibernate bekannten Werte.

Icon
Ändern Sie diesen Wert nicht selbstständig bzw. nur in Absprache mit GEOGRAT. Änderungen können zu Datenverlusten führen.
NONEJa
hibernate.spatial.ogc_strictGibt an ob Hibernate im OGC Strict Modus arbeiten soll. Eine Aktivierung in Verbindung mit der Verwendung von ORACLE kann zu massiven Performance Problemen führen.falseJa

Verfügbare Module:

  • de.geograt.data.beans.gisx2.survey - Vermessung E5001 und E5002 aus GISX 2.x
  • de.geograt.data.beans.gisx2.commonpolygons - Allgemeine Flächentabelle E1000 aus GISX 2.x
  • de.geograt.data.beans.gisx2.location - Ort, Straßen und Hausnummernkoordinaten (Zurzeit nur in Stralsund)
  • de.geograt.data.beans.gisx2.alkis - ALKIS (Flurstücke, Gebäude und ganze Rest)
  • de.geograt.data.beans.gisx2.electricity - Elektro Trassennetz
  • de.geograt.data.beans.gisx2.electricitycable - Elektro Schemanetz
  • de.geograt.data.beans.gisx2.sewer - Kanal Hauptnetz (Inkl. Ausgestaltung)
  • de.geograt.data.beans.gisx2.sewerha - Kanal Anschlussnetz
  • de.geograt.data.beans.gisx2.sewerinspection - Kanal Inspektionen
  • de.geograt.data.beans.gisx2.water - Wasserversorung Hauptnetz
  • de.geograt.data.beans.gisx2.waterha - Wasserversorung Anschlußnetz
  • de.geograt.data.beans.gisx2.gas - Gasversorgung Hauptnetz
  • de.geograt.data.beans.gisx2.gasha - Gasversorung Anschlussnetz
  • de.geograt.data.beans.gisx2.heating - Fernwärme Hauptnetz
  • de.geograt.data.beans.gisx2.heatingha - Fernwärme Anschlussnetz
  • de.geograt.data.beans.gisx2.grave - Friedhofskataster aus Hamburg
  • de.geograt.data.beans.gisx2.tree - Baumkataster
Icon

Bitte verwenden Sie nur Einträge zu Fachschalen, die auch wirklich in GISX 2.x installiert sind und dort aktualisiert werden! Falsche Einträge zu Tabellen, die es nicht gibt oder die fehlerhaft sind, können zu einem instabilen GISX 3.x führen.

datastore.properties

Optionale Konfiguration. Eine Beschreibung hierzu befindet sich in der allgemeinen Dokumentation zu Datastores.

Themendefinition

Die Themendefinition zu GISX 2.x Daten kann unter <GISX3HOME>/datastores/gisx2/themes vorgenommen werden.

Die Themendefinition findet wie in jedem anderen Datastore statt, nähere Informationen können an dieser Stelle nachgelesen werden.

Hinweise zu Vorlaufwerten

Icon

In der Themendefinition angegebene Vorlauflisten für Attribute (siehe Attributdefinition) werden ignoriert, wenn in der Datenbank in den "V-Tabellen" (z.B. E0101V) für diese Spalte bereits Vorlaufwerte definiert sind.

Beachten Sie bitte, dass GISX3 derzeit keine Unterstützung für projekt- und maskenspezifische Vorlaufwerte bietet. Es werden stets alle Vorlaufwerte verwendet, die für eine Spalte definiert sind. Bei Duplikaten (z.B. zwei Einträge mit gleichem Kurz- oder Langwert für die gleiche Spalte) ist nicht vorhersehbar, welcher in GISX3 verwendet wird. Dies ist zu vermeiden!

Icon

Bei der Definition von Filtern ist HQL (Hibernate Query Language) zu verwenden.

Als Spaltennamen in Filtern sind die internen Bezeichnungen (z.B. "usage" bzw. "cadData.symbol") zu verwenden und nicht die Ausgabenamen.

Bei der Definition von Tooltip, Suchattribute und Anzeige von Suchattributen hingegen sind die Ausgabenamen ("cadData:symbol") zu verwenden.

Texte und Attributblöcke werden vor der Darstellung (und auch bei Befüllung des Caches) aufgelöst. Nährere Informationen finden Sie an dieser Stelle.

Optionen

Folgende Optionen stehen zur Verfügung:

OptionWertBeschreibung
USE_CADDATAkein Wert notwendigBewirkt das Laden der CAD Daten, wenn auf diesem Thema eine Suche ausgeführt wird. Dies ist immer dann notwendig, wenn z.B. ein SymbolVectorizer als Formater verwendet wird und der zentrale Punkt des Symbols bei Suchergebnissen angesprungen werden soll.
IGNORE_TEXTRESOLVINGkein Wert notwendig

Bewirkt, das für Zusatztexte keine Einzeltextauflösung verwendet wird. (Momentan werden Textfeatures immer in spezielle Features umgewandelt, die ein anderes Set von Attributen verwenden.)
Dies zu umgehen ist z.B. dann von Vorteil wenn Attribute des Hauptobjekts im Stil referenziert werden sollen oder wenn die Symbole aus Zusatztexten gezeichnet werden sollen.

Folgendes Beispiel zeigt eine Themendefinition die genau dies für die Symbole der Inspektionsergebnisse von Haltungen durchführt.

<?xml version="1.0" encoding="UTF-8"?>
<Theme xmlns="http://www.geograt.de/namespaces/gisx3/themedefinition/1.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<visibleName>Beschriftungen</visibleName>
	<ignore>false</ignore>
	<dataSource>SewerEdgeInspectionResult:texts</dataSource>
	<searchable>false</searchable>
	<cache>false</cache>
	<filter>x.textKey = 'SYMBOL' and e.inspectionCoreData.inspectionStatus between 150 and 250 and e.status = 100 and x.value like '@(B)%'</filter>
	<options>
		<parameter>
			<key>IGNORE_TEXTRESOLVING</key>
		</parameter>
	</options>
</Theme>

Die passende Layerdefinition hierzu:

<?xml version="1.0" encoding="UTF-8"?>
<VectorLayer
	xmlns="http://www.geograt.de/namespaces/gisx3/layerdefinition/1.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<visibleName>Punktschäden</visibleName>
	<visibleByDefault>false</visibleByDefault>
	<minZoom>19</minZoom>
	<drawOrder>-102</drawOrder>
	<dataStore>gisx2</dataStore>
	<dataSource>sewer.inspection.sewer-edge-inspection-result-symbols</dataSource>
	<tileGrid>
		<minZoom>19</minZoom>
		<maxZoom>20</maxZoom>
	</tileGrid>
	<type>TileVector</type>
	<showTooltip>true</showTooltip>
	<iconStyle>
		<icon>
			<cql>strSubstringStart(value,4)</cql>
		</icon>
		<color>
			<layerValue>
				<rgbColor>
					<red>0</red>
					<green>0</green>
					<blue>0</blue>
				</rgbColor>
			</layerValue>
		</color>
		<rotation>
			<featureValue>
				<attributeName>rotation</attributeName>
			</featureValue>
		</rotation>
		<rotateWithView>true</rotateWithView>
		<scale>
			<layerValue>1.0</layerValue>
		</scale>
		<iconType>xml</iconType>
	</iconStyle>
</VectorLayer>

Man beachte vor allem die cql Anweisung zur Darstellung des Icons. Diese sorgt dafür dass "@(B)" vom Icon Namen entfernt wird.
Die Eigenschaft <icon> referenziert dazu das Attribut value (also die Spalte CVALUE der Texttabelle), und nicht wie sonst das Attribut content,  dass für die konvertierten Texte existiert. Details dazu auf der Seite zu Textstilen.