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

Centroids without Location and Coordinates should no longer be allowed. I also think that WSG84 always must be present #777

Open
ue71603 opened this issue Sep 8, 2024 · 5 comments
Assignees
Milestone

Comments

@ue71603
Copy link
Contributor

ue71603 commented Sep 8, 2024

No description provided.

@skinkie
Copy link
Contributor

skinkie commented Sep 8, 2024

The issue with Centroid, it is allowed to to be nothing, so we must make LocationStructure mandatory:

<xsd:complexType name="SimplePoint_VersionStructure" abstract="false">
        <xsd:annotation>
                <xsd:documentation>Type for a Simple POINT.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
                <xsd:extension base="EntityInVersionStructure">
                        <xsd:sequence>
                                <xsd:element name="Name" type="MultilingualString" minOccurs="0">
                                        <xsd:annotation>
                                                <xsd:documentation>Name of POINT.</xsd:documentation>
                                        </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="Location" type="LocationStructure" minOccurs="0">
                                        <xsd:annotation>
                                                <xsd:documentation>The position of a POINT with a reference to a given LOCATING SYSTEM (e. g. coordinates).</xsd:documentation>
                                        </xsd:annotation>
                                </xsd:element>
                        </xsd:sequence>
                </xsd:extension>
        </xsd:complexContent>
</xsd:complexType>

...and then, the location structure specifies Latitude/Longitude and gml:Pos, but we don't specify that either of them is mandatory. And my guess is, this is done because we don't want a choice here (both must be able to be provided). And we don't have any way to assert that any of them is provided.

<xsd:complexType name="LocationStructure">
        <xsd:annotation>
                <xsd:documentation>Type for geospatial Position of a point. May be expressed in concrete WGS 84 Coordinates or any gml compatible point coordinates format.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
                <xsd:sequence>
                        <xsd:sequence minOccurs="0">
                                <xsd:annotation>
                                        <xsd:documentation>WGS84</xsd:documentation>
                                </xsd:annotation>
                                <xsd:element name="Longitude" type="LongitudeType">
                                        <xsd:annotation>
                                                <xsd:documentation>Longitude from Greenwich Meridian. -180 (East) to +180 (West). Decimal degrees. e.g. 2.356</xsd:documentation>
                                        </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="Latitude" type="LatitudeType">
                                        <xsd:annotation>
                                                <xsd:documentation>Latitude from equator. -90 (South) to +90 (North). Decimal degrees. e.g. 56.356</xsd:documentation>
                                        </xsd:annotation>
                                </xsd:element>
                                <xsd:element name="Altitude" type="AltitudeType" minOccurs="0">
                                        <xsd:annotation>
                                                <xsd:documentation>Altitude (metres) Above sea level.</xsd:documentation>
                                        </xsd:annotation>
                                </xsd:element>
                        </xsd:sequence>
                        <xsd:element ref="gml:pos" minOccurs="0"/>
                </xsd:sequence>
                <xsd:element name="Precision" type="DistanceType" minOccurs="0">
                        <xsd:annotation>
                                <xsd:documentation>Precision for point measurement. In meters.</xsd:documentation>
                        </xsd:annotation>
                </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="id" type="xsd:normalizedString">
                <xsd:annotation>
                        <xsd:documentation>Identifier of point.</xsd:documentation>
                </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute name="srsName" type="SrsNameType">
                <xsd:annotation>
                        <xsd:documentation>identifier of data Reference system for geocodes if point is specified as gml compatible Coordinates. A gml value. If not specified taken from system configuration.</xsd:documentation>
                </xsd:annotation>
        </xsd:attribute>
</xsd:complexType>

@skinkie skinkie added this to the netex_2.0 milestone Sep 8, 2024
@Aurige
Copy link
Contributor

Aurige commented Oct 15, 2024

WGS84 is well know, but most device now use Galileo in EU, and the reference is Galileo Terrestrial Reference Frame (GTRF), ITRF2005
So making WGS84 mandatory may not be the best option for the future

@skinkie
Copy link
Contributor

skinkie commented Oct 15, 2024

LOL! I leave it at that.

@skinkie
Copy link
Contributor

skinkie commented Oct 16, 2024

image
EPIP 'recommends' not enforces.

@Aurige
Copy link
Contributor

Aurige commented Oct 16, 2024

Make WGS84 in EPIP/Profile ?
Make on Location (WGS or GML:Pos) mandatory at minimum (and both is also fine)
Discussion to be continued ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants