Documentation for CityGML

Element: Thoroughfare

[Table of contents]

Name Thoroughfare
Used by (from the same schema document) Complex Type AddressDetails , Complex Type AddressDetails , Complex Type DependentLocalityType , Complex Type LargeMailUserType , Element Locality
Type Locally-defined complex type
Nillable no
Abstract no
Documentation Specification of a thoroughfare. A thoroughfare could be a rd, street, canal, river, etc. Note dependentlocality in a street. For example, in some countries, a large street will have many subdivisions with numbers. Normally the subdivision name is the same as the road name, but with a number to identifiy it. Eg. SOI SUKUMVIT 3, SUKUMVIT RD, BANGKOK
Logical Diagram
h1885024549 h-591287382 h-502599575
XML Instance Representation
<Thoroughfare
Type="anySimpleType [0..1]"
DependentThoroughfares=" xs:NMTOKEN (value comes from list: {'Yes'|'No'}) [0..1]

'Does this thoroughfare have a a dependent thoroughfare? Corner of street X, etc'

"

DependentThoroughfaresIndicator="anySimpleType [0..1]

'Corner of, Intersection of'

"

DependentThoroughfaresConnector="anySimpleType [0..1]

'Corner of Street1 AND Street 2 where AND is the Connector'

"

DependentThoroughfaresType="anySimpleType [0..1]

'STS in GEORGE and ADELAIDE STS, RDS IN A and B RDS, etc. Use only when both the street types are the same'

"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
>
<AddressLine> ... </AddressLine> [0..*]
Start Choice [0..*]
<ThoroughfareNumber> ... </ThoroughfareNumber> [1]
<ThoroughfareNumberRange
RangeType=" xs:NMTOKEN (value comes from list: {'Odd'|'Even'}) [0..1]

'Thoroughfare number ranges are odd or even'

"

Indicator="anySimpleType [0..1]

'"No." No.12-13'

"

Separator="anySimpleType [0..1]

'"-" in 12-14 or "Thru" in 12 Thru 14 etc.'

"

IndicatorOccurrence=" xs:NMTOKEN (value comes from list: {'Before'|'After'}) [0..1]

'No.12-14 where \"No.\" is before actual street number'

"

NumberRangeOccurrence=" xs:NMTOKEN (value comes from list: {'BeforeName'|'AfterName'|'BeforeType'|'AfterType'}) [0..1]

'23-25 Archer St, where number appears before name'

"

Type="anySimpleType [0..1]"
Code="anySimpleType [0..1]

'Used by postal services to encode the name of the element.'

"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
> [1]

'A container to represent a range of numbers (from x thru y)for a thoroughfare. eg. 1-2 Albert Av'


<AddressLine> ... </AddressLine> [0..*]
<ThoroughfareNumberFrom
Code="anySimpleType [0..1]

'Used by postal services to encode the name of the element.'

"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
> [1]

'Starting number in the range'


<!-- Mixed content -->
<AddressLine> ... </AddressLine> [0..*]
</ThoroughfareNumberFrom>
<ThoroughfareNumberTo
Code="anySimpleType [0..1]

'Used by postal services to encode the name of the element.'

"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
> [1]

'Ending number in the range'


<!-- Mixed content -->
<AddressLine> ... </AddressLine> [0..*]
</ThoroughfareNumberTo>
</ThoroughfareNumberRange>
End Choice
<ThoroughfareNumberPrefix> ... </ThoroughfareNumberPrefix> [0..*]
<ThoroughfareNumberSuffix> ... </ThoroughfareNumberSuffix> [0..*]
<ThoroughfarePreDirection> ThoroughfarePreDirectionType </ThoroughfarePreDirection> [0..1]

'North Baker Street, where North is the pre-direction. The direction appears before the name.'

<ThoroughfareLeadingType> ThoroughfareLeadingTypeType </ThoroughfareLeadingType> [0..1]

'Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.'

<ThoroughfareName> ThoroughfareNameType </ThoroughfareName> [0..*]

'Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.'

<ThoroughfareTrailingType> ThoroughfareTrailingTypeType </ThoroughfareTrailingType> [0..1]

'Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.'

<ThoroughfarePostDirection> ThoroughfarePostDirectionType </ThoroughfarePostDirection> [0..1]

'221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.'

<DependentThoroughfare
Type="anySimpleType [0..1]"
Allow any attributes from a namespace other than this schema's namespace (strict validation).
> [0..1]

'DependentThroughfare is related to a street; occurs in GB, IE, ES, PT'


