[Gfoss] PointOnSurface SU UNO SHP CON GEOMETRIA DI TIPO "Multipolygon"

Paolo Corti pcorti a gmail.com
Gio 7 Feb 2013 09:22:39 CET


2013/2/7 Umberto Filippo Minora <umberto.minora a unimi.it>:
> Buongiorno a Tutti,
> dunque premetto che non capisco dove vedere la chiave primaria del campo
> "Geometry" (presente nella mia tabella, immagino creato in automatico dal DB
> Manager o quando go creato il database perché non c'era mai stata prima).
> Spero di non fare una cattiva mossa allegandovi uno screenshot per meglio
> spiegare la mia situazione.
> Nella colonna "Geometry" le celle hanno tutte lo stesso valore
> (MULTIPOLYGON).
> Ho provato a usare la funzione suggerita modificandola un po'(perché pare
> che usando come prefisso "ST_" prima di chiamare "PointOnSurface" sia
> considerato dal programma un errore di sintassi. La funzione viene così:
>
> select PK_UID, pointonsurface (Geometry) as Geometry from '2001_glcrs'
>
> Ovviamente "2001_glcrs"  il nome del mio shp. "PK_UID" è la prima colonna
> della mia tabella (anch'essa creata credo in automatico perché non l'avevo
> mai vista prima). Ho provato anche con gli altri campi, tutti. Il risultato
> è sempre stata una tabella a 2 colonne, la prima contenente il nome del
> campo specificato nella funzione dopo "select", la seconda con un campo
> "Geometry" con celle tutte vuote. Ho provato anche a specificare altri campi
> nella parentesi  dopo "PointOnSurface" e il risultato cambia solo per il
> fatto che al posto di avere celle vuote sotto il campo Geometry, tutte le
> celle hanno invece valore "NULL".
> Any suggestion?
>

Ciao
stavi mandano solo a me e non in lista.
Comunque il fatto che le celle siano vuote non vuol dire che non siano
popolate, il campo geometrico e' binario e non viene visualizzato per
quello probabilmente.
Per verificare se e' effettivamente popolato, prova a convertirlo in
WKT (testo), lanciando la query in questo modo:

select PK_UID, ST_AsText(pointonsurface (Geometry)) as Geometry from
'2001_glcrs'

per quanto riguarda il nome della funziona il fatto e' strano: che si
tratti di una vecchia versione di Spatialite e magari nelle versioni
successive e' stato adeguato al nome definito nelle specifice SQL di
OGC?
A me con il prefisso ST_ funziona. Aspettiamo il parere di Alessandro Furieri :)

ciao
p

-- 
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


Maggiori informazioni sulla lista Gfoss