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>