[Gfoss] Problema con PostGIS SRID

strk strk a keybit.net
Ven 23 Maggio 2008 10:31:38 CEST


On Thu, May 22, 2008 at 04:25:31PM +0200, Francesco P. Lovergine wrote:
> On Wed, May 21, 2008 at 02:55:14PM +0200, strk wrote:
> > No, da quando ho scoperto l'esistenza del file .prj ho pensato
> > avremmo dovuto implementare una findSridByProj().
> > Non m'e' mai sembrata una cosa facile, e il .prj non e' documentato.
> > 
> Dunque, ho fatto qualche ricerca e tanto per complicare l'esistenza
> esistono storicamente due formati PRJ usati dal PE di ESRI
> Uno e' il WKT che e' ben documentato:
> 
> http://geoapi.sourceforge.net/snapshot/javadoc/org/opengis/referencing/doc-files/WKT.html
> 
> ed e' trattato anche da GDAL. Nel PRJ, il tutto e' semplicemente
> 'compresso' su una sola riga. Ma esiste anche un formato piu' vecchio
> usato in passato da ESRI e proprietario. Ma diciamo che ce ne freghiamo :-)

Come sai "insieme a te non ci sto piu' guardo le nuvole lassu'".
Quindi, per ricapitolare:
1. spatial_ref_sys ha un campo col WKT.
2. il .proj ha un WKT

Ora, quando importi, che vuoi che succeda ?
Riutilizzare uno SRID esistente se il WKT corrisponde o crearne uno nuovo ?
Nel primo caso, ti serve un findSridByProj().
Quel che non e' facile e' definire l'operatore di uguaglianza....

Se si vuole fare qualcosa un po' smart conviene aggiungere un datatype,
il che significa hard-upgrade di postgis.
Altrimenti una sola funzione che prende due stringhe e fa la comparazione
dopo averle parsate...

Ricorda inoltre che l'output di shp2pgsql NON e' completamente transizionale,
ma divide gli insert in blocchi. Non e' una cosa molto sana se due import
finiscono con aggiungere due SRID con lo stesso WKT...

--strk;



Maggiori informazioni sulla lista Gfoss