Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GML not rendered correctly #2356

Closed
antoniolocandro opened this issue Mar 27, 2020 · 2 comments
Closed

GML not rendered correctly #2356

antoniolocandro opened this issue Mar 27, 2020 · 2 comments

Comments

@antoniolocandro
Copy link

Expected behavior and actual behavior.

*** Already reported in QGIS but they suggested this is really a GDAL thing to be investigated, sorry I don't have more technical skills to do it completely by myself ***

If I add the following attached file the GML should all be over the North Atlantic between USA and Europe, however when point features use the following root element aixm:ElevatedPoint (<aixm:AeronauticalGroundLight gml:id="uuid.9481f274-f05b-4c00-9017-eae75d33c45b">) it is not rendered correctly as opposed to if used aixm:Point (<aixm:DesignatedPoint gml:id="uuid.2fea81e6-023b-4069-b8cd-2ab96da27862">)
INVERTED

Steps to reproduce the problem.

I am using the following file loaded in QGIS

EA_AIP_DS_FULL_20170701.zip

I add the filed attached before and will select only the following layers as shown per the image
layers_for_test

You will notice the following view on the map canvas of QGIS

qgis_map_view

I will start with the following two point layers for review
layers_for_test

I have concluded the following

-> render correctly (check layer = DesignatedPoint)

<aixm:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="pBOR10">
gml:pos51.529284 -33.555661</gml:pos>
<aixm:horizontalAccuracy xsi:nil="true" nilReason="unknown"/>
</aixm:Point>

-> render incorrectly (check layer = AeronauticalGroundLight )

<aixm:ElevatedPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="ID_343">
gml:pos55.36666666666667 -33.983333333333334</gml:pos>
</aixm:ElevatedPoint>

So why does QGIS/GDAL handles improperly the second case, is like it doesn't take into consideration the axis order for it which is lat,lon for EPSG:4326, I suppose because it is a specialization class from the aviation schema, but it is supposed to be inheriting properties from the GML, here is the definition for it which mentions "This is a specialization of the Point class and it inherits all attributes and associations of that class." which in turn the Point class "This is a specialization of the GM_Point class and it inherits all attributes and associations of that class."

All of this is supposed to be based on ISO 19107
http://www.aixm.aero/sites/aixm.aero/files/imce/AIXM511HTML/AIXM/Class_ElevatedPoint.html?menu=open

So to sum up the layer AeronauticalGroundLight has the axis reversed like it can't honor the axis order and it uses the AIXM:ElevatedPoint, the layer DesignatedPoint has the axis correct but uses AIXM:Point

Operating system

WINDOWS 10

GDAL version and provenance

Running against GDAL/OGR 3.1.0dev from QGIS

@antoniolocandro
Copy link
Author

Confirmed fix! Thanks you this will make it possible to use it for aviation even more

@antoniolocandro
Copy link
Author

I have one more issue

render incorrectly (check layer = Airspace )

the following feature identifier

<aixm:Airspace gml:id="uuid.21a13c9f-a8ff-4fdd-9aaa-5dbfd91514b8">
<gml:identifier codeSpace="urn:uuid:"
>21a13c9f-a8ff-4fdd-9aaa-5dbfd91514b8</gml:identifier>
...
<aixm:Surface srsName="urn:ogc:def:crs:EPSG::4326"
gml:id="ID_240">
gml:patches
gml:PolygonPatch
gml:exterior
gml:Ring
gml:curveMember
<gml:Curve gml:id="ID_241">
gml:segments
<gml:CircleByCenterPoint numArc="1">
gml:posList52.36666666666667 -22.1</gml:posList>
<gml:radius uom="NM">15.0</gml:radius>
</gml:CircleByCenterPoint>
</gml:segments>
</gml:Curve>
</gml:curveMember>
</gml:Ring>
</gml:exterior>
</gml:PolygonPatch>
</gml:patches>
<aixm:horizontalAccuracy uom="KM"
>2.0</aixm:horizontalAccuracy>
</aixm:Surface>

Axis is inverted for this, seems the Circle by Center point doesn't honor also the axis order maybe is something similar to the aixm:ElevatedPoint?

circle_gml

rouault added a commit that referenced this issue Mar 29, 2020
…:EPSG::4326, and compound curves made of a sequence of straight lines and ArcByCenterPoint in a <segments> (refs #2356)
rouault added a commit that referenced this issue Mar 29, 2020
…:EPSG::4326, and compound curves made of a sequence of straight lines and ArcByCenterPoint in a <segments> (refs #2356)
rouault added a commit that referenced this issue Mar 29, 2020
…:EPSG::4326, and compound curves made of a sequence of straight lines and ArcByCenterPoint in a <segments> (refs #2356)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant