[postgis-users] JASPA (JAva SPATial) for PostgreSQL and H2released. HSQLDB is planned to be supported.

José Carlos Martínez jomarlla at cgf.upv.es
Sat Jul 24 10:41:05 PDT 2010

Hi all,

Paragon Corporation escribió:
> Muhammad,
> We don't know too much about JASPA project, but here is our general feeling
> based on the underlying architecture and quick glance at the docs.
> From our general understanding JASPA implements all its PostgreSQL functions
> using Java stored procs.  There are several consequences of this some good
> and some bad
> The Good
>  1) JASPA uses JTS directly so doesn't suffer from the need to port JTS
> functionality to GEOS.  So you will probably see new features introduced in
> JTS in Jaspa sooner than you will see it in PostGIS.
yes I think so but jaspa uses a slightly modifed version of JTS. Some 
M/Z handle

Anyways, a JTS original library can be modified in less than one hour.
> 2) Good/Bad -- Not tied to a specific database platform (though it only
> really supports PostgreSQL/HSQL at the moment) -- I kind of consider this a
> good/bad of rasdaman as well.  Its good in the sense that you can run it in
> other databases, but bad in the sense that your architecture is either more
> complicated and/or you don't play as nicely with the native functionality a
> database offers.  JASPA its not quite as much of an issue as it is for
> rasdaman since the functions are implemented as PostgreSQL stored functions
> and can use just like you use PostGIS functions.

I understand your point of view but one of the goal (I think the most 
important one) of jaspa
is to aim to be easier to extend than postgis even for a not computer 
science expertice
and to be able to use different databases. Im not talkig about plpgsql 
(this one is easy) but
lwgeom, geos, native postgres funtions, etc.

The proof that jaspa is easier to extend is: just with 22000 lines of 
code jaspa does almost everything postgis1.4 does.
and its been developped just for one person in one year
(of course thanks to the use of other open source projects as postgis, 
jts, geotools, etc.)
I think it means jaspa is really easy to extend and to support new 
Another point is GeoTools which I think its another stargate for new 

> 3) They seem to implement a lot of things above the core JTS -
> http://jaspa.forge.osor.eu/Introduction.html#id474917
> Like Delaunay triangles and some topology.  Sounds interesting.
> http://jaspa.forge.osor.eu/ST_DelaunayTriangles.html

Jaspa supports some JTS 1.11 new functionality as you said for example 
delaunay triangles.
Of course this is not a jaspa praiseworthy as it is a JTS merit.
 From jaspa 0.1 we will start developing new functionalities as:

- hibrid topology
- topology rules
- cluster/tolerance
- geodesic support

> They claim PostGIS 1.4 compatibility, but not sure if that means 100% -- it
> does look like they do support at least ST_Dump functions (and have
> implemented some of the PostGIS non-geography functions)
> http://jaspa.forge.osor.eu/differences.html#id498020
About PostGIS 1.4 compatibily I meant that almost all the postgis 
methods are implemented in jaspa. It is not 100% but it is close to 
that. Around 94% of the postgis methods work in jaspa. Im working in 
postgis long transaction methods (they are already implemented but i 
need a pljava patch to support to cancel triggers..luca ferrari did one 
already)..with the long transaction methods the supported
functions are 97%.

> The Bad
> While PostgreSQL does support java stored procs, its not a common choice.
> I'm not sure exactly why.  As I recall a while back -- it had something to
> do with the way Java classes were created and so forth similar to why .NET
> is not a supported option in PostgreSQL. Times have changed though so may
> not be a bad option now. This means
> A) Most likely it will be harder to install on all platforms.  
yes I agree, but
Pljava will support postgres 9 at least. Hope  jaspa project helps to 
keep pljava project running too.
Anyways, we are just talking about postgres but
H2 is easier in this sense and I hope we can develop jaspa for hsqldb soon.
The huge problem  now: h2 and hsqldb do not support spatial indexes.
> B) Not as tried and tested as C binding functions.  So things such as memory
> management between the core PostgreSQL layer and library layer  I suspect
> will be better in PostGIS than they are in JASPA.
yes I think so. pljava is not as fast as directly accessing sql types 
from c and
jaspa is not c. Anyways if you check the performance its not bad at all, and
the performance about some methods can be surprising.

