Solved

I am looking for a workbench to convert NetMAP GE Smallworld custom XML file to a shape files per each featureclass.The sample XML file is attached herewith

  • 16 December 2019
  • 4 replies
  • 8 views

Badge

icon

Best answer by markatsafe 20 December 2019, 22:16

View original

4 replies

Userlevel 4
Badge +25

What have you tried so far? It's important for us to know if you need help with a specific aspect of the process or whether you would just like a general outline.

Badge

Please review the custom xml file attached with my post. There is a slight difference between standard xml & supplied xml.

Example one of the feature classes is "Service Joint" it is defined twice in the custom xml

<featureMember typeName="m_st_ns_ha_muffe">

<Feature typeName="m_st_ns_ha_muffe"

The attributes (see 3 attribute entries below) gives its 1)German Name 2)Attribute type string/number 3)Attribute english name /external name 4)Attribute value :- say null/Service Point Joint etc..so it is challenging to decompose these 4 items (Attributes)

<property typeName="netzname1" type="string" typeNameExternal="Organisation 1"></property>

<property typeName="netzname2" type="string" typeNameExternal="Organisation 2"></property>

<property typeName="muffenbeschreibung" type="string" typeNameExternal="Joint Type">Service Point Joint</property>

===

Each feature has identifier attribute which is a unique number (Alphanumeric)

Each feature can have Multiple geometry fields Example like in the below case 2 geometry fields

b_postion,b_position_sk_n

<geometricProperty typeName="b_position">

<Point ID="swrefVgeometryVdatasetZelectricityVcollectionZm_st_ns_ha_muffeVfieldZb_position_sk_nVlocalZTrueVkeysZ223735545X321013734X118377335" swldy:world="swrefVworldVdatasetZelectricityVuniverseZ0VworldZ0" srs="uk_british_national_grid_mm">

<coordinates>531346087,181274549 </coordinates>

</Point>

</geometricProperty>

<geometricProperty typeName="b_position_sk_n" typeNameExternal="D Position SN (In Use)">

<Point ID="swrefVgeometryVdatasetZelectricityVcollectionZm_st_ns_ha_muffeVfieldZb_position_sk_nVlocalZTrueVkeysZ223735545X321013734X118377335" swldy:world="swrefVworldVdatasetZelectricityVuniverseZ0VworldZ0" srs="uk_british_national_grid_mm">

<coordinates>531346087,181274549 </coordinates>

</Point>

</geometricProperty>

Each feature can have 1 or multiple relationship attribute field as well Like in below case Service Joint has a Relationship with Service (cable)

<swldy:relationshipProperty typeName="m_st_ns_hausanschluss" count="1" typeNameExternal="LV Service">

<Feature typeName="m_st_ns_hausanschluss" typeNameExternal="Service" identifier="swrefVrecordVdatasetZelectricityVcollectionZm_st_ns_hausanschlussVkeysZ118377340"/>

</swldy:relationshipProperty>

We will be happy to have just the German attribute name & Its attribute value for all attributes.

We are not interested to migrate the TypenameExternal & Type (i.e string/Numeric etc..)

 

Badge +2

@hemchandraprasa We have worked with Smallworld XML Exports before. The Smallworld XML isn't particularly user friendly, so we've found it easier just to create an xfmap. The xfMap document contains instructions for the FME XML Reader to interpret XML elements into FME features. There's a short tutorial on xfmaps here.

The xfmap document is attached. SWexplorer_xfmap_dec_2019.zip

The example workspace shows how to use the with the FME XML reader (2019.2): SmallworldXMLExportReader.fmw

In the FME XML Reader Parameters, set the Configuration Type = xfMap and the xfmap File to be the file containg the xfmap instructions.

1576876550061 

You might have to edit the xfmap document, but this should be a good start.

Badge

Please review the custom xml file attached with my post. There is a slight difference between standard xml & supplied xml.

Example one of the feature classes is "Service Joint" it is defined twice in the custom xml

<featureMember typeName="m_st_ns_ha_muffe">

<Feature typeName="m_st_ns_ha_muffe"

The attributes (see 3 attribute entries below) gives its 1)German Name 2)Attribute type string/number 3)Attribute english name /external name 4)Attribute value :- say null/Service Point Joint etc..so it is challenging to decompose these 4 items (Attributes)

<property typeName="netzname1" type="string" typeNameExternal="Organisation 1"></property>

<property typeName="netzname2" type="string" typeNameExternal="Organisation 2"></property>

<property typeName="muffenbeschreibung" type="string" typeNameExternal="Joint Type">Service Point Joint</property>

===

Each feature has identifier attribute which is a unique number (Alphanumeric)

Each feature can have Multiple geometry fields Example like in the below case 2 geometry fields

b_postion,b_position_sk_n

<geometricProperty typeName="b_position">

<Point ID="swrefVgeometryVdatasetZelectricityVcollectionZm_st_ns_ha_muffeVfieldZb_position_sk_nVlocalZTrueVkeysZ223735545X321013734X118377335" swldy:world="swrefVworldVdatasetZelectricityVuniverseZ0VworldZ0" srs="uk_british_national_grid_mm">

<coordinates>531346087,181274549 </coordinates>

</Point>

</geometricProperty>

<geometricProperty typeName="b_position_sk_n" typeNameExternal="D Position SN (In Use)">

<Point ID="swrefVgeometryVdatasetZelectricityVcollectionZm_st_ns_ha_muffeVfieldZb_position_sk_nVlocalZTrueVkeysZ223735545X321013734X118377335" swldy:world="swrefVworldVdatasetZelectricityVuniverseZ0VworldZ0" srs="uk_british_national_grid_mm">

<coordinates>531346087,181274549 </coordinates>

</Point>

</geometricProperty>

Each feature can have 1 or multiple relationship attribute field as well Like in below case Service Joint has a Relationship with Service (cable)

<swldy:relationshipProperty typeName="m_st_ns_hausanschluss" count="1" typeNameExternal="LV Service">

<Feature typeName="m_st_ns_hausanschluss" typeNameExternal="Service" identifier="swrefVrecordVdatasetZelectricityVcollectionZm_st_ns_hausanschlussVkeysZ118377340"/>

</swldy:relationshipProperty>

We will be happy to have just the German attribute name & Its attribute value for all attributes.

We are not interested to migrate the TypenameExternal & Type (i.e string/Numeric etc..)

 

@markatsafe Thank you very much for the details supplied. It really helped me resolve almost all issues. I will come back in case I observe any more difficulty.

Reply