Allgemeine JDBC-X/Y-Datenbanktabelle

Beispiel

Benannte Tabellenressourcen können auf eine allgemeine XY-Tabelle in einer JDBC-Datenquelle verweisen. Dies ist ein Beispiel für die Definition einer benannten Tabelle für eine Datenbanktabelle mit X/Y-Geometriespalten. In diesem Beispiel wird das Element „DBDataSourceMetadata“ für die Angabe der X- und Y-Geometriespalten verwendet, die in der Datenbanktabelle definiert sind. Es wird nicht erwartet, dass die X/Y-Datenbanktabelle eine Geometriespalte enthält.

In diesem Beispiel wird die Definition einer Datenbankverbindung zu einer X/Y-Tabelle in Oracle mithilfe der folgenden Token bestimmt. Die Verbindung könnte auch statt inline als benannte Verbindung definiert werden.

  • @owner@: Der Name des Besitzers der Oracle-Tabelle
  • @host@: Der Hostname, der zur Verbindung mit der Oracle-Datenbank verwendet wird
  • @port@: Die Portnummer, die zur Verbindung mit der Oracle-Datenbank verwendet wird
  • @SID@: Die SID für die Oracle-Instanz
  • @username@: Die Benutzer-Anmeldeinformationen für den Zugriff auf die Datenbank
  • @password@: Die Kennwort-Anmeldeinformationen für den Zugriff auf die Datenbank

Sie definiert ein „DBDataSourceMetadata“-Element, in dem der Name der X- und Y-Geometriespalten angegeben wird.

  • @srsname@: Der Name des Koordinatensystems für die X- und Y-Spalten in der Tabelle
  • @x_attribute@: Der Name eines Attributs, das die X-Koordinate enthält
  • @y_attribute@: Der Name eines Attributs, das die Y-Koordinate enthält


<?xml version="1.0" encoding="UTF-8"?>
<NamedDataSourceDefinition version="MXP_WorkSpace_1_5">
	<DBConnection dbType="oracle">
        <ConnectionName>/myOracleConnection</ConnectionName>
        <JDBCDriverParameters>
            <JDBCUrl>jdbc:oracle:thin:scott/tiger@localhost:1521:MyDB</JDBCUrl>
            <DriverPropertySet>
                <Property name="user" value="scott"></Property>
                <Property name="password" value="tiger"></Property>
            </DriverPropertySet>
        </JDBCDriverParameters>
    </DBConnection>
	<DataSourceDefinitionSet>
		<DBDataSourceDefinition id="ora1">
			<DataSourceName>oracle1</DataSourceName>
			<DBTable owner="@owner@" useQuotes="true">table1</DBTable>
			<DBDataSourceMetadata>
				<FeatureXYAttributes srsName="@srsname@">
					<XAttribute>@x_attribute@</XAttribute>
					<YAttribute>@y_attribute@</YAttribute>
				</FeatureXYAttributes>
			</DBDataSourceMetadata>        
		</DBDataSourceDefinition>
	</DataSourceDefinitionSet>
	<DataSourceRef ref="ora1"/>
</NamedDataSourceDefinition>

			

Stil einer X/Y-Tabelle

In der X/Y-Tabelle kann auch ein Stil zu den Features der X/Y-Tabelle hinzugefügt werden. Dies kann durch die Angabe einer vorhandenen Stilspalte in der Tabelle oder durch die Definition eines Inline-Stils in der benannten Tabelle erfolgen.

Wenn die X/Y-Tabelle eine Spalte mit den Stilen nach Zeile aufgeführt werden, kann diese verwendet werden, indem ein Element vom Typ FeatureStyleAttribute zum Element „DBDataSourceMetadata“ hinzugefügt wird. In dem Beispiel mit der X/Y-Tabelle fügen Sie das FeatureStyleAttribute zum Element „DBDataSourceMetadata“ hinzu. Dabei steht „@STYLE_ATTRIBUTE@“ für den Namen der Spalte, die den Stil nach Zeile für das Feature enthält.



<DBDataSourceMetadata>
	<FeatureXYAttributes srsName="@srsName@">
		<XAttribute>@X_ATTRIBUTE@</XAttribute>
		<YAttribute>@Y_ATTRIBUTE@</YAttribute>
	</FeatureXYAttributes>
	<FeatureStyleAttribute type="mapbasic">@STYLE_ATTRIBUTE@</FeatureStyleAttribute>
</DBDataSourceMetadata>


			

Wenn die X/Y-Tabelle keine Spalte mit den Stilen nach Zeile enthält, können Sie die Definition eines Inline-Stils verwenden, indem Sie ein Element vom Typ FeatureStyle zum Element „DBDataSourceMetadata“ hinzufügen. Sie können für die X/Y-Tabelle einen beliebigen unterstützten „FeatureStyle“-Typ verwenden. Sie könnten beispielsweise einen PointStyle zu den X/Y-Feature-Attributen hinzufügen. Dabei gilt:

  • @font_name@:Der Name der Schriftfamilie für das Schriftsymbol (z. B. „MapInfo Real Estate“)
  • @font_size@: Die für das Schriftsymbol zu verwendende Größe (z. B. 14)
  • @size_unit@: Die Einheit, in der die „@font_size@“ definiert wird (z. B. „mapinfo:length pt“)
  • @stroke@: Die Farbe für das Schriftsymbol (z. B. blau)
  • @opacity@: Die Opazität des Schriftsymbols (z. B. 1)
  • @font_char@: Das Zeichen, das beim Rendern des entsprechenden Zeichens aus „@font_name@“ für das Schriftsymbol verwendet wird (z. B. „A“)


<DBDataSourceMetadata>
	<FeatureXYAttributes srsName="@srsName@">
		<XAttribute>@X_ATTRIBUTE@</XAttribute>
		<YAttribute>@Y_ATTRIBUTE@</YAttribute>
	</FeatureXYAttributes>
	<FeatureStyle>
		<PointStyle>
			<FontSymbol family="@font_name@" size="@font_size@" size-unit="@size_unit@" stroke="@stroke@" stroke-opacity="@opacity@" text="@font_char@"/>
		</PointStyle>
	</FeatureStyle>
</DBDataSourceMetadata>