> C) There are lots of functions implemented directly in PostGIS  that are not
> in JTS or GEOS (and GEOS is not a direct port in and of itself of JTS -- it
> has some 3D glue that JTS lacks).  Example are my favorite functions
> implemented directly in PostGIS -  All the geography support introduced in
> PostGIS 1.5,  ST_ClosestPoint (native PostGIS), ST_AsGML/ST_GeomFromGML/KML,
> ST_Dump functions  etc.
> I would say about 50 percent of the functions in PostGIS are not derived
> from JTS/GEOS though there are some overlaps like ST_Distance that PostGIS
> chose to reimplement because it was more efficient than using the JTS/GEOS.
> I'm not sure if Jaspa implements these on their own or not. It looks like
> from their documentation they try to be very compatible with PostGIS.
The not GEOS/JTS derived functions are working in jaspa too, as I said 
before 94% of the postgis 1.4 methods are working in jaspa.
Jaspa functions can be divided in:

- functions which map JTS functions directly. e. g.: st_area
- functions which use JTS objects aimplementing some functionality. e. 
g.: st_addpoint, st_dump
- functions which combine other JTS functions:  e. g.: ST_Nodeline, 
- functions which use GeoTools. e. g. st_transform, st_aswktsrs, 
- own functions. e. g. some linear referencing functions, M,Z 
coordinates in functions.
- functions which have been ported from postgis. e. g. st_snaptogrid

jaspa supports some postgis 1.5 functions: st_geomfromgml, 
st_geomfromkml, st_collectionextract,st_dumppoints.
The geograpy type is not implemented (planned for next release) thats 
why we said postgis 1.4 compatibily and not postgis 1.5.

> Hope that helps,
> Regina and Leo
> http://www.postgis.us
Thanks Regina and Leo to write this email.
Hope you guys can try jaspa when you have a while and give me some feedback.
Anyways you have to think this is an academic project and the goal is 
not to be used in a production enviroment, at least by now. But
it is a project which is easy to research on it, to extend new 
functionalities, to work with other databases or to be embedded in other
java projects as well.


