Export AIXM5.1 from Geodatabase

1104
6
08-12-2020 09:56 PM
Bentorio
New Contributor III

Hi,

I have a problem about exporting the aviation geodatabase to AIXM 5.1 to use with another program.

I've already create a runway and related features as shown below

Problem 1: 

I import exported AIXM file from ArcGIS to another program it show error as below

When I compare AIXM file with another program I found this 

The "xsi:nil = "true" is the different and when I deleted this text, this error disappear.

How can I prevent this text appear when I export AIXM or I have to delete it manually?

Is there any field that I must input the data to prevent this text appear?

Problem 2: Missing aixm:usedRunway line in exported AIXM

I've already link the all features' relationship start with ADHPSurfacePoint > ADHPThreshold > ADHPSurfaceLine > ADHP.

But when I export geodatabase to AIXM 5.1 the problem I've found is this error when I import this AIXM to another program. The "aixm:usedRunway" line in the AIXM file are missing.

And I've check the table of ADHPSurfacePoint. The ADHPSurfaceArea_Id has already linked.

How can I fix this error when I export AIXM file?

0 Kudos
6 Replies
DavidWickliffe
Esri Contributor

Hi,   

We are still looking into Problem 1. 

 For Problem 2,  do you have ADHPSurfaceArea.ClientKey_Id populated?

The 51ExportTemplate.xml sets this value per:

 <aixm:usedRunway removeIfEmptyAttribute="href" xlink:href="{adhpsurfacearea.clientkey_id}"/>

This file is found at:  C:\Program Files (x86)\ArcGIS\AviationCharting\Desktop10.8\DataExchange\AIXM\Exporter\51\51ExportTemplate.xml

It is the 'template' by which the exported AIXM 5.1 message is written.   It will show which AIS attributes are used in the export message values.   Also see the ExportAIS_to_Aixm51_key.xlsx at that path for more info on ExportAixm51 field mapping.

Bentorio
New Contributor III

Thank you for your answer.

I've already check my ClientKey_id and I've already calculate this UUID from GFID every time before I link the relationship between features. 

This time I've tried to create a new aerodrome and runway features and the result is the same. 

This is my ADHPThreshold's attribute. The ADHPSurfaceArea_Id field is still empty.

And this is my ADHPSurfaceArea's attribute.

But I have another question.

When I'm trying to link the relationship of ADHPThreshold. The ADHPSurfaceArea appear 2 row in the manage features windows (as highlight). I've tried to link the relationship of these 2 items. I tried to link the first one only and the second one only or both but the result is still the same. What should I do? or Am I doing something wrong?

I follow the instruction from training manual from version 10.3 but now I use ArcGIS version 10.8

It shows that I have to link by this order

  1. ADHPSurfacePoint -> [ ADHPThreshold , ADHPSurfaceArea , ADHPSurfaceLine ]
  2. ADHPThreshold -> [ ADHPSurfaceArea ]
  3. ADHPSurfaceLine -> [ ADHPSurfaceArea ]
  4. ADHP -> [ ADHPSurfaceArea 

 For the ADHPSurfaceArea's attribute, it show the correct ClientKey_Id of ADHP feature correctly.

0 Kudos
DavidWickliffe
Esri Contributor

You need to populate ADHPThreshold.ADHPSurfacearea_Id to complete the relationship to ADHPSurfaceArea.

Keep in mind that GFID fields are AIS unique identifiers, but Clientkey_Id field is to hold a value that relates to the source database - in this case the AIXM UUID.

See the C:\Program Files (x86)\ArcGIS\AviationCharting\Desktop10.8\DataExchange\AIXM\Exporter\51\51ExportRelationships.json
This file sets up the relationships between AIS tables so attributes on related tables may be accessed by the ExportAixm51 function.
ADHPThreshold is exported to AIXM 5.1 RunwayDirection which has the UsedRunway attribute, which is the related ADHPSurfaceArea in AIS.  The select statement used is:

"where": "adhpthreshold.adhpsurfacearea_id = adhpsurfacearea.gfid"


The new question- What you are seeing there in the manage features window are 2 Attributed relationships that are many-to-many relationships between ADHPThreshold and ADHPSurfaceArea. One is SurfaceArea_Threshold and the other is ADHPSurfaceAreaDeclaredDist, which are showing up in your screenshot. So if you have them selected when editing and you 'add-selected', check the SurfaceArea_Threshold table for a new row.

The ImportAixm51 function will populate the SurfaceArea_Threshold table but I don't think you actually have to populate that. ImportAixm51 also populates ADHPThreshold.ADHPSurfaceArea_ID and this is needed for the where statement "adhpthreshold.adhpsurfacearea_id = adhpsurfacearea.gfid" for ExportAim51. There is not a rel_ class made for this, although you can create your own to support browsing features and/or editing.

0 Kudos
DavidWickliffe
Esri Contributor

Your Problem 1 regarding: 

The "xsi:nil = "true" is the different and when I deleted this text, this error disappear.

How can I prevent this text appear when I export AIXM or I have to delete it manually?

Is there any field that I must input the data to prevent this text appear?

You can remove this text from your 51ExportTemplate.xml.  This file is found at:  C:\Program Files (x86)\ArcGIS\AviationCharting\Desktop10.8\DataExchange\AIXM\Exporter\51\51ExportTemplate.xml

Find all 5 (FATO, RWY, TWY, APRON, TLOF) lines like:

<aixm:associatedAirportHeliport removeIfEmptyAttribute="href" xlink:href="{adhp.clientkey_id}" xsi:nil="true"/>

and remove xsi:nil="true", so they are like this:

 <aixm:associatedAirportHeliport removeIfEmptyAttribute="href" xlink:href="{adhp.clientkey_id}"/>

We are still looking into why we include this in the template, but we had not seen validation errors because of it, before.

Can you tell me what program is giving you the error?  ( You said "I import exported AIXM file from ArcGIS to another program it show error as below")

Thanks

0 Kudos
Bentorio
New Contributor III

Sorry for being late. That error is from FPDAM program.

0 Kudos
DavidWickliffe
Esri Contributor

OK, thanks for that. I think the solution would still stand to just remove that xsi:nil="true" statement from your 51ExportTemplate.xml.  We are considering removing it from the template file.