Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The resulting GML ArcByCenterPoint can be encoded as follows:

Code Block
languagexml
linenumberstrue

...

<Surface gml:id="S01" srsName="urn:ogc:def:crs:EPSG::4326">

...

	<gml:patches>

...

		<gml:PolygonPatch>

...

			<gml:exterior>
				<gml:Ring>
					<gml:curveMember>
						<Curve gml:id="C01">

...

							<gml:segments>
								<gml:ArcByCenterPoint numArc="1">
									<gml:pos>44.82694444445 -0.72111111111</gml:pos>

...

									<gml:radius uom="[nmi_i]">23.0</gml:radius>

...

									<gml:startAngle uom="deg">-39.056642</gml:startAngle>

...

									<gml:endAngle  uom="deg">96.278174</gml:endAngle>

...

								</gml:ArcByCenterPoint>

...

								<gml:GeodesicString>
									<gml:posList>44.78388889 -0.18750000 44.69055556 -0.29527778 44.63083333 -0.36416667 
										44.55222222 -0.45444444 44.56000000 -0.60305556 44.56166667 -0.63277778 
										44.57194444 -0.83333333 44.66666667 -0.83333333 44.82527778 -1.00000000 
										44.90000000 -1.00000000 45.12333333 -1.06138889</gml:posList>
								</gml:GeodesicString>
							</gml:segments>
						</gml:Curve>
					</gml:curveMember>
				</gml:Ring>
			</gml:exterior>
		</gml:PolygonPatch>
	</gml:patches>
</Surface>

Image Added

Note that the second point of the arc (44°47'02"N; 000°11'15"W) is coded as the first point of the GeodesicString that follows the arc. This ensures that there is no gap between the end of the arc and the start of the next curve. 

In this particular case where the first curve defining the surface is an arc, it is not necessary to code explicitly the start point of the arc. The geometry of the surface is properly close, as required by the GML rules, because the arc starts exactly where the last segment of the GeodesicString ends (45°07'24"N; 001°03'41"W).