UCOSP code sprint day #2

Today we continue to explore the unanswered questions left over from yesterday. These are the things that I have explored

OGC stands for opengeospatial consortium, and GEOS is an implementation of the OGC specification. It is formed by a set of companies who have invested their time to have set out a standard for geospatial information systems and databases. GEOS implements part of the SFS standard and Ingres uses it for geospatial manipulation and calculation. The patch Alex sent sends me extends GEOS to support more of the standard so that Ingres can use the GEOS.

Functions instances to implement:

  • IsSimple,
  • IsEmpty,
  • Overlaps,
  • X(on points only),
  • Y(on points only),
  • NumPoints (on linestring only)

Files to change:
  • adgoptab.roc
  • fi_defn.txt
  • aduint.h
  • adfops.h
  • adupoint.c
  • adffiids.h


Following the standard that is quoted from OpenGIS Implementation Specification for Geographic information - Simple feature access:
Organization: Open Geospatial Consortium Inc.
Date: 2005-11-22
Reference number of this document: OGC 05-134
Version: 1.1.0
Category: OpenGIS® Implementation Specification
Editor: Keith Ryden

SQL functions on type Geometry
IsEmpty(g Geometry) : Integer
The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN corresponding to a function invocation on NULL arguments.
TRUE if this geometric object corresponds to the empty set

IsSimple(g Geometry): Integer
The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN corresponding to a function invocation on NULL arguments.
TRUE if this geometric object is simple, as defined in the Geometry Model

SQL functions that test spatial relationships
Overlaps(g1 Geometry, g2 Geometry) : Integer
The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN corresponding to a function invocation on NULL arguments.
TRUE if the intersection of g1 and g2 results in a value of the same dimension as g1 and g2 that is different from both g1 and g2 Integer

SQL functions on type Point
X(p Point) : Double Precision
return the x-coordinate of Point p as a double precision number

Y(p Point) : Double Precision
return the y-coordinate of Point p as a double precision number

SQL functions on type LineString
NumPoints(l LineString) : Integer
return the number of Points in the LineString

Posted byA nerdy girl at 12:23 PM 0 comments  

UCOSP code sprint day #1

Today Andrew started off the day with explaining to the group of Ingres UCOSP students the general overview picture of how a user at the browser level, Tomcat, GEOServer/Map Server, Geotools and Ingres DMBS fit together. It's decided that the 4 students from University of Waterloo and University of British Columbia work on the Geotools communication with the Ingres DBMS, and that me working on the implementation of SQL functions while Sara test them out.

We have also decided the goal of the code sprint for the Geotools group to figure out where the code that need to be modified sit, what are the road blocks, and what is the schedule of the work for the rest of the team. It's clear for the Ingres SQL group what need to be done, so the goal of the code sprint will be having 1 patch completed and if not, what is the road block to it and the schedule fo the work for the rest of the team.

We had pizza lunch and I met with some sponsors who is those that support us financially. I have also talked in person to some other graduate students and professors who I have been talking to on IRC/mailing list in previous term, and they are working on the analysis of the performance of Ingres. Hope that I can learn more from them/together for this semester!

Posted byA nerdy girl at 12:19 PM 0 comments