[Gfoss] postgis e srid

Luca Sigfrido Percich sigfrido a tiscali.it
Ven 16 Dic 2011 13:50:27 CET


Ciao Pia,

-1 è il valore che PostGIS utilizza per indicare SRID non definito,
ovvero coordinate cartesiane non georiferite. In realtà capita spesso di
ricevere shape in Gauss-Boaga o UTM senza informazioni sul sistema di
riferimento utilizzato (file prj o codice epsg), se le carichi in PG
probabilmente avrenno SRID -1 (o 0, se carichi il dato con un client che
lo imposta in questo modo).

Puoi usare la funzione ST_SetSRID(geom) di postgis per cambiare lo SRID
di una geometria (senza riproiettarla, ne imposta solo lo srid),
direttamente nella tua update:

update tabella inner join tabella2 ... set tabella.geom =
ST_SetSRID(tabella2.geom, -1);

Con la stessa tecnica puoi assegnare lo srid giusto alla tua tabella se
ti sei accorta di averla caricata con SRID -1. Ovviamente devi prima
eliminare il constraint sullo srid e poi ricrearlo. Meglio ancora guarda
la funzione UpdateGeometrySRID() che sistema tutti i metadati oltre allo
SRID delle geometrie.

Buon lavoro

Sig

Il giorno ven, 16/12/2011 alle 13.32 +0100, Luca Casagrande ha scritto:
> On 16/12/2011 12:57, PiaMic wrote:
> > Voglio sostituire le geometrie di una tabella postgis con altre che 
> > provengono da uno shapefile.
> > La tabella postgres non ha uno srid determinato, anzi, forza lo srid 
> > così
> >
> > CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = (-1))
> >
> > Convertendo lo shapefile in una tabella postgis (tramite Open Jump) 
> > temporanea i poligoni passano con uno srid = 0. Quando faccio un 
> > join tra le due tabelle per fare un UPDATE sulla geometria postgis 
> > mi dà errore, non accettando lo srid.
> > Premesso che al momento non posso cambiare le caratteristiche della 
> > tabella di destinazione, e devo mantenere questo srid=-1, come posso 
> > fare? E che differenza c'è tra srid = 0 e srid = -1?
> >
> 
> Prima ripulite la tabella con DELETE FROM  nometabella e poi usate il 
> plugin di QGis per caricare lo shapefile impostando lo SRID che vi serve.
> 
> Saluti
> Luca
> 
> -- 
> Luca Casagrande
> "I love it when a plan comes together."
> 
> _______________________________________________
> Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
> Gfoss a lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> Non inviate messaggi commerciali.
> I messaggi di questa lista non rispecchiano necessariamente
> le posizioni dell'Associazione GFOSS.it.
> 540 iscritti al 4.11.2011


_____________
PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).

PRIVACY
Le informazioni contenute in questo messaggio sono riservate e confidenziali. Il loro utilizzo e' consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora Lei non fosse la persona a cui il presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema e a distruggere le varie copie o stampe, dandone gentilmente comunicazione all’indirizzo mail del mittente. Ogni utilizzo improprio e' contrario ai principi del D.lgs 196/03 e alla legislazione europea (Direttiva 2002/58/CE).


Maggiori informazioni sulla lista Gfoss