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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list