Pour transférer des données ESRI-Shape, utilisez l'assistant de mappage ou utilisez les fonctionnalités avancées du fichier de mappage, au cas où vous désirez créer le mappage manuellement.
ⓘ | La table de mappage est un fichier XML qui doit correspondre à un schéma bien défini. Les chapitres suivants fournissent une description détaillée de ce format XML. |
⚠ | Dans le contexte du XML il faut considérer qu'il faudra respecter les majuscules et les minuscules et les multiplicités. Sinon le fichier ne correspondra pas à une table de conversion. |
Structure
<!-- Dieses Mapping enthält Ausschnitte aus anderen Mappings und zeigt damit nur verschiedene Möglichkeiten auf -->
<?xml version="1.0" encoding="UTF-16"?>
<FdoMapping schemaVersion="1" IsDefaultAttributeMappingEnabled="False">
<!-- Für jeden Objekttyp bzw. Shape-Datei wird ein FeatureTypeMapping erstellt
- FdoFeatureClassName: Name der Shape-Datei. Der Name direkt angegeben werden (z.B: "F02INFL")
oder mittels regulären Ausdrücken. Dadurch kann ein Mapping erstellen, bei dem Shape-Datensätze mit Datum im
Dateinamen einlesen. Ein regulärer Ausdruck beginnt mit "re:"
- FdoGeometry: Geometrie in der Shape-Datei
Mögliche Werte: IPoint, IMultiLineString, ILineString, IPolygon
- ModelTypeName: Name des Objekttyps
- ModelGeometry: Objektklasse
Mögliche Werte: Point, LineString, Area
-->
<FeatureTypeMapping FdoFeatureClassName="re:^.*f02infl" FdoGeometry="ILineString" ModelTypeName="f02infl" ModelGeometry="LineString" FdoGeometryName="Geometry">
<!-- In dieser Sektion werden die Attribute gesetzt
- FdoAttributeName: Name des Attributs in der Shape-Datei
- ModelAttributeName: Name des Attributs beim Objekt. Dabei ist es egal, ob es sich um ein Klassenattribut, Typattribut oder freies Attribut handelt.
- FdoAttributeDatatype:
- Ganzzahl: System.Int16, System.Int32, System.Int64 (siehe [Integral numeric types - C# reference | Microsoft Docs|https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/integral-numeric-types])
- Gleitkomma: System.Single, System.Double (siehe [Floating-point numeric types - C# reference | Microsoft Docs|https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types])
- System.String
- System.DateTime
- System.Boolean
-->
<AttributeMappings>
<AttributeMapping FdoAttributeName="GKZ" ModelAttributeName="GKZ" />
<AttributeMapping FdoAttributeName="WidCode" ModelAttributeName="WidCode" />
<AttributeMapping FdoAttributeName="WidCode" ModelAttributeName="Widmung">
<!-- Mapping der Attributwerte -->
<ValueList SourceType="System.Int32" DestinationType="System.String">
<Item Source="20012" Destination="Seilbahn/Lift"/>
<Item Source="21011" Destination="Unterirdischer Verlauf von Fließgewässern"/>
<Item Source="23002" Destination="Erdgastransportleitung unterirdisch"/>
<Item Source="23102" Destination="Ölleitung unterirdisch"/>
<Item Source="23202" Destination="Stromleitung oder Kabel oberirdisch"/>
<Item Source="23203" Destination="Stromleitung oder Kabel unterirdisch"/>
</ValueList>
</AttributeMapping>
</AttributeMappings>
<FeatureTypeMapping FdoFeatureClassName="re:^.*GNR$" FdoGeometry="IPoint" ModelTypeName="GNR" ModelGeometry="Area" FdoGeometryName="Geometry">
<AttributeMappings />
<!-- abhängig vom Attributwert wird der passende Objekttyp gesetzt -->
<Classification>
<ValueMapping ModelTypeName="Grundstücksnummer einzeilig" ModelGeometry="Area">
<!-- Filterkriterium -->
<Values>
<Value AttributeName="TYP" AttributeType="System.Int32">1</Value>
</Values>
<AttributeMappings>
<AttributeMapping FdoAttributeName="GNR" ModelAttributeName="Internal~Name" Regex="([^/\n]*)[/]*[^/\n]*" />
<AttributeMapping FdoAttributeName="GNR" ModelAttributeName="Internal~Subname" Regex="[^/\n]*[/]*([^/\n]*)" />
<AttributeMapping FdoAttributeName="KG" ModelAttributeName="Internal~Region" />
<AttributeMapping FdoAttributeName="RSTATUS" ModelAttributeName="Rechtsstatus" />
<AttributeMapping FdoAttributeName="ROT_GNR" ModelAttributeName="#Block0001#RelativeAngle" ConversionKey="d" Operation="valueof(<Value>-100)" />
</AttributeMappings>
</ValueMapping>
<ValueMapping ModelTypeName="Grundstücksnummer zweizeilig" ModelGeometry="Area">
<Values>
<Value AttributeName="TYP" AttributeType="System.Int32">2</Value>
</Values>
<AttributeMappings>
<AttributeMapping FdoAttributeName="GNR" ModelAttributeName="Internal~Name" Regex="([^/\n]*)[/]*[^/\n]*" />
<AttributeMapping FdoAttributeName="GNR" ModelAttributeName="Internal~Subname" Regex="[^/\n]*[/]*([^/\n]*)" />
<AttributeMapping FdoAttributeName="KG" ModelAttributeName="Internal~Region" />
<AttributeMapping FdoAttributeName="RSTATUS" ModelAttributeName="Rechtsstatus" />
<AttributeMapping FdoAttributeName="ROT_GNR" ModelAttributeName="#Block0001#RelativeAngle" ConversionKey="d" Operation="valueof(<Value>-100)" />
</AttributeMappings>
</ValueMapping>
</Classification>
</FeatureTypeMapping>
</FdoMapping>