Categories
PostGIS

PostGIS count, sum, average value per aggreazioni GROUP

SELECT “PROVINCIA”, count(*),
sum(st_area(st_transform(st_setsrid(“SP_GEOMETRY”,4326),32632))),
avg(st_area(st_transform(st_setsrid(“SP_GEOMETRY”,4326),32632)))
FROM public.”Comuni_MapInfo”
GROUP BY “PROVINCIA”

Categories
PostGIS QGis tutorial WebGIS

Modificare con QGis le geometrie di una mappa online con PostGIS e LeafletJS

Questa soluzione ci permette di aprire con QGis i dati cartografici pubblicati su una mappa web, pubblicata ad esempio con LeafletJS.

Sto usando un sistema operativo Windows 10 e mediante il software PuTTY, creo un tunnel ssh alla porta 5432 di un server con PostGIS.

La modifica dei dati quindi è possibile farla con il potente software QGis, che legge nativamente la connessione con un database Postgres; in questo i modo i dati, estratti direttamente dal database in formato GeoJson, vengono visualizzati subito sulla mappa web.

Categories
PostGIS

Usare PostGIS con QGis: connessione e import shapefile

PostGIS, 3 puntate con GISTIPS

  1. guarda il video #1 su YouTube
  2. guarda il video #2 su YouTube
  3. guarda il video #3 su YouTube
Categories
PostGIS Ufficio tecnico digitale

Quale è il ruolo dei DataBase nei nostri progetti GIS?

Spesso non ce ne accorgiamo, ma molti software e applicazioni che usiamo tutti i giorni usano i DataBase. La potenza di calcolo dei computer e la diffusione della banda larga, ci permettono di avere una panoramica di soluzioni molto ampia. In questo video ho provato a simulare (con i Lego) il rapporto che ha un DataBase con il lavoro di ufficio che svolgiamo tutti i giorni.

guarda il video su YouTube

Categories
PostGIS

Usare “group by” e “copy to CSV” con PostGIS

In questo video tutorial vediamo come raggruppare le geometrie in base ad alcuni campi e successivamente esportarle in CSV per avere una tabella più facilmente gestibile. I comandi principalmente usati sono GROUP BY e COPY funzioni native di Postgres. Nel tutorial viene utilizzato QGis, ma in questo caso è solo per la visualizzazione dei dati. Infatti l’obiettivo è quello di estrarre dei dati non-geometrici, che spesso è comodo per fare ulteriori ricerche o semplicemente per inserirli in una relazione.

YouTube video tutorial

GROUP BY

Select cod_adb, adb, delibera
FROM pg_pericolosita_alluvione
GROUP BY cod_adb, adb, delibera
-- Commento: adb è la colonna con i nomi
ORDER BY adb

COPY

COPY (
  Select cod_adb, adb, delibera
  FROM pg_pericolosita_alluvione
  GROUP BY cod_adb, adb, delibera
  ORDER BY adb
)
to '/home/pjh/Desktop/temp/pg_pericolosita_alluvione_group.csv' DELIMITER '|' CSV HEADER;

Riferimenti utili

Categories
Map tutorial PostGIS QGis tutorial

Come creare un file DXF da uno ShapeFile

Ho riscontrato qualche problema con l’esportazione di file DXF da degli ShapeFile, non per le geometrie, ma per i Layer. Ho seguito qualche forum, di cui link sotto, ma alla fine sembra non funzionare con QGis, anche se metto “Layer” con la lettere maiuscola. Il risultato è che il DXF ha comunque tutti layer=0.

Ho provato anche ad usare lo strumento di processing v.out.dxf di GRASS, che è integrato direttamente in QGis, ma neanche questo mi ha mantenuto i campi della colonna Layer.

Sul mitico forum gis.stackexchange ho trovato la discussione che mi ha dato la soluzione getting dxf files out of postgresql, anche se ho dovuto aprire il terminale …

ogr2ogr -f DXF $TITLE$.dxf PG:"dbname='$DBNAME$' host='$HOST$' port='$PORT$' user='$USER$' password='$PASSWORD$'" -sql "select $COLUMN$ as Layer, the_geom from $TABLE$"

Con una piccola modifica nella stringa SQL, dove invece di $COLUMN$ as Layer, the_geom ho semplicemente messo * perchè mi dava errore (tipo che non riusciva a definire Layer

ERROR 1: DXF layer does not support arbitrary field creation, field 'layer2' not created.

ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created. Anche se nella schermata si vedono degli errori, perchè non riusciva a processare tutte le colonne, visto che ho inserito * (ALL), ma la colonna Layer gli è piaciuta.

vista DXF con Layer in QGisAdesso dovrò dirgli in qualche modo che nella stringa SQL, devo proiettare l’SR da 3003 in 32632 … ma questo penso di risolverlo con una view!

Link di riferimento ai forum:

  • http://gis.stackexchange.com/questions/29675/how-to-export-a-layer-to-dxf-from-qgis
  • http://gis.uster.ch/dokumentation/datenkonvertierung/ogr
  • http://freegeographytools.com/2007/converting-shapefiles-and-arcinfo-coverages-to-autocad-dxf-format

 

 

Categories
PostGIS

Corso GIS Avanzato A03 – usare POSTGIS

usare POSTGIS

  • importare una geometria
  • importare una tabella
  • creare un join dei 2 import
  • creare una view
  • altri esempi di SQL
Categories
PostGIS

Corso GIS Avanzato A02 – uno sguardo a POSTGIS

esempio Geodatabase PostGIS

  • hai scaricato OSGEO live?
  • scopriamo pgADMIN per gestire il geo-db
  • tabelle e query
  • modifica tabelle
  • la prima stringa SQL
Categories
Map tutorial PostGIS

geotagging: mappa i tuoi interessi (01)

Quale interesse vorresti mappare? o più semplicemente: ti interessa il geotagging? Si può mappare ogni cosa, il famoso GEOTAG ormai è una moda … discutiamone… io vorrei mappare: alberi, cantieri, luoghi abbandonati, ecc. E tu?

emigrante: io mi fermo e scatto una foto con Geopaparazzi [play], quando trovo un frigorifero, tapparelle, o sacchetti di cemento quagliato, eternit, scarti di potatura … a fianco dei bidoni dell’immondizia nel posto in cui vivo.

Categories
Map tutorial PostGIS QGis tutorial

duplicate adjacent vertex

Regione Lombardia – Guida ai controlli delle forniture Piani di Governo del Territorio

GUIDA AI CONTROLLI SUGLI SHAPEFILE

Controllo 8: assenza degenerazione. Ogni anello non ammette vertici adiacenti identici (considerando tutte le coordinate previste dal tipo) . I record errati sono elencati nella sottosezione “analisi dei valori dei tipi geometrici” e sono classificati col tipo errore “duplicate adjacent vertex”.

VIDEO: https://youtu.be/RUk-z5ZECeA

Nel “report analitico” prodotto come risposta alla consegna per i “controlli preventivi” sugli shapefile, alla voce QUALITÀ GEOMETRICA: Analisi dei valori dei tipi geometrici, vengono elencati le geometrie, secondo il CODICE IDENTIFICATIVO, dove sono presenti gli errori. In questo post, trattiamo quelli contrassegnati con: duplicate adjacent vertex.

La prima idea che mi è venuta è semplificare le geometria, per andare ad eliminare i vertici “troppo vicini”; non avendo trovato un plug-in adatto per QGis, sono passato subito a PostGIS. Il passaggio a PostGIS (non vedevo l’ora), è stato necessario anche per il fatto che, il tool di QGis (v 2.0.1) vector -> geometry tools -> check geometry validity non mi dava errore sulla geometria segnalata dalla Regione.

Come faccio ad individuare questi punti “molto vicini” duplicate adjacent vertex ?

L’operazione che seleziono è quella di estrarre i nodi dai poligoni, etichettarli e vedere le etichette che si aggregano sopra i punti: se ne trovo più di una, vuol dire che li ci sono più punti molto vicini.

Altri metodi

  • utilizzare il plug-in di QGis (installato di default v 2.0.1) vector -> geometry tools -> extract nodes
  • utilizzare ST Simplify e mediante la seguente Stringa SQL, verificare la tolleranza accettabile per eliminare i DAV. Contro serve solo come output finale per la Regione, ma non ti permette di indiduare i vertici da sistemare nella geoimetria originale.

find duplicate adjacent vertex whit ST_SnapToGrid e ST_NPoints

Occhio a non semplificare troppo!

Risorse