Dear gvSIG developers,

when we add a layer from PostGIS to gvSIG 1.9, we can see that two ressource 
intensive operations are performed on the database:

1. A database cursor is created for this layer in 
PostGisDriver.setData(IConnection, DBLayerDefinition), which selects all 
objects from the table
2. A Hashtable is filled in PostGisDriver.doRelateID_FID(), which contains one 
entry for each object from our layer.

We have to work with layers that contain more than 10,000,000 polygons. In that 
case, the cursor allocates many ressources on the database side, so this 
solution does not scale very well for many users. In the second step, gvSIG 
tries to create a Hashtable with >10,000,000 entries, which will create an 
OutOfMemoryException. This will also happen if we use "maxScale" for this layer.

Any hints how gvSIG can handle large layers?

Thank you very much for your help,
  Holger

-- 
Holger Jaekel
phone:  +49 89 121528-75                mailto:[email protected]     
fax:            +49 89 121528-79                http://www.gaf.de       
GAF AG  Arnulfstr. 197          80634 Muenchen  Germany

Vorstand: Dr. Peter Volk, Aufsichtsratsvorsitzender: Marcello Maranesi        
Amtsgericht Muenchen HRB 140 509, Firmensitz: Muenchen



_______________________________________________
Gvsig_internacional mailing list
[email protected]
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional

Reply via email to