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@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).