Changeset: 7c8ee09c7cf8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7c8ee09c7cf8
Modified Files:
        geom/monetdb5/geom.c
Branch: geo
Log Message:

wkbFromText fixed back in assignement of correct value to geometry type 
obtained using the geos created WKB


diffs (47 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -2075,19 +2075,19 @@ str wkbFromText(wkb **geomWKB, str *geom
        char *errbuf = NULL;
        str ex;
 
-       if(*tpe > 2)
-               te=1;
-
        *geomWKB = NULL;
-       if (wkbFROMSTR(*geomWKT, &len, geomWKB, *srid) &&
-           (wkb_isnil(*geomWKB) || *tpe==0 || *tpe == wkbGeometryCollection || 
(te += *((*geomWKB)->data + 1) & 0x0f) == *tpe)) {
+       if (wkbFROMSTR(*geomWKT, &len, geomWKB, *srid) && 
+                       (wkb_isnil(*geomWKB) || *tpe==0 || *tpe == 
wkbGeometryCollection || (te = ((*((*geomWKB)->data + 1) & 0x0f)+(*tpe>2))) == 
*tpe)) {
                return MAL_SUCCEED;
        }
 
        if (*geomWKB == NULL) {
                *geomWKB = wkb_nil;
        }       
-       
+
+       //get back the correct value for geos 
+       te-= (te<4);    
+
        if (*tpe > 0 && te != *tpe)
                throw(MAL, "wkb.FromText", "Geometry not type '%d: %s' but '%d: 
%s' instead", *tpe, geom_type2str(*tpe,0), te, geom_type2str(te,0));
        errbuf = GDKerrbuf;
@@ -2278,7 +2278,6 @@ str wkbMLineStringToPolygon(wkb** geomWK
                char* toStr = NULL;
                size_t len = 0;
                wkbTOSTR(&toStr, &len, linestringsWKB[i]);
-               fprintf(stderr, "%f %s\n", linestringsArea[i], toStr);
                GDKfree(toStr);
        }
 
@@ -2342,7 +2341,8 @@ str wkbMLineStringToPolygon(wkb** geomWK
                GEOSGeom_destroy(finalGeometry); 
                GDKfree(internalGeometries); 
        } else if(*flag == 1) {
-               
+               *geomWKB = wkb_nil;
+               throw(MAL, "geom.MLineStringToPolygon", "Multipolygon from 
string has not been defined");
        } else {
                *geomWKB = wkb_nil;
                throw(MAL, "geom.MLineStringToPolygon", "Uknown flag");
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to