> -----Original Message-----
> From: postgis-users-bounces at postgis.refractions.net
> [mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of muhammad
> imran
> Sent: Friday, July 23, 2010 8:12 PM
> To: PostGIS Users Discussion
> Subject: Re: [postgis-users] JASPA (JAva SPATial) for PostgreSQL and
> H2released. HSQLDB is planned to be supported.
> Dear All,
> What are the advantages of JASPA over PostGIS. If anyone can compare both
> spatial extensions?
> regards,
> Imran
> --- On Fri, 7/23/10, Jose C. Martinez-Llario <jomarlla at cgf.upv.es> wrote:
>> From: Jose C. Martinez-Llario <jomarlla at cgf.upv.es>
>> Subject: [postgis-users] JASPA (JAva SPATial) for PostgreSQL and H2
> released. HSQLDB is planned to be supported.
>> To: "PostGIS Users Discussion" <postgis-users at postgis.refractions.net>
>> Date: Friday, July 23, 2010, 6:33 PM
>>   (sorry for the cross posting)
>> ************* text in english
>> **************************
>> After one year of development, we are pleased to announce the release 
>> 0.1RC1 of JASPA (JAva SPAtial). JASPA potentially brings around 200 
>> spatial functions to any relational database system that supports a 
>> full set of java store procedures. In this 0.1 version JASPA supports 
>> PostgreSQL and H2, and we are already working with HSQLDB.
>> JASPA has a similar functionality as PostGIS 1.4, supporting spatial 
>> operators and predicates, arrays of geometries, spatial aggregates, 
>> etc. JASPA is written in java and is easy to extend using java store 
>> procedures.
>> JASPA is licensed under the GNU GPL.
>> This project has been possible thanks to other open source projects. 
>> Besides to take advantage of these projects we have used their mailing 
>> lists and they helped us a lot. The JASPA team is very grateful to 
>> them:
>> - PostGIS. The mirror on which JASPA has been looking at.
>> - JTS (Java Topology Suite). This library is widely used in JASPA and 
>> many open source initiatives bringing the possibility to use spatial 
>> analysis to the java open source world.
>> - GeoTools (used for projections, KML support and Shape to JASPA 
>> converters)
>> - PostgreSQL and PLJAVA (Java store procedures for
>> PostgreSQL)
>> - H2 and H2Spatial (a Java database and its spatial extension used at 
>> the beginning of JASPA)
>> - HSQLDB (a Java database which probably will be supported by JASPA in 
>> the next release)
>> - gvSIG (a desktop SIG which we hope it can connect to JASPA soon)
>> The authors of this project are:
>>   Jose C. Martinez-Llario. Developer and project director. (1)
>>   Marta Gonzalez-Alcaide. Tester and document builder.
>> (1)
>>   (1)    Deparment of Cartographic
>> Engineering, Geodesy and Photogrammetry at La Universidad Politecnica 
>> de Valencia (Spain).
>>   Any contributor is very welcomed to join the JASPA project.
>> JASPA Download:
>> - The latest software can be found at: 
>> http://forge.osor.eu/projects/jaspa/
>> - The full JASPA documentation can be found at: 
>> http://jaspa.forge.osor.eu/. The online manual (the pdf version has 
>> more than 300 pages) includes the installation process from binaries 
>> and source, a tutorial and a complete reference of the JASPA commands.
>> - Mailing list: 
>> http://lists.forge.osor.eu/mailman/listinfo/jaspa-users
>> - JASPA is hosted on OSOR.EU at: http://www.osor.eu/projects/jaspa
>> ************* text in spanish **************************
>> Tras un año de desarrollo, queremos presentaros la versión 0.1RC1 de 
>> JASPA (JAva SPAtial). JASPA potencialmente implementa alrededor de 200 
>> funciones espaciales  sobre cualquier base de datos relacional que 
>> soporte procedimientos almacenados en java. En esta primera versión 
>> JASPA soporta PostgreSQL y H2. Actualmente estamos trabajando para 
>> incorporar HSQLDB.
>> JASPA tiene una funcionalidad muy similar a PostGIS 1.4, soportando 
>> predicados y operadores espaciales, arreglos de geometrías, agregados 
>> espaciales, etc. JASPA está programado en java y es bastante fácil de 
>> extender ampliando funcionalidades utilizando procedimientos 
>> almacenados en java. JASPA tiene una licencia GNU GPL.
>> Este proyecto ha sido posible gracias a otros muchos proyectos de 
>> código abierto. Además de utilizar estos proyectos, sus 
>> correspondientes listas de correo nos han ayudado de forma rápida y 
>> eficaz. El equipo de JASPA quiere mostrar su gratitud especialmente a:
>> - PostGIS. Es el espejo en el que JASPA se ha mirado.
>> - JTS (Java Topology Suite).  Biblioteca ampliamente utilizada en 
>> JASPA y muchos otros proyectos de código abierto, ofreciendo la 
>> posibilidad de realizar análisis espaciales.
>> - GeoTools (biblioteca utilizada para las proyecciones y el soporte de 
>> KML y los importadores shape).
>> - PostgreSQL and PLJAVA (implementa procedimientos almacenados en java 
>> para PostgreSQL)
>> - H2 y H2Spatial (H2 es una base de datos especial desarrollada en 
>> Java, al inicio de JASPA H2 Spatial y Spatial Box ofrecieron ideas en 
>> la que se basó JASPA)
>> - HSQLDB (base de datos java que posiblemente será soportada por JASPA 
>> en la próxima versión)
>> - gvSIG (SIG de escritorio con el que realmente deseamos que JASPA se 
>> pueda conectar)
>> Los autores de este proyecto son:
>>   Jose C. Martinez-Llario. Developer and project director. (1)
>>   Marta Gonzalez-Alcaide. Tester and document builder.
>> (1)
>>   (1)    Deparment of Cartographic
>> Engineering, Geodesy and Photogrammetry at La Universidad Politecnica 
>> de Valencia (Spain).
>>   Cualquier persona que quiera contribuir es bienvenida.
>> JASPA Download:
>> - Los binarios y el código fuente se puede encontrar en:
>> http://forge.osor.eu/projects/jaspa/
>> - La documentación complete de JASPA en: http://jaspa.forge.osor.eu/. 
>> El manual en línea (la versión pdf tiene más de 300 páginas) incluye 
>> el proceso de instalación de forma detallada de los binarios y si se 
>> quiere compilar el fuente, un tutorial y una guía de referencia de 
>> todos los comandos de JASPA.
>> - Lista de distribución (de momento sólo en inglés): 
>> http://lists.forge.osor.eu/mailman/listinfo/jaspa-users
>> - JASPA está almacenado en OSOR.EU at: 
>> http://www.osor.eu/projects/jaspa 
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users

More information about the postgis-users mailing list