Il 14 aprile 2011 14:36, <a.furieri@lqt.it> ha scritto:
On Thu, 14 Apr 2011 14:17:00 +0200, Luca Delucchi wrote
Eccoci di nuovo qui, ho creato una nuova tabella attraverso una
select con ST_Union() e group by, ora vorrei aggiungere la colonna geometrica
alle geometry_columns...
spatialite> select
RecoverGeometryColumn('acque_trento_finali','Geometry',32632,
'MULTILINESTRING','XY'); RecoverGeometryColumn(): validation failed
RecoverGeometryColumn('acque_trento_finali','Geometry',32632,
'MULTILINESTRING','XY')
------------------------------------------------------------------------------------
0
qualche suggerimento?
si, un sacco ...
verificare cosa hai veramente nella geometria
generata da ST_Union();
SELECT DISTINCT
ST_GeometryType(Geometry),
ST_Srid(Geometry),
CoordDimension(Geometry)
FROM acque_trento_finali;
vedrai che probabilmente la Union ti ha
generato qualche geometria strana.
se semplicemente vedi che ci sono dei
LINESTRING (senza MULTI) basta che applichi
la "promozione" del tipo geometrico:
UPDATE acque_trento_finali
SET Geometry = CastToMulti(Geometry);
vedrai che poi dovebbe andare meglio
l'altra volta aveva funzionato, ma questa volta con un'altra tabella no!
qualche altro suggerimento?
SELECT DISTINCT st_geometrytype(geom), st_srid(geom),
coorddimension(geom) from uso_suolo_trentino2008_new;
st_geometrytype(geom)|st_srid(geom)|coorddimension(geom)
||
MULTIPOLYGON|32632|XY
select count(geom) from uso_suolo_trentino2008_new where not isvalid(geom);
count(geom)
0
select count(geom) from uso_suolo_trentino2008_new where geom is null;
count(geom)
0
select RecoverGeometryColumn('uso_suolo_trentino2008_new','geom',32632,'MULTIPOLYGON','XY');
RecoverGeometryColumn(): validation failed
RecoverGeometryColumn('uso_suolo_trentino2008_new','geom',32632,'MULTIPOLYGON','XY')
0
ciao Sandro
--
ciao
Luca
http://gis.cri.fmach.it/delucchi/
www.lucadelu.org