Arc by Edge

This is a relatively simple case as it is represented by the element gml:Arc in GML, which does not have any ambiguities: 3 points always define a single arc. Unfortunately, this is rarely used in the AI domain.

Note

When moving towards a fully digital AI chain, the use of this type of arc information should be encouraged and eventually imposed as the unique way for defining arcs.

However, this is not likely to be achieved on short term.

A border that uses arcs by 3 points looks like shown in the figure below:

A GML encoding example for this type of arcs is provided below.

...
<gml:PolygonPatch>
    <gml:exterior>
        <gml:Ring gml:id="...">
         ...
            <gml:curveMember>
                <gml:Curve gml:id="...">
                    <gml:segments>
                        <gml:Arc gml:id="...">
                            <gml:pos>P2</gml:pos>
                            <gml:pos>P3</gml:pos>
                            <gml:pos>P4</gml:pos>
                        </gml:Arc>
                    </gml:segments>
                </gml:Curve>
            </gml:curveMember>    
...

In fact, this is a particular case of the more general GML concept of “ArcString”2, which is a curve segment that uses three-point circular arc interpolation in a piecewise fashion to “string” the arc segments together. The number of control points in the string is (2 x numArc)+1, where numArc is the property defining the number of the arcs in the string, such as shown in the figure below: