Skip to main content
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

  • December 16, 2019
  • 4 replies
  • 80 views

Forum|alt.badge.img

Best answer by markatsafe

@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.

View original
Did this help you find an answer to your question?

4 replies

mark2atsafe
Safer
Forum|alt.badge.img+43
  • Safer
  • December 16, 2019

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.


Forum|alt.badge.img

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..)

 


Forum|alt.badge.img+2
  • Best Answer
  • December 20, 2019

@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.


Forum|alt.badge.img
hemchandraprasa wrote:

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.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings