[Gfoss] clip con spatialite

Maurizio Trevisani maurizio.trevisani a gmail.com
Lun 5 Gen 2015 12:50:48 CET


OK.

Per vedere in Qgis le geometrie della tabella creata con la query


create table clipped_lines as
select * from lines, estensione
where st_intersects(lines.GEOMETRY, extension.geom)


occorrono i comandi:

select RecoverGeometryColumn( 'clipped_lines' , 'GEOMETRY' , srid
Integer , geom_type String);

dove SRID e GEOM_TYPE devono essere gli stessi di LINES.

Poi occorre anche una
select CreateSpatialIndex( 'clipped_lines' , 'GEOMETRY');

(che andava aggiunta anche nei miei esempi).

Ciao,
Maurizio






Il 05/01/15, Andrea Peri<aperi2007 a gmail.com> ha scritto:
> La query di matteo non clippa niente.
> Siamo d'accordo.
> Pero seleziona gli elementi che intersecano.
> Guardandola su qgis avrebbe rilevato questo dettaglio.
>
> Il punto è che qgis non gliela mostra perche lui non ha definito la
> geometria.
>
> Per fate ciò visto che sfrutta il
> Create from select
>
> Deve usare recoverygepmetry per dire quale campo ha la geometria.
>
> A.
>  Il 05/gen/2015 12:40 "Maurizio Trevisani" <maurizio.trevisani a gmail.com>
> ha scritto:
>
>> no Andrea,
>>
>> vale comunque la considerazione che la st_intersects testa una
>> condizione, ma non opera una intersezione che invece è realizzata
>> dalla st_intersection.
>>
>> in ogni caso è bene non banalizzare le questioni che ci sono dietro un
>> clipping.......
>>
>> ciao,
>> Maurizio
>>
>> Il 05/01/15, Andrea Peri<aperi2007 a gmail.com> ha scritto:
>> > Dovrebbe essere Recoverygeometry .
>> >
>> > Cerca il nome esatto nella pagina dell SQL sul sito di spatialite.
>> >  Il 05/gen/2015 12:21 "Andrea Peri" <aperi2007 a gmail.com> ha scritto:
>> >
>> >> USA re cover geometra x informare spatialite di quale sia il campo
>> >> geometrico.
>> >>  Il 05/gen/2015 11:54 "matteo" <matteo.ghetta a gmail.com> ha scritto:
>> >>
>> >>> Ciao a tutti,
>> >>> ho un problema (sono alle prime armi, abbiate pietà..) con
>> >>> spatialite.
>> >>> Molto in breve, ho due layer un DB di tutta l'italia e un layer su
>> >>> cui
>> >>> vorrei clippare l'italia.
>> >>>
>> >>> Ora, la query che ho lanciato è:
>> >>>
>> >>> create table clipped_lines as
>> >>> select * from lines, estensione
>> >>> where st_intersects(lines.GEOMETRY, extension.geom)
>> >>>
>> >>> dove *lines* sono le polilinee dell'italia e estensione è il layer di
>> >>> clip.
>> >>> La clip viene effettivamente fatta, ma il risultato è una tabella e
>> >>> non
>> >>> un layer spaziale che posso aggiungere alla mappa.
>> >>>
>> >>> Qualche esperto sa darmi una mano?
>> >>>
>> >>> Grazie mille
>> >>>
>> >>> Matteo
>> >>> _______________________________________________
>> >>> Gfoss a lists.gfoss.it
>> >>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>> >>> Questa e' una lista di discussione pubblica aperta a tutti.
>> >>> I messaggi di questa lista non hanno relazione diretta con le
>> >>> posizioni
>> >>> dell'Associazione GFOSS.it.
>> >>> 666+40 iscritti al 5.6.2014
>> >>
>> >>
>> >
>>
>


Maggiori informazioni sulla lista Gfoss