{ "GEOMETRYCOLLECTIONZ", COLLECTIONTYPE, 1, 0 },
{ "GEOMETRYCOLLECTIONM", COLLECTIONTYPE, 0, 1 },
{ "GEOMETRYCOLLECTION", COLLECTIONTYPE, 0, 0 },
+
{ "GEOMETRYZM", 0, 1, 1 },
{ "GEOMETRYZ", 0, 1, 0 },
{ "GEOMETRYM", 0, 0, 1 },
{ "GEOMETRY", 0, 0, 0 },
+
{ "POLYHEDRALSURFACEZM", POLYHEDRALSURFACETYPE, 1, 1 },
{ "POLYHEDRALSURFACEZ", POLYHEDRALSURFACETYPE, 1, 0 },
{ "POLYHEDRALSURFACEM", POLYHEDRALSURFACETYPE, 0, 1 },
{ "POLYHEDRALSURFACE", POLYHEDRALSURFACETYPE, 0, 0 },
+
{ "TINZM", TINTYPE, 1, 1 },
{ "TINZ", TINTYPE, 1, 0 },
{ "TINM", TINTYPE, 0, 1 },
{ "TIN", TINTYPE, 0, 0 },
+
+ { "CIRCULARSTRINGZM", CIRCSTRINGTYPE, 1, 1 },
+ { "CIRCULARSTRINGZ", CIRCSTRINGTYPE, 1, 0 },
+ { "CIRCULARSTRINGM", CIRCSTRINGTYPE, 0, 1 },
+ { "CIRCULARSTRING", CIRCSTRINGTYPE, 0, 0 },
+
+ { "COMPOUNDCURVEZM", COMPOUNDTYPE, 1, 1 },
+ { "COMPOUNDCURVEZ", COMPOUNDTYPE, 1, 0 },
+ { "COMPOUNDCURVEM", COMPOUNDTYPE, 0, 1 },
+ { "COMPOUNDCURVE", COMPOUNDTYPE, 0, 0 },
+
+ { "CURVEPOLYGONZM", CURVEPOLYTYPE, 1, 1 },
+ { "CURVEPOLYGONZ", CURVEPOLYTYPE, 1, 0 },
+ { "CURVEPOLYGONM", CURVEPOLYTYPE, 0, 1 },
+ { "CURVEPOLYGON", CURVEPOLYTYPE, 0, 0 },
+
+ { "MULTICURVEZM", MULTICURVETYPE, 1, 1 },
+ { "MULTICURVEZ", MULTICURVETYPE, 1, 0 },
+ { "MULTICURVEM", MULTICURVETYPE, 0, 1 },
+ { "MULTICURVE", MULTICURVETYPE, 0, 0 },
+
+ { "MULTISURFACEZM", MULTISURFACETYPE, 1, 1 },
+ { "MULTISURFACEZ", MULTISURFACETYPE, 1, 0 },
+ { "MULTISURFACEM", MULTISURFACETYPE, 0, 1 },
+ { "MULTISURFACE", MULTISURFACETYPE, 0, 0 },
+
{ "MULTILINESTRINGZM", MULTILINETYPE, 1, 1 },
{ "MULTILINESTRINGZ", MULTILINETYPE, 1, 0 },
{ "MULTILINESTRINGM", MULTILINETYPE, 0, 1 },
{ "MULTILINESTRING", MULTILINETYPE, 0, 0 },
+
{ "MULTIPOLYGONZM", MULTIPOLYGONTYPE, 1, 1 },
{ "MULTIPOLYGONZ", MULTIPOLYGONTYPE, 1, 0 },
{ "MULTIPOLYGONM", MULTIPOLYGONTYPE, 0, 1 },
{ "MULTIPOLYGON", MULTIPOLYGONTYPE, 0, 0 },
+
{ "MULTIPOINTZM", MULTIPOINTTYPE, 1, 1 },
{ "MULTIPOINTZ", MULTIPOINTTYPE, 1, 0 },
{ "MULTIPOINTM", MULTIPOINTTYPE, 0, 1 },
{ "MULTIPOINT", MULTIPOINTTYPE, 0, 0 },
+
{ "LINESTRINGZM", LINETYPE, 1, 1 },
{ "LINESTRINGZ", LINETYPE, 1, 0 },
{ "LINESTRINGM", LINETYPE, 0, 1 },
{ "LINESTRING", LINETYPE, 0, 0 },
+
{ "TRIANGLEZM", TRIANGLETYPE, 1, 1 },
{ "TRIANGLEZ", TRIANGLETYPE, 1, 0 },
{ "TRIANGLEM", TRIANGLETYPE, 0, 1 },
{ "TRIANGLE", TRIANGLETYPE, 0, 0 },
+
{ "POLYGONZM", POLYGONTYPE, 1, 1 },
{ "POLYGONZ", POLYGONTYPE, 1, 0 },
{ "POLYGONM", POLYGONTYPE, 0, 1 },
{ "POLYGON", POLYGONTYPE, 0, 0 },
+
{ "POINTZM", POINTTYPE, 1, 1 },
{ "POINTZ", POINTTYPE, 1, 0 },
{ "POINTM", POINTTYPE, 0, 1 },
{ "POINT", POINTTYPE, 0, 0 }
+
};
#define GEOMTYPE_STRUCT_ARRAY_LEN (sizeof geomtype_struct_array/sizeof(struct geomtype_struct))