[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