Table de base de données JDBC X/Y générique

Exemple

Les ressources de table nommée peuvent pointer vers une table XY générique d'une source de données JDBC. Voici un exemple de définition de table nommée pour une table de base de données avec des colonnes de géométrie X/Y. Il utilise l'élément DBDataSourceMetadata pour définir les colonnes de géométrie X et Y définies dans la table de base de données. La table de base de données X/Y n'est pas supposée disposer d'une colonne de géométrie.

Dans cet exemple, la définition de connexion à la base de données d'une table X/Y dans Oracle est définie via les jetons suivants. La connexion peut également être définie comme une connexion nommée au lieu d'une connexion en ligne.

  • @owner@ nom de propriétaire de la table Oracle
  • @host@ nom d'hôte utilisé pour se connecter à la base de données Oracle
  • @port@ numéro de port utilisé pour se connecter à la base de données Oracle
  • @SID@ SID de l'instance Oracle
  • @username@ nom d'utilisateur pour accéder à la base de données
  • @password@ mot de passe utilisé pour accéder à la base de données

Il définit un élément DBDataSourceMetadata indiquant le nom des colonnes de géométrie X et Y.

  • @srsname@ nom du système de coordonnées des colonnes X et Y de la table
  • @x_attribute@ nom d'un attribut contenant la coordonnée X
  • @y_attribute@ nom d'un attribut contenant la coordonnée Y


<?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>

			

Style d'une table X/Y

Dans la table X/Y, il est également possible d'ajouter un style aux fonctions de la table X/Y, soit en indiquant une colonne de style existante dans la table, soit en définissant un style en ligne dans la table nommée.

Si la table X/Y comporte une colonne contenant les styles par ligne, celle-ci peut être utilisée via l'ajout d'un élément FeatureStyleAttribute à l'élément DBDataSourceMetadata. Dans l'exemple de la table X/Y, vous devez ajouter FeatureStyleAttribute à DBDataSourceMetadata, où : @STYLE_ATTRIBUTE@ représente le nom de la colonne contenant le style par ligne de la fonctionnalité.



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


			

Si la table X/Y ne comporte pas de colonne contenant les styles par ligne, vous pouvez utiliser une définition de style en ligne en ajoutant un élément FeatureStyle à l'élément DBDataSourceMetadata. Vous pouvez utiliser tout type d'élément FeatureStyle pris en charge pour la table X/Y. Par exemple, vous pouvez ajouter un élément PointStyle aux attributs de fonction X/Y, avec les caractéristiques suivantes :

  • @font_name@ nom de la famille de polices du symbole de police (par exemple, MapInfo Real Estate)
  • @font_size@ taille à utiliser pour le symbole de police (par exemple, 14)
  • @size_unit@ unité d'expression de @font_size@ (par exemple, mapinfo:length pt)
  • @stroke@ couleur du symbole de police (par exemple, blue)
  • @opacity@ opacité du symbole de police (par exemple, 1)
  • @font_char@ caractère à utiliser pour le symbole de police lors du rendu du caractère correspondant depuis @font_name@ (par exemple, 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>