Changeset: c7eb7021c894 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c7eb7021c894
Removed Files:
        geom/monetdb5/cleanup.md
        geom/monetdb5/geod.c
        geom/monetdb5/geod.h
        geom/monetdb5/geom_io.c
        geom/monetdb5/geom_io.h
        geom/monetdb5/geom_srid.c
        geom/monetdb5/geom_srid.h
        geom/monetdb5/mbr.c
        geom/monetdb5/mbr.h
        geom/monetdb5/wkb.c
        geom/monetdb5/wkb.h
        geom/monetdb5/wkba.c
        geom/monetdb5/wkba.h
        geom/sql/40_geom_OGC.sql
        geom/sql/40_geom_PostGIS.sql
        geom/sql/spatial_ref_sys.sql
Modified Files:
        geom/lib/libgeom.c
        geom/lib/libgeom.h
        geom/monetdb5/CMakeLists.txt
        geom/monetdb5/geom.c
        geom/monetdb5/geom.h
        geom/monetdb5/geomBulk.c
        geom/sql/40_geom.sql
Branch: geo-update
Log Message:

Backout of commits 85590, 85589, 85588 and 85587. Resetting the repo to commit 
85335, before any moving of geom functions and modularisation.


diffs (truncated from 17554 to 300 lines):

diff --git a/geom/lib/libgeom.c b/geom/lib/libgeom.c
--- a/geom/lib/libgeom.c
+++ b/geom/lib/libgeom.c
@@ -52,25 +52,6 @@ is_wkb_nil(const wkb *w)
        return 0;
 }
 
-/* returns the size of variable-sized atom wkb */
-var_t
-wkb_size(size_t len)
-{
-       if (len == ~(size_t) 0)
-               len = 0;
-       assert(offsetof(wkb, data) + len <= VAR_MAX);
-       return (var_t) (offsetof(wkb, data) + len);
-}
-
-wkb *
-wkbNULLcopy(void)
-{
-       wkb *n = GDKmalloc(sizeof(wkb_nil));
-       if (n)
-               *n = wkb_nil;
-       return n;
-}
-
 GEOSGeom
 wkb2geos(const wkb *geomWKB)
 {
@@ -87,45 +68,6 @@ wkb2geos(const wkb *geomWKB)
        return geosGeometry;
 }
 
-/* create the WKB out of the GEOSGeometry
- * It makes sure to make all checks before returning
- * the input geosGeometry should not be altered by this function
- * return NULL on error */
-wkb *
-geos2wkb(const GEOSGeometry *geosGeometry)
-{
-       size_t wkbLen = 0;
-       unsigned char *w = NULL;
-       wkb *geomWKB;
-
-       // if the geosGeometry is NULL create a NULL WKB
-       if (geosGeometry == NULL) {
-               return wkbNULLcopy();
-       }
-
-       GEOS_setWKBOutputDims(GEOSGeom_getCoordinateDimension(geosGeometry));
-       w = GEOSGeomToWKB_buf(geosGeometry, &wkbLen);
-
-       if (w == NULL)
-               return NULL;
-
-       assert(wkbLen <= GDK_int_max);
-
-       geomWKB = GDKmalloc(wkb_size(wkbLen));
-       //If malloc failed create a NULL wkb
-       if (geomWKB == NULL) {
-               GEOSFree(w);
-               return NULL;
-       }
-
-       geomWKB->len = (int) wkbLen;
-       geomWKB->srid = GEOSGetSRID(geosGeometry);
-       memcpy(&geomWKB->data, w, wkbLen);
-       GEOSFree(w);
-
-       return geomWKB;
-}
-
 const char *
 geom_type2str(int t, int flag)
 {
diff --git a/geom/lib/libgeom.h b/geom/lib/libgeom.h
--- a/geom/lib/libgeom.h
+++ b/geom/lib/libgeom.h
@@ -132,14 +132,7 @@ libgeom_export void libgeom_exit(void);
 
 #define mbr_nil mbrFromGeos(NULL);
 
-/* variables */
-int TYPE_mbr;
-static const wkb wkb_nil = { ~0, 0 };
-
 libgeom_export bool is_wkb_nil(const wkb *wkbp);
-libgeom_export var_t wkb_size(size_t len);
-libgeom_export wkb * wkbNULLcopy(void);
 libgeom_export GEOSGeom wkb2geos(const wkb *geomWKB);
-libgeom_export wkb * geos2wkb(const GEOSGeometry *geosGeometry);
 
 #endif /* LIBGEOM_H */
diff --git a/geom/monetdb5/CMakeLists.txt b/geom/monetdb5/CMakeLists.txt
--- a/geom/monetdb5/CMakeLists.txt
+++ b/geom/monetdb5/CMakeLists.txt
@@ -10,10 +10,7 @@ if(GEOS_FOUND)
   add_library(geomodule MODULE)
 
   set(include_sql_files
-    40_geom
-    40_geom_PostGIS
-    40_geom_OGC
-    spatial_ref_sys)
+    40_geom)
 
   create_include_object(
     SQL_LANGUAGE
@@ -26,11 +23,6 @@ if(GEOS_FOUND)
     geom.c
     geomBulk.c
     geom_upgrade.c
-    geod.c
-    geom_io.c
-    mbr.c
-    wkb.c
-    wkba.c
     ${MONETDB_CURRENT_SQL_SOURCES}
     PUBLIC
     ${geomodule_public_headers})
