2323 * See details in QEP #17
2424 ****************************************************************************/
2525
26- QMap<QgsWkbTypes::Type, QgsWkbTypes::wkbEntry>* QgsWkbTypes::entries ()
26+ const QMap<QgsWkbTypes::Type, QgsWkbTypes::wkbEntry> QgsWkbTypes::sEntries
2727{
28- static QMap<QgsWkbTypes::Type, QgsWkbTypes::wkbEntry> entries = registerTypes ();
29- return &entries;
30- }
28+ // register the known wkb types
29+ { Unknown, wkbEntry ( QStringLiteral ( " Unknown" ), false , Unknown, Unknown, Unknown, UnknownGeometry, false , false ) },
30+ { NoGeometry, wkbEntry ( QStringLiteral ( " NoGeometry" ), false , NoGeometry, NoGeometry, NoGeometry, NullGeometry, false , false ) },
31+ // point
32+ { Point, wkbEntry ( QStringLiteral ( " Point" ), false , MultiPoint, Point, Point, PointGeometry, false , false ) },
33+ { PointZ, wkbEntry ( QStringLiteral ( " PointZ" ), false , MultiPointZ, PointZ, Point, PointGeometry, true , false ) },
34+ { PointM, wkbEntry ( QStringLiteral ( " PointM" ), false , MultiPointM, PointM, Point, PointGeometry, false , true ) },
35+ { PointZM, wkbEntry ( QStringLiteral ( " PointZM" ), false , MultiPointZM, PointZM, Point, PointGeometry, true , true ) },
36+ { Point25D, wkbEntry ( QStringLiteral ( " Point25D" ), false , MultiPoint25D, Point25D, Point, PointGeometry, true , false ) },
37+ // linestring
38+ { LineString, wkbEntry ( QStringLiteral ( " LineString" ), false , MultiLineString, LineString, LineString, LineGeometry, false , false ) },
39+ { LineStringZ, wkbEntry ( QStringLiteral ( " LineStringZ" ), false , MultiLineStringZ, LineStringZ, LineString, LineGeometry, true , false ) },
40+ { LineStringM, wkbEntry ( QStringLiteral ( " LineStringM" ), false , MultiLineStringM, LineStringM, LineString, LineGeometry, false , true ) },
41+ { LineStringZM, wkbEntry ( QStringLiteral ( " LineStringZM" ), false , MultiLineStringZM, LineStringZM, LineString, LineGeometry, true , true ) },
42+ { LineString25D, wkbEntry ( QStringLiteral ( " LineString25D" ), false , MultiLineString25D, LineString25D, LineString, LineGeometry, true , false ) },
43+ // circularstring
44+ { CircularString, wkbEntry ( QStringLiteral ( " CircularString" ), false , MultiCurve, CircularString, CircularString, LineGeometry, false , false ) },
45+ { CircularStringZ, wkbEntry ( QStringLiteral ( " CircularStringZ" ), false , MultiCurveZ, CircularStringZ, CircularString, LineGeometry, true , false ) },
46+ { CircularStringM, wkbEntry ( QStringLiteral ( " CircularStringM" ), false , MultiCurveM, CircularStringM, CircularString, LineGeometry, false , true ) },
47+ { CircularStringZM, wkbEntry ( QStringLiteral ( " CircularStringZM" ), false , MultiCurveZM, CircularStringZM, CircularString, LineGeometry, true , true ) },
48+ // compoundcurve
49+ { CompoundCurve, wkbEntry ( QStringLiteral ( " CompoundCurve" ), false , MultiCurve, CompoundCurve, CompoundCurve, LineGeometry, false , false ) },
50+ { CompoundCurveZ, wkbEntry ( QStringLiteral ( " CompoundCurveZ" ), false , MultiCurveZ, CompoundCurveZ, CompoundCurve, LineGeometry, true , false ) },
51+ { CompoundCurveM, wkbEntry ( QStringLiteral ( " CompoundCurveM" ), false , MultiCurveM, CompoundCurveM, CompoundCurve, LineGeometry, false , true ) },
52+ { CompoundCurveZM, wkbEntry ( QStringLiteral ( " CompoundCurveZM" ), false , MultiCurveZM, CompoundCurveZM, CompoundCurve, LineGeometry, true , true ) },
53+ // polygon
54+ { Polygon, wkbEntry ( QStringLiteral ( " Polygon" ), false , MultiPolygon, Polygon, Polygon, PolygonGeometry, false , false ) },
55+ { PolygonZ, wkbEntry ( QStringLiteral ( " PolygonZ" ), false , MultiPolygonZ, PolygonZ, Polygon, PolygonGeometry, true , false ) },
56+ { PolygonM, wkbEntry ( QStringLiteral ( " PolygonM" ), false , MultiPolygonM, PolygonM, Polygon, PolygonGeometry, false , true ) },
57+ { PolygonZM, wkbEntry ( QStringLiteral ( " PolygonZM" ), false , MultiPolygonZM, PolygonZM, Polygon, PolygonGeometry, true , true ) },
58+ { Polygon25D, wkbEntry ( QStringLiteral ( " Polygon25D" ), false , MultiPolygon25D, Polygon25D, Polygon, PolygonGeometry, true , false ) },
59+ // curvepolygon
60+ { CurvePolygon, wkbEntry ( QStringLiteral ( " CurvePolygon" ), false , MultiSurface, CurvePolygon, CurvePolygon, PolygonGeometry, false , false ) },
61+ { CurvePolygonZ, wkbEntry ( QStringLiteral ( " CurvePolygonZ" ), false , MultiSurfaceZ, CurvePolygonZ, CurvePolygon, PolygonGeometry, true , false ) },
62+ { CurvePolygonM, wkbEntry ( QStringLiteral ( " CurvePolygonM" ), false , MultiSurfaceM, CurvePolygonM, CurvePolygon, PolygonGeometry, false , true ) },
63+ { CurvePolygonZM, wkbEntry ( QStringLiteral ( " CurvePolygonZM" ), false , MultiSurfaceZM, CurvePolygonZM, CurvePolygon, PolygonGeometry, true , true ) },
64+ // multipoint
65+ { MultiPoint, wkbEntry ( QStringLiteral ( " MultiPoint" ), true , MultiPoint, Point, MultiPoint, PointGeometry, false , false ) },
66+ { MultiPointZ, wkbEntry ( QStringLiteral ( " MultiPointZ" ), true , MultiPointZ, PointZ, MultiPoint, PointGeometry, true , false ) },
67+ { MultiPointM, wkbEntry ( QStringLiteral ( " MultiPointM" ), true , MultiPointM, PointM, MultiPoint, PointGeometry, false , true ) },
68+ { MultiPointZM, wkbEntry ( QStringLiteral ( " MultiPointZM" ), true , MultiPointZM, PointZM, MultiPoint, PointGeometry, true , true ) },
69+ { MultiPoint25D, wkbEntry ( QStringLiteral ( " MultiPoint25D" ), true , MultiPoint25D, Point25D, MultiPoint, PointGeometry, true , false ) },
70+ // multiline
71+ { MultiLineString, wkbEntry ( QStringLiteral ( " MultiLineString" ), true , MultiLineString, LineString, MultiLineString, LineGeometry, false , false ) },
72+ { MultiLineStringZ, wkbEntry ( QStringLiteral ( " MultiLineStringZ" ), true , MultiLineStringZ, LineStringZ, MultiLineString, LineGeometry, true , false ) },
73+ { MultiLineStringM, wkbEntry ( QStringLiteral ( " MultiLineStringM" ), true , MultiLineStringM, LineStringM, MultiLineString, LineGeometry, false , true ) },
74+ { MultiLineStringZM, wkbEntry ( QStringLiteral ( " MultiLineStringZM" ), true , MultiLineStringZM, LineStringZM, MultiLineString, LineGeometry, true , true ) },
75+ { MultiLineString25D, wkbEntry ( QStringLiteral ( " MultiLineString25D" ), true , MultiLineString25D, LineString25D, MultiLineString, LineGeometry, true , false ) },
76+ // multicurve
77+ { MultiCurve, wkbEntry ( QStringLiteral ( " MultiCurve" ), true , MultiCurve, CompoundCurve, MultiCurve, LineGeometry, false , false ) },
78+ { MultiCurveZ, wkbEntry ( QStringLiteral ( " MultiCurveZ" ), true , MultiCurveZ, CompoundCurveZ, MultiCurve, LineGeometry, true , false ) },
79+ { MultiCurveM, wkbEntry ( QStringLiteral ( " MultiCurveM" ), true , MultiCurveM, CompoundCurveM, MultiCurve, LineGeometry, false , true ) },
80+ { MultiCurveZM, wkbEntry ( QStringLiteral ( " MultiCurveZM" ), true , MultiCurveZM, CompoundCurveZM, MultiCurve, LineGeometry, true , true ) },
81+ // multipolygon
82+ { MultiPolygon, wkbEntry ( QStringLiteral ( " MultiPolygon" ), true , MultiPolygon, Polygon, MultiPolygon, PolygonGeometry, false , false ) },
83+ { MultiPolygonZ, wkbEntry ( QStringLiteral ( " MultiPolygonZ" ), true , MultiPolygonZ, PolygonZ, MultiPolygon, PolygonGeometry, true , false ) },
84+ { MultiPolygonM, wkbEntry ( QStringLiteral ( " MultiPolygonM" ), true , MultiPolygonM, PolygonM, MultiPolygon, PolygonGeometry, false , true ) },
85+ { MultiPolygonZM, wkbEntry ( QStringLiteral ( " MultiPolygonZM" ), true , MultiPolygonZM, PolygonZM, MultiPolygon, PolygonGeometry, true , true ) },
86+ { MultiPolygon25D, wkbEntry ( QStringLiteral ( " MultiPolygon25D" ), true , MultiPolygon25D, Polygon25D, MultiPolygon, PolygonGeometry, true , false ) },
87+ // multisurface
88+ { MultiSurface, wkbEntry ( QStringLiteral ( " MultiSurface" ), true , MultiSurface, CurvePolygon, MultiSurface, PolygonGeometry, false , false ) },
89+ { MultiSurfaceZ, wkbEntry ( QStringLiteral ( " MultiSurfaceZ" ), true , MultiSurfaceZ, CurvePolygonZ, MultiSurface, PolygonGeometry, true , false ) },
90+ { MultiSurfaceM, wkbEntry ( QStringLiteral ( " MultiSurfaceM" ), true , MultiSurfaceM, CurvePolygonM, MultiSurface, PolygonGeometry, false , true ) },
91+ { MultiSurfaceZM, wkbEntry ( QStringLiteral ( " MultiSurfaceZM" ), true , MultiSurfaceZM, CurvePolygonZM, MultiSurface, PolygonGeometry, true , true ) },
92+ // geometrycollection
93+ { GeometryCollection, wkbEntry ( QStringLiteral ( " GeometryCollection" ), true , GeometryCollection, Unknown, GeometryCollection, UnknownGeometry, false , false ) },
94+ { GeometryCollectionZ, wkbEntry ( QStringLiteral ( " GeometryCollectionZ" ), true , GeometryCollectionZ, Unknown, GeometryCollection, UnknownGeometry, true , false ) },
95+ { GeometryCollectionM, wkbEntry ( QStringLiteral ( " GeometryCollectionM" ), true , GeometryCollectionM, Unknown, GeometryCollection, UnknownGeometry, false , true ) },
96+ { GeometryCollectionZM, wkbEntry ( QStringLiteral ( " GeometryCollectionZM" ), true , GeometryCollectionZM, Unknown, GeometryCollection, UnknownGeometry, true , true ) },
97+ };
3198
3299QgsWkbTypes::Type QgsWkbTypes::parseType ( const QString &wktStr )
33100{
34101 QString typestr = wktStr.left ( wktStr.indexOf ( ' (' ) ).simplified ().remove ( ' ' );
35102
36- QMap<QgsWkbTypes::Type, QgsWkbTypes::wkbEntry>* knownTypes = entries ();
37- QMap<QgsWkbTypes::Type, QgsWkbTypes::wkbEntry>::const_iterator it = knownTypes->constBegin ();
38- for ( ; it != knownTypes->constEnd (); ++it )
103+ QMap<QgsWkbTypes::Type, QgsWkbTypes::wkbEntry>::const_iterator it = sEntries .constBegin ();
104+ for ( ; it != sEntries .constEnd (); ++it )
39105 {
40106 if ( it.value ().mName .compare ( typestr, Qt::CaseInsensitive ) == 0 )
41107 {
@@ -47,8 +113,8 @@ QgsWkbTypes::Type QgsWkbTypes::parseType( const QString &wktStr )
47113
48114QString QgsWkbTypes::displayString ( Type type )
49115{
50- QMap< Type, wkbEntry >::const_iterator it = entries ()-> constFind ( type );
51- if ( it == entries ()-> constEnd () )
116+ QMap< Type, wkbEntry >::const_iterator it = sEntries . constFind ( type );
117+ if ( it == sEntries . constEnd () )
52118 {
53119 return QString::null;
54120 }
@@ -82,78 +148,3 @@ QString QgsWkbTypes::geometryDisplayString( QgsWkbTypes::GeometryType type )
82148 * full unit tests.
83149 * See details in QEP #17
84150 ****************************************************************************/
85-
86- QMap<QgsWkbTypes::Type, QgsWkbTypes::wkbEntry> QgsWkbTypes::registerTypes ()
87- {
88- QMap<QgsWkbTypes::Type, QgsWkbTypes::wkbEntry> entries;
89- // register the known wkb types
90- entries.insert ( Unknown, wkbEntry ( QStringLiteral ( " Unknown" ), false , Unknown, Unknown, Unknown, UnknownGeometry, false , false ) );
91- entries.insert ( NoGeometry, wkbEntry ( QStringLiteral ( " NoGeometry" ), false , NoGeometry, NoGeometry, NoGeometry, NullGeometry, false , false ) );
92- // point
93- entries.insert ( Point, wkbEntry ( QStringLiteral ( " Point" ), false , MultiPoint, Point, Point, PointGeometry, false , false ) );
94- entries.insert ( PointZ, wkbEntry ( QStringLiteral ( " PointZ" ), false , MultiPointZ, PointZ, Point, PointGeometry, true , false ) );
95- entries.insert ( PointM, wkbEntry ( QStringLiteral ( " PointM" ), false , MultiPointM, PointM, Point, PointGeometry, false , true ) );
96- entries.insert ( PointZM, wkbEntry ( QStringLiteral ( " PointZM" ), false , MultiPointZM, PointZM, Point, PointGeometry, true , true ) );
97- entries.insert ( Point25D, wkbEntry ( QStringLiteral ( " Point25D" ), false , MultiPoint25D, Point25D, Point, PointGeometry, true , false ) );
98- // linestring
99- entries.insert ( LineString, wkbEntry ( QStringLiteral ( " LineString" ), false , MultiLineString, LineString, LineString, LineGeometry, false , false ) );
100- entries.insert ( LineStringZ, wkbEntry ( QStringLiteral ( " LineStringZ" ), false , MultiLineStringZ, LineStringZ, LineString, LineGeometry, true , false ) );
101- entries.insert ( LineStringM, wkbEntry ( QStringLiteral ( " LineStringM" ), false , MultiLineStringM, LineStringM, LineString, LineGeometry, false , true ) );
102- entries.insert ( LineStringZM, wkbEntry ( QStringLiteral ( " LineStringZM" ), false , MultiLineStringZM, LineStringZM, LineString, LineGeometry, true , true ) );
103- entries.insert ( LineString25D, wkbEntry ( QStringLiteral ( " LineString25D" ), false , MultiLineString25D, LineString25D, LineString, LineGeometry, true , false ) );
104- // circularstring
105- entries.insert ( CircularString, wkbEntry ( QStringLiteral ( " CircularString" ), false , MultiCurve, CircularString, CircularString, LineGeometry, false , false ) );
106- entries.insert ( CircularStringZ, wkbEntry ( QStringLiteral ( " CircularStringZ" ), false , MultiCurveZ, CircularStringZ, CircularString, LineGeometry, true , false ) );
107- entries.insert ( CircularStringM, wkbEntry ( QStringLiteral ( " CircularStringM" ), false , MultiCurveM, CircularStringM, CircularString, LineGeometry, false , true ) );
108- entries.insert ( CircularStringZM, wkbEntry ( QStringLiteral ( " CircularStringZM" ), false , MultiCurveZM, CircularStringZM, CircularString, LineGeometry, true , true ) );
109- // compoundcurve
110- entries.insert ( CompoundCurve, wkbEntry ( QStringLiteral ( " CompoundCurve" ), false , MultiCurve, CompoundCurve, CompoundCurve, LineGeometry, false , false ) );
111- entries.insert ( CompoundCurveZ, wkbEntry ( QStringLiteral ( " CompoundCurveZ" ), false , MultiCurveZ, CompoundCurveZ, CompoundCurve, LineGeometry, true , false ) );
112- entries.insert ( CompoundCurveM, wkbEntry ( QStringLiteral ( " CompoundCurveM" ), false , MultiCurveM, CompoundCurveM, CompoundCurve, LineGeometry, false , true ) );
113- entries.insert ( CompoundCurveZM, wkbEntry ( QStringLiteral ( " CompoundCurveZM" ), false , MultiCurveZM, CompoundCurveZM, CompoundCurve, LineGeometry, true , true ) );
114- // polygon
115- entries.insert ( Polygon, wkbEntry ( QStringLiteral ( " Polygon" ), false , MultiPolygon, Polygon, Polygon, PolygonGeometry, false , false ) );
116- entries.insert ( PolygonZ, wkbEntry ( QStringLiteral ( " PolygonZ" ), false , MultiPolygonZ, PolygonZ, Polygon, PolygonGeometry, true , false ) );
117- entries.insert ( PolygonM, wkbEntry ( QStringLiteral ( " PolygonM" ), false , MultiPolygonM, PolygonM, Polygon, PolygonGeometry, false , true ) );
118- entries.insert ( PolygonZM, wkbEntry ( QStringLiteral ( " PolygonZM" ), false , MultiPolygonZM, PolygonZM, Polygon, PolygonGeometry, true , true ) );
119- entries.insert ( Polygon25D, wkbEntry ( QStringLiteral ( " Polygon25D" ), false , MultiPolygon25D, Polygon25D, Polygon, PolygonGeometry, true , false ) );
120- // curvepolygon
121- entries.insert ( CurvePolygon, wkbEntry ( QStringLiteral ( " CurvePolygon" ), false , MultiSurface, CurvePolygon, CurvePolygon, PolygonGeometry, false , false ) );
122- entries.insert ( CurvePolygonZ, wkbEntry ( QStringLiteral ( " CurvePolygonZ" ), false , MultiSurfaceZ, CurvePolygonZ, CurvePolygon, PolygonGeometry, true , false ) );
123- entries.insert ( CurvePolygonM, wkbEntry ( QStringLiteral ( " CurvePolygonM" ), false , MultiSurfaceM, CurvePolygonM, CurvePolygon, PolygonGeometry, false , true ) );
124- entries.insert ( CurvePolygonZM, wkbEntry ( QStringLiteral ( " CurvePolygonZM" ), false , MultiSurfaceZM, CurvePolygonZM, CurvePolygon, PolygonGeometry, true , true ) );
125- // multipoint
126- entries.insert ( MultiPoint, wkbEntry ( QStringLiteral ( " MultiPoint" ), true , MultiPoint, Point, MultiPoint, PointGeometry, false , false ) );
127- entries.insert ( MultiPointZ, wkbEntry ( QStringLiteral ( " MultiPointZ" ), true , MultiPointZ, PointZ, MultiPoint, PointGeometry, true , false ) );
128- entries.insert ( MultiPointM, wkbEntry ( QStringLiteral ( " MultiPointM" ), true , MultiPointM, PointM, MultiPoint, PointGeometry, false , true ) );
129- entries.insert ( MultiPointZM, wkbEntry ( QStringLiteral ( " MultiPointZM" ), true , MultiPointZM, PointZM, MultiPoint, PointGeometry, true , true ) );
130- entries.insert ( MultiPoint25D, wkbEntry ( QStringLiteral ( " MultiPoint25D" ), true , MultiPoint25D, Point25D, MultiPoint, PointGeometry, true , false ) );
131- // multiline
132- entries.insert ( MultiLineString, wkbEntry ( QStringLiteral ( " MultiLineString" ), true , MultiLineString, LineString, MultiLineString, LineGeometry, false , false ) );
133- entries.insert ( MultiLineStringZ, wkbEntry ( QStringLiteral ( " MultiLineStringZ" ), true , MultiLineStringZ, LineStringZ, MultiLineString, LineGeometry, true , false ) );
134- entries.insert ( MultiLineStringM, wkbEntry ( QStringLiteral ( " MultiLineStringM" ), true , MultiLineStringM, LineStringM, MultiLineString, LineGeometry, false , true ) );
135- entries.insert ( MultiLineStringZM, wkbEntry ( QStringLiteral ( " MultiLineStringZM" ), true , MultiLineStringZM, LineStringZM, MultiLineString, LineGeometry, true , true ) );
136- entries.insert ( MultiLineString25D, wkbEntry ( QStringLiteral ( " MultiLineString25D" ), true , MultiLineString25D, LineString25D, MultiLineString, LineGeometry, true , false ) );
137- // multicurve
138- entries.insert ( MultiCurve, wkbEntry ( QStringLiteral ( " MultiCurve" ), true , MultiCurve, CompoundCurve, MultiCurve, LineGeometry, false , false ) );
139- entries.insert ( MultiCurveZ, wkbEntry ( QStringLiteral ( " MultiCurveZ" ), true , MultiCurveZ, CompoundCurveZ, MultiCurve, LineGeometry, true , false ) );
140- entries.insert ( MultiCurveM, wkbEntry ( QStringLiteral ( " MultiCurveM" ), true , MultiCurveM, CompoundCurveM, MultiCurve, LineGeometry, false , true ) );
141- entries.insert ( MultiCurveZM, wkbEntry ( QStringLiteral ( " MultiCurveZM" ), true , MultiCurveZM, CompoundCurveZM, MultiCurve, LineGeometry, true , true ) );
142- // multipolygon
143- entries.insert ( MultiPolygon, wkbEntry ( QStringLiteral ( " MultiPolygon" ), true , MultiPolygon, Polygon, MultiPolygon, PolygonGeometry, false , false ) );
144- entries.insert ( MultiPolygonZ, wkbEntry ( QStringLiteral ( " MultiPolygonZ" ), true , MultiPolygonZ, PolygonZ, MultiPolygon, PolygonGeometry, true , false ) );
145- entries.insert ( MultiPolygonM, wkbEntry ( QStringLiteral ( " MultiPolygonM" ), true , MultiPolygonM, PolygonM, MultiPolygon, PolygonGeometry, false , true ) );
146- entries.insert ( MultiPolygonZM, wkbEntry ( QStringLiteral ( " MultiPolygonZM" ), true , MultiPolygonZM, PolygonZM, MultiPolygon, PolygonGeometry, true , true ) );
147- entries.insert ( MultiPolygon25D, wkbEntry ( QStringLiteral ( " MultiPolygon25D" ), true , MultiPolygon25D, Polygon25D, MultiPolygon, PolygonGeometry, true , false ) );
148- // multisurface
149- entries.insert ( MultiSurface, wkbEntry ( QStringLiteral ( " MultiSurface" ), true , MultiSurface, CurvePolygon, MultiSurface, PolygonGeometry, false , false ) );
150- entries.insert ( MultiSurfaceZ, wkbEntry ( QStringLiteral ( " MultiSurfaceZ" ), true , MultiSurfaceZ, CurvePolygonZ, MultiSurface, PolygonGeometry, true , false ) );
151- entries.insert ( MultiSurfaceM, wkbEntry ( QStringLiteral ( " MultiSurfaceM" ), true , MultiSurfaceM, CurvePolygonM, MultiSurface, PolygonGeometry, false , true ) );
152- entries.insert ( MultiSurfaceZM, wkbEntry ( QStringLiteral ( " MultiSurfaceZM" ), true , MultiSurfaceZM, CurvePolygonZM, MultiSurface, PolygonGeometry, true , true ) );
153- // geometrycollection
154- entries.insert ( GeometryCollection, wkbEntry ( QStringLiteral ( " GeometryCollection" ), true , GeometryCollection, Unknown, GeometryCollection, UnknownGeometry, false , false ) );
155- entries.insert ( GeometryCollectionZ, wkbEntry ( QStringLiteral ( " GeometryCollectionZ" ), true , GeometryCollectionZ, Unknown, GeometryCollection, UnknownGeometry, true , false ) );
156- entries.insert ( GeometryCollectionM, wkbEntry ( QStringLiteral ( " GeometryCollectionM" ), true , GeometryCollectionM, Unknown, GeometryCollection, UnknownGeometry, false , true ) );
157- entries.insert ( GeometryCollectionZM, wkbEntry ( QStringLiteral ( " GeometryCollectionZM" ), true , GeometryCollectionZM, Unknown, GeometryCollection, UnknownGeometry, true , true ) );
158- return entries;
159- }
0 commit comments