Skip to main content

Hey guys, i really struggle to write my geometry to the RunwayTimeSlice Element of the AIXM 5 writer of FME. After the GeometryExtractor i got a string looking like this: 

 

<gml:Surface srsName="EPSG:31467" srsDimension="2"><gml:patches><gml:PolygonPatch><gml:exterior><gml:LinearRing><gml:posList>5544321.76358795 3466140.39319303 5544321.79681692 3466111.70099084 5544321.79831432 3466110.40802792 5544321.8330376 3466080.42553198 5544021.7716845 3466080.40979097 5543896.905 3466084.247 5542896.762 3466080.481 5540345.41046032 3466080.53414733 5540345.41261875 3466140.53829729 5542896.8 3466140.46 5543901.789 3466140.512 5544021.76302164 3466140.39707783 5544321.76358795 3466140.39319303</gml:posList></gml:LinearRing></gml:exterior></gml:PolygonPatch></gml:patches></gml:Surface>

 

which should be the right format for the gml geometry. But when i try to write it in the surfaceProperties Attribute of the writer nothing happens.

The gml-file still hast no geometry beside the boundingBox which is declared in Runway element of the writer. I will uplaod my workspace in hopes that someone can explain to me what i am doing wrong, because it really drives me crazy. Thank you for your helps in advance!

 

Small Edit: I also looked at all examples for writing to AIXM there is but still dont get it, so no need to refere the examples to me, thank you!

Hi, @youssef.

Thank you for posting! Before delving deeper, if you can, could you provide a log file from your last test run? It may help provide some insights into why that attribute is empty. From there, we can determine the next possible step.

Thanks!


Hi, @youssef.

Thank you for posting! Before delving deeper, if you can, could you provide a log file from your last test run? It may help provide some insights into why that attribute is empty. From there, we can determine the next possible step.

Thanks!

 

hey Ali, thank you for answering! I will attach the logfile to this answer and i hope it will give you enough information to help me with this issue.


Hey @youssef,

Thanks for providing your log file.

We recommend referring to the Overcoming the Complexities of AIXM with Model Based Data Integration - FME by Safe Software webinar (25:00 - writing AIXM). You can download the workspaces to get an idea of how things work.

Key thing to note is to name the geometry before writing.

Here is an article discussing writing for AIXM 4.5 and 5.1: https://support.safe.com/hc/en-us/articles/25407686750477-AIXM-4-5-and-5-1-Reading-Writing-and-Validation-EU-Airports-Demo. Note this article is more of an overview so we strongly recommend reviewing the webinar above and webinar examples which are more in depth.

Hope this helps!

Best,


Hey @youssef,

Thanks for providing your log file.

We recommend referring to the Overcoming the Complexities of AIXM with Model Based Data Integration - FME by Safe Software webinar (25:00 - writing AIXM). You can download the workspaces to get an idea of how things work.

Key thing to note is to name the geometry before writing.

Here is an article discussing writing for AIXM 4.5 and 5.1: https://support.safe.com/hc/en-us/articles/25407686750477-AIXM-4-5-and-5-1-Reading-Writing-and-Validation-EU-Airports-Demo. Note this article is more of an overview so we strongly recommend reviewing the webinar above and webinar examples which are more in depth.

Hope this helps!

Best,

Hey Ali,

unfortunatly i already knew about the ressources you linked to me and i already watched and read all i found to the topic. But still i can really grasp how i need to format my geometry to get the AIXM Writer to write it into my gml file.

But thank you for your  help anyway and maybe somebody else can help me with some tipps in this issue!


Hello @youssef 

I’ve had the same issue (with NavaidTimeSlice), but I’ve added a “MultipleGeometrySetter” and now it works. My code is similar to the one that can be found in the following workspace: AIXMdemos.zip - Google Drive, the filename is AustriaObstacles_filegdb2aixm5.fme

 

Reason:

When you open e.g. RunwayTimeSlice and analyze the Feature Information specifically go under Geometry and then you will something like Aggregate (Multiple Geometry: 1 Geometry) and we need to recreate that. Furthermore you don’t need a second aggregator only one.

 

So you basically do this:

load file → AttributeRenamer → BulkAttributeRenamer → AttributeManager → BulkAttributeRemover → GeometryPropertySetter → GeometryPropertySetter → Aggregator → MultipleGeometrySetter → connect_2_writer

 

Best regards


Hello @youssef 

