Proposal:NeTEx Tagging Standard
NeTEx Tagging Standard | |
---|---|
Proposal status: | Draft (under way) |
Proposed by: | Brickblock1 |
Applies to: | ![]() ![]() ![]() ![]() |
Definition: | Properties of an object in a NeTEx dataset |
Draft started: | 2025-03-02 |
Proposal
netex:*=*
Rationale
There is currently a standard way to reference GTFS data in OpenStreetMap data this is not the case for NeTEx data.
What is NeTEx?
NeTEx is an European standard for exchanging public transport data such as timetables, vehicle types and stops. NeTEx is based on the conceptual transmodel standard.
NeTEx is so large that no data producer implements the entirety of it instead opting for a subset of the standard referred to as a "profile". Most countries have their own profile with most of them being based on or compatible with the European Passenger Information Profile (EPIP). Regardless of profile the structure will remain mostly the same.
Why do we need it?
NeTEx data has a few advantages over GTFS data:
- It's more detailed
- It has equivalents to type=route and public_transport=stop_area_group
- IDs are stable (in my experience)
The netex:*=* prefix was chosen since it aligns with how GTFS data is tagged with the gtfs:*=* prefix. Alignment with GTFS tagging was also the reason for the feed id to be placed at the end of the complete tag.
Tagging
OSM tag | NeTEx element |
---|---|
Infrastructure | |
![]() |
ScheduledStopPoint |
![]() ![]() ![]() |
Quay |
![]() |
StopPlace |
![]() |
GroupOfStopPlaces |
Routes | |
![]() |
Line |
![]() |
JourneyPattern |
Examples
Below is a table showing how the netex data on the right is translated into OSM tags. Each one of the tags is not meant to be used, they serve as to help explain how the translation works. The only tags which make sense to include are the id, publicCode and Name as these help verify that the id is placed on the correct osm element.
OSM Tags | NeTEx element | OSM element |
---|---|---|
<ScheduledStopPoint version="191107" id="SE:001:ScheduledStopPoint:9022001005007002"> <Name>Uppsala C</Name> </ScheduledStopPoint> |
1504239191![]() | |
<Quay version="191107" id="SE:001:Quay:9022001005007002"> <ValidBetween> <FromDate>2019-11-07T00:00:00</FromDate> </ValidBetween> <Name>Uppsala C</Name> <ShortName>Uppsala C</ShortName> <PrivateCode>2</PrivateCode> <Centroid> <Location> <Longitude>17.648671</Longitude> <Latitude>59.858479</Latitude> </Location> </Centroid> <PublicCode>3</PublicCode> </Quay> |
208490046![]() | |
|
<StopPlace version="121212" id="SE:001:StopPlace:9021001005007000"> <ValidBetween> <FromDate>2012-12-12T00:00:00</FromDate> </ValidBetween> <Name>Uppsala C</Name> <ShortName>Uppsala C</ShortName> <PrivateCode>5007</PrivateCode> <Centroid> <Location> <Longitude>17.648593</Longitude> <Latitude>59.858521</Latitude> </Location> </Centroid> <alternativeNames> <AlternativeName> <Name>Uppsala C</Name> <Abbreviation>U</Abbreviation> </AlternativeName> </alternativeNames> <TopographicPlaceRef ref="SE:001:TopographicPlace:SE_0380" version="any" /> <OrganisationRef ref="SE:001:Authority:9010001000000000" /> <entrances> </entrances> <TransportMode>rail</TransportMode> <tariffZones> <TariffZoneRef ref="SE:001:TariffZone:9081001200000673" version="120623" /> </tariffZones> <StopPlaceType>railStation</StopPlaceType> <Weighting>interchangeAllowed</Weighting> <quays> </quays> </StopPlace> |
2804173![]() |
|
<GroupOfStopPlaces version="120623" id="SE:001:GroupOfStopPlaces:9091001000006086"> <ValidBetween> <FromDate>2012-06-23T00:00:00</FromDate> </ValidBetween> <Name>Uppsala centralstation</Name> <PrivateCode>6086</PrivateCode> <PublicCode>BTUP</PublicCode> <members> <StopPlaceRef ref="SE:001:StopPlace:9021001068779000" version="230425" /> <StopPlaceRef ref="SE:001:StopPlace:9021001005007000" version="121212" /> </members> <Centroid> <Location srsName="WGS84"> <Longitude>17.648514</Longitude> <Latitude>59.857251</Latitude> </Location> </Centroid> </GroupOfStopPlaces> |
|
|
<Line version="170823" id="SE:001:Line:9011001004000000"> <ValidBetween> <FromDate>2017-08-23T00:00:00</FromDate> </ValidBetween> <Name>40</Name> <TransportMode>rail</TransportMode> <TransportSubmode> <RailSubmode>unknown</RailSubmode> </TransportSubmode> <PublicCode>40</PublicCode> <PrivateCode>40</PrivateCode> <RepresentedByGroupRef ref="SE:001:Network:9010001000000000" /> </Line> |
|
<Route version="any" id="SE:001:Route:14010000519864472"> <Name>Uppsala</Name> <LineRef ref="SE:001:Line:9011001004000000" version="170823" /> <DirectionType>inbound</DirectionType> <pointsInSequence> </pointsInSequence> </Route> |
Features/Pages affected
- New page for NeTEx
- Public transport Add text mentioning NeTEx tagging.
Comments
Please comment on the discussion page.