diff --git a/geom/monetdb5/cleanup.md b/geom/monetdb5/cleanup.md
deleted file mode 100644
--- a/geom/monetdb5/cleanup.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# geom module cleanup
-## Structure
-### C functions
-- **geod.c** -> Geodetic functions
-- **wkb.c** -> WKB atom functions
-- **wkba.c** -> WKBA atom functions + functions that use WKBA
-- **mbr.c** -> MBR atom functions + functions that use WKBA
-- **geom_srid.c** -> Projection functions + SRID functions
-- **geomBulk.c** -> Bulk functions
-- **geom_io.c** -> Geometry input/output functions
-
-### SQL
-- **40_geom.sql** -> Geodetic + mbr funtcions -> TODO Cleanup
-- **40_geom_OGC.sql** -> OGC Simple Features functions
-- **40_geom_PostGIS.sql** -> PostGIS functions
-
-## Changes
-### Removed C functions:
-- geometryHasZ/geoHasZ
-- geometryHasM/geoHasM
-- geoGetType
-
-### Removed MAL functions:
-- geom.hasZ
-- geom.hasM
-- geom.getType
-
-### Removed SQL functions:
-- HasZ
-- HasM
-- get_type
-- wkbIsnil (no usages, libgeom.c has *is_wkb_nil*)
-- ST_M
-- ST_CurveToLine
-- Functions that were commented out:
-    - ST_GeomFromWKB (and similar geometry-specific functions)
-    - ST_GeomFromText (and similar geometry-specific functions)
-    - ST_SetInteriorRings
-
-### Moved:
-- Moved spatial_ref_sys and geometry_columns tables to **spatial_ref_sys.sql**
-- Moved COPY INTO spatial_ref_sys to **spatial_ref_sys.sql**
-- Moved Geodetic functions (except bulk versions) to **geod.c** (MAL functions 
still on geom.c)
-- Moved Geodetic headers to **geod.h** 
-- Moved MBR functions (including atom functions) to **mbr.c** (MAL functions 
still on geom.c)
-- Moved MBR headers to **mbr.h**
-- Moved WKBA functions to **wkba.c** (MAL functions still on geom.c)
-- Moved WKBA headers to **wkba.h**
-- Merged *geoGetType* into *wkbGeometryType* (geoGetType wasn't being used 
outside of this func)
-- Moved WKB atom functions to **wkb.c**
-- OGC sql functions to **40_geom_OGC.sql**
-- PostGIS sql functions to **40_geom_PostGIS.sql**
-- Moved geos2wkb C function to **libgeom.c** (is used in a lot of modules)
-
-
-### Other changes:
-- **MBR** atom functions are now on the header file (mbr.h) and are *not 
static*
-- **WKBA** atom functions are now on the header file (wkba.h) and are *not 
static*
-- **WKB** atom functions are now on the header file (wkb.h) and are *not 
static*
-
-## TODO:
-- Remove libgeom.c/.h ? (or add a file with the start up and end functions + 
MAL ones?)
-- Clean mbr.c
-- Clean wkba.c
-- Clean geomBulk.c (and change name?)
-- Clean geom_srid.c
-- Clean geod.c
-- Clean geom_io.c
-- Should we allow z and m in constructor functions? (e.g. ST_MakePoint)
-- SQL Clean:
-    - Functions on Polyhedral Surfaces
-    - Management functions
-    - PostGIS Geometry Constructors
-    - PostGIS Geometry Editors
-    - PostGIS SQL functions in general
-    - PostGIS from "Operators" onwards (most aren't implemented)
-
-## Check with Stefanos
-- Changing atom functions to other files (mbr and wkba)
-- Should we keep wkba (and even mbr?)
-- Header include standards (everything on the .h, some includes in the .c?)
-- How to remove libgeom
-- Check the SQL division
diff --git a/geom/monetdb5/geod.c b/geom/monetdb5/geod.c
deleted file mode 100644
--- a/geom/monetdb5/geod.c
+++ /dev/null
@@ -1,1339 +0,0 @@
-#include "geom.h"
-#include "geod.h"
-
-/**
-*  Convertions 
-* 
-**/
-
-const double earth_radius = 6371.009;
-const double earth_radius_meters = 6371009;
-
-/* Converts a longitude value in degrees to radians */
-static double 
-deg2RadLongitude(double lon_degrees)
-{
-       //Convert
-       double lon = M_PI * lon_degrees / 180.0;
-       //Normalize
-       //TODO PostGIS code, refactor
-       if (lon == -1.0 * M_PI)
-               return M_PI;
-       if (lon == -2.0 * M_PI)
-               return 0.0;
-       if (lon > 2.0 * M_PI)
-               lon = remainder(lon, 2.0 * M_PI);
-
-       if (lon < -2.0 * M_PI)
-               lon = remainder(lon, -2.0 * M_PI);
-
-       if (lon > M_PI)
-               lon = -2.0 * M_PI + lon;
-
-       if (lon < -1.0 * M_PI)
-               lon = 2.0 * M_PI + lon;
-
-       if (lon == -2.0 * M_PI)
-               lon *= -1.0;
-
-       return lon;
-}
-
-/* Converts a latitude value in degrees to radians */
-static double 
-deg2RadLatitude(double lat_degrees)
-{
-       //Convert
-       double lat = M_PI * lat_degrees / 180.0;
-       //Normalize
-       //TODO PostGIS code, refactor
-       if (lat > 2.0 * M_PI)
-               lat = remainder(lat, 2.0 * M_PI);
-
-       if (lat < -2.0 * M_PI)
-               lat = remainder(lat, -2.0 * M_PI);
-
-       if (lat > M_PI)
-               lat = M_PI - lat;
-
-       if (lat < -1.0 * M_PI)
-               lat = -1.0 * M_PI - lat;
-
-       if (lat > M_PI_2)
-               lat = M_PI - lat;
-
-       if (lat < -1.0 * M_PI_2)
-               lat = -1.0 * M_PI - lat;
-
-       return lat;
-}
-
-/* Converts the GeoPoint from degrees to radians latitude and longitude*/
-static GeoPoint 
-deg2RadPoint(GeoPoint geo)
-{
-       geo.lon = deg2RadLongitude(geo.lon);
-       geo.lat = deg2RadLatitude(geo.lat);
-       return geo;
-}
-
-/**
- *  Converts a longitude value in radians to degrees
- */
-static double 
-rad2DegLongitude(double lon_radians)
-{
-       //Convert
-       double lon = lon_radians * 180.0 / M_PI;
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to