<AddressLine> ... </AddressLine> [0..*]
<ThoroughfarePreDirection> ThoroughfarePreDirectionType </ThoroughfarePreDirection> [0..1]

'North Baker Street, where North is the pre-direction. The direction appears before the name.'

<ThoroughfareLeadingType> ThoroughfareLeadingTypeType </ThoroughfareLeadingType> [0..1]

'Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.'

<ThoroughfareName> ThoroughfareNameType </ThoroughfareName> [0..*]

'Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.'

<ThoroughfareTrailingType> ThoroughfareTrailingTypeType </ThoroughfareTrailingType> [0..1]

'Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.'

<ThoroughfarePostDirection> ThoroughfarePostDirectionType </ThoroughfarePostDirection> [0..1]

'221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.'

Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</DependentThoroughfare>
Start Choice [0..1]
<DependentLocality> DependentLocalityType </DependentLocality> [1]

'Dependent localities are Districts within cities/towns, locality divisions, postal divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).'

<Premise> ... </Premise> [1]
<Firm> FirmType </Firm> [1]

'Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.'

<PostalCode> ... </PostalCode> [1]
End Choice
Allow any elements from a namespace other than this schema's namespace (strict validation). [0..*]
</Thoroughfare>
Diagram
h1885024549 h338896632 h1885024549 h1885024549 h-591287382 h338896632 h-502599575 h447686930 h1885024549 h-591287382 h338896632 h-502599575 h447686930 h447686930 h-591287382 h-502599575 h1885024549 h-552636498 h453828251
Schema Component Representation
<xs:element name="Thoroughfare">
<xs:complexType>
<xs:sequence>
<xs:element ref=" AddressLine " minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref=" ThoroughfareNumber "/>
<xs:element name="ThoroughfareNumberRange">
<xs:complexType>
<xs:sequence>
<xs:element ref=" AddressLine " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfareNumberFrom">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref=" AddressLine " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" ThoroughfareNumberPrefix " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" ThoroughfareNumber " maxOccurs="unbounded"/>
<xs:element ref=" ThoroughfareNumberSuffix " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref=" grPostal "/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumberTo">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref=" AddressLine " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" ThoroughfareNumberPrefix " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" ThoroughfareNumber " maxOccurs="unbounded"/>
<xs:element ref=" ThoroughfareNumberSuffix " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref=" grPostal "/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RangeType">
<xs:simpleType>
<xs:restriction base=" xs:NMTOKEN ">
<xs:enumeration value="Odd"/>
<xs:enumeration value="Even"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Indicator"/>
<xs:attribute name="Separator"/>
<xs:attribute name="IndicatorOccurrence">
<xs:simpleType>
<xs:restriction base=" xs:NMTOKEN ">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberRangeOccurrence">
<xs:simpleType>
<xs:restriction base=" xs:NMTOKEN ">
<xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref=" grPostal "/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element ref=" ThoroughfareNumberPrefix " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" ThoroughfareNumberSuffix " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfarePreDirection" type=" ThoroughfarePreDirectionType " minOccurs="0"/>
<xs:element name="ThoroughfareLeadingType" type=" ThoroughfareLeadingTypeType " minOccurs="0"/>
<xs:element name="ThoroughfareName" type=" ThoroughfareNameType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfareTrailingType" type=" ThoroughfareTrailingTypeType " minOccurs="0"/>
<xs:element name="ThoroughfarePostDirection" type=" ThoroughfarePostDirectionType " minOccurs="0"/>
<xs:element name="DependentThoroughfare" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref=" AddressLine " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfarePreDirection" type=" ThoroughfarePreDirectionType " minOccurs="0"/>
<xs:element name="ThoroughfareLeadingType" type=" ThoroughfareLeadingTypeType " minOccurs="0"/>
<xs:element name="ThoroughfareName" type=" ThoroughfareNameType " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfareTrailingType" type=" ThoroughfareTrailingTypeType " minOccurs="0"/>
<xs:element name="ThoroughfarePostDirection" type=" ThoroughfarePostDirectionType " minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element name="DependentLocality" type=" DependentLocalityType "/>
<xs:element ref=" Premise "/>
<xs:element name="Firm" type=" FirmType "/>
<xs:element ref=" PostalCode "/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:attribute name="DependentThoroughfares">
<xs:simpleType>
<xs:restriction base=" xs:NMTOKEN ">
<xs:enumeration value="Yes"/>
<xs:enumeration value="No"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DependentThoroughfaresIndicator"/>
<xs:attribute name="DependentThoroughfaresConnector"/>
<xs:attribute name="DependentThoroughfaresType"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>