Changeset: fda130dae5c3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fda130dae5c3
Modified Files:
geom/lib/libgeom.c
geom/lib/libgeom.h
Branch: sfcgal
Log Message:
geom_str2type convert string to type enum. Needed by IsType.
diffs (66 lines):
diff --git a/geom/lib/libgeom.c b/geom/lib/libgeom.c
--- a/geom/lib/libgeom.c
+++ b/geom/lib/libgeom.c
@@ -188,6 +188,51 @@ geom_type2str(int t, int flag)
return "UKNOWN";
}
+int
+geom_str2type(const char* type, int flag)
+{
+ if (flag == 0) {
+ //if (strcmp(type, "GEOMETRY") == 0)
+ // return wkbGeometry;
+ if (strcmp(type, "POINT") == 0)
+ return wkbPoint_mdb;
+ if (strcmp(type, "LINESTRING") == 0)
+ return wkbLineString_mdb;
+ if (strcmp(type, "LINEARRING") == 0)
+ return wkbLinearRing_mdb;
+ if (strcmp(type, "POLYGON") == 0)
+ return wkbPolygon_mdb;
+ if (strcmp(type, "MULTIPOINT") == 0)
+ return wkbMultiPoint_mdb;
+ if (strcmp(type, "MULTILINESTRING") == 0)
+ return wkbMultiLineString_mdb;
+ if (strcmp(type, "MULTIPOLYGON") == 0)
+ return wkbMultiPolygon_mdb;
+ if (strcmp(type, "GEOMETRYCOLLECTION") == 0)
+ return wkbGeometryCollection_mdb;
+ } else if (flag == 1) {
+ //if (strcmp(type, "ST_Geometry") == 0)
+ // return wkbGeometry;
+ if (strcmp(type, "ST_Point") == 0)
+ return wkbPoint_mdb;
+ if (strcmp(type, "ST_LineString") == 0)
+ return wkbLineString_mdb;
+ if (strcmp(type, "ST_LinearRing") == 0)
+ return wkbLinearRing_mdb;
+ if (strcmp(type, "ST_Polygon") == 0)
+ return wkbPolygon_mdb;
+ if (strcmp(type, "ST_MultiPoint") == 0)
+ return wkbMultiPoint_mdb;
+ if (strcmp(type, "ST_MultiLinestring") == 0)
+ return wkbMultiLineString_mdb;
+ if (strcmp(type, "ST_MultiPolygon") == 0)
+ return wkbMultiPolygon_mdb;
+ if (strcmp(type, "ST_GeometryCollection") == 0)
+ return wkbGeometryCollection_mdb;
+ }
+ return -1;
+}
+
/*
str
diff --git a/geom/lib/libgeom.h b/geom/lib/libgeom.h
--- a/geom/lib/libgeom.h
+++ b/geom/lib/libgeom.h
@@ -113,6 +113,7 @@ typedef enum wkb_type {
} wkb_type;
libgeom_export const char *geom_type2str(int t, int flag);
+libgeom_export int geom_str2type(const char* type, int flag);
typedef struct wkb {
int len;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list