I’ve had the same issue (with NavaidTimeSlice), but I’ve added a “MultipleGeometrySetter” and now it works. My code is similar to the one that can be found in the following workspace: AIXMdemos.zip - Google Drive, the filename is AustriaObstacles_filegdb2aixm5.fme

 

Reason:

When you open e.g. RunwayTimeSlice and analyze the Feature Information specifically go under Geometry and then you will something like Aggregate (Multiple Geometry: 1 Geometry) and we need to recreate that. Furthermore you don’t need a second aggregator only one.

 

So you basically do this:

load file → AttributeRenamer → BulkAttributeRenamer → AttributeManager → BulkAttributeRemover → GeometryPropertySetter → GeometryPropertySetter → Aggregator → MultipleGeometrySetter → connect_2_writer

 

Best regards

 

Hey @ryadh would you mind uploading your workspace so i have a second example to look at? I am trieing to test out your advice but it wouldnt hurt to have another example to look at in the meantime. Thank you for your answer and your time!


Hello @youssef 

I’ve had the same issue (with NavaidTimeSlice), but I’ve added a “MultipleGeometrySetter” and now it works. My code is similar to the one that can be found in the following workspace: AIXMdemos.zip - Google Drive, the filename is AustriaObstacles_filegdb2aixm5.fme

 

Reason:

When you open e.g. RunwayTimeSlice and analyze the Feature Information specifically go under Geometry and then you will something like Aggregate (Multiple Geometry: 1 Geometry) and we need to recreate that. Furthermore you don’t need a second aggregator only one.

 

So you basically do this:

load file → AttributeRenamer → BulkAttributeRenamer → AttributeManager → BulkAttributeRemover → GeometryPropertySetter → GeometryPropertySetter → Aggregator → MultipleGeometrySetter → connect_2_writer

 

Best regards

 

Hey @ryadh would you mind uploading your workspace so i have a second example to look at? I am trieing to test out your advice but it wouldnt hurt to have another example to look at in the meantime. Thank you for your answer and your time!

Hey again @ryadh i tried to implement a MultipleGeometrySetter at different spots in my workspace and made other changes but the writer still refuses to write any geometry in the timesclice object. I really dont know why and it drives me crazy. A look in the GeometryExtractor shows me with the addition of the MultipleGeometrySetter this outcome:

<gml:MultiGeometry xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="rw_ts_26504AA5-1023-E8FE-E053-85002D0AE2FB-0" srsName="EPSG:31467" srsDimension="3"><gml:geometryMember><gml:MultiGeometry gml:id="rw_ts_26504AA5-1023-E8FE-E053-85002D0AE2FB"><gml:geometryMember><gml:Polygon gml:id="rw_ts_26504AA5-1023-E8FE-E053-85002D0AE2FB"><gml:exterior><gml:LinearRing gml:id="rw_ts_26504AA5-1023-E8FE-E053-85002D0AE2FB"><gml:posList>5544321.76358795 3466140.39319303 0 5544321.79681692 3466111.70099084 0 5544321.79831432 3466110.40802792 0 5544321.8330376 3466080.42553198 0 5544021.7716845 3466080.40979097 0 5543896.905 3466084.247 0 5542896.762 3466080.481 0 5540345.41046032 3466080.53414733 0 5540345.41261875 3466140.53829729 0 5542896.8 3466140.46 0 5543901.789 3466140.512 0 5544021.76302164 3466140.39707783 0 5544321.76358795 3466140.39319303 0</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:geometryMember><gml:geometryMember><gml:Polygon gml:id="rw_ts_26504AA5-1023-E8FE-E053-85002D0AE2FB"><gml:exterior><gml:LinearRing gml:id="rw_ts_26504AA5-1023-E8FE-E053-85002D0AE2FB"><gml:posList>5544321.76358795 3466140.39319303 0 5544321.79681692 3466111.70099084 0 5544321.79831432 3466110.40802792 0 5544321.8330376 3466080.42553198 0 5544021.7716845 3466080.40979097 0 5543896.905 3466084.247 0 5542896.762 3466080.481 0 5540345.41046032 3466080.53414733 0 5540345.41261875 3466140.53829729 0 5542896.8 3466140.46 0 5543901.789 3466140.512 0 5544021.76302164 3466140.39707783 0 5544321.76358795 3466140.39319303 0</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:geometryMember></gml:MultiGeometry></gml:geometryMember></gml:MultiGeometry>

This should satisfy the writer but still nothing of the geometry is written. I really dont know what else to try at this point but i will upload the new workspace with this comment and maybe you can spot a mistake somewhere else. Thank you for your help so far.


Reply