Grazie Andrea.
Però il dbf non contiene il FID e, per ora, il JOIN in ogr sono riuscito ad applicarlo solo tra uno shapefile e un dbf.
Altra cosa che sto provando è aggiungere un campo nello shapefile in cui copiare i valori del FID, in modo da averceli poi anche nel dbf.
Per la creazione del nuovo campo ci sono, con il comando "|ogrinfo -sql "ALTER TABLE shapefile ADD COLUMN FID_ integer" shapefile.shp|")
Per l'inserimento dei valori, non riesco a capire se con ogr riesco a fare l'update dei valori di un campo...
Ale
On 05/23/2013 09:14 AM, Andrea Peri wrote:
FID è il FeatureID .
Nello shapefile esso corrisponde alla posiione nel record.
Con esso si lega il record degli attributi del dbf con il record delle geometrie nel file shp e con l'indice spaziale nel file .shx.
Nei DBMS , se la tabella è dotata di chiave primaria intera, il FID corrisponde alla chiave primaria. ALtrimenti credo che lo crei con la medesima regola posizionale.
Il giorno 23 maggio 2013 07:26, Alessandro Sarretta <alessandro.sarretta@gmail.com <mailto:alessandro.sarretta@gmail.com>> ha scritto:
Grazie di nuovo Paolo.
Sto giocando ancora con ogr, questa volta per fare un join tra due
shapefiles.
Con il seguente comando faccio il join tra input.shp e
inputJoin.shp, sputando il risultato in output.shp
ogr2ogr -f "ESRI Shapefile" -overwrite output.shp input.shp -sql
"SELECT input.*, CONCAT(substr(input.fieldX,1,2),
substr(inputJoin.fieldY,1)) AS conc FROM input LEFT JOIN
'inputJoin.dbf'.inputJoin ON input.ID = inputJoin.ID"
Quello che non mi torna molto è che sembra che il join si debba
fare (ho trovato alcuni esempi simili) con una tabella dbf e non
direttamente con lo shapefile. Dico che non mi torna perché vorrei
usare il campo FID nella condizione ON del join, ma il FID non
compare nel dbf.
Ho capito male il funzionamento di ogr2ogr?
Ale
On 05/21/2013 05:17 PM, Paolo Corti wrote:
2013/5/21 Alessandro Sarretta<alessandro.sarretta@gmail.com> <mailto:alessandro.sarretta@gmail.com>:
Grazie Paolo,
la concatenzazione funzia a dovere!
Esiste una modalità (o una documentazione per approfondire) per farlo al di
fuori dell'interfaccia di QGIS?
Ale
Puoi usare la sintassi GDAL OGR SQL [1], e mediante ogr2ogr fare una
cosa di questo tipo:
$ ogr2ogr output.shp input.shp -sql 'SELECT *, CONCAT(field1, field2)
AS output FROM input'
ciao
p
[1]http://www.gdal.org/ogr/ogr_sql.html
-- Alessandro Sarretta
e-mail:alessandro.sarretta@gmail.com <mailto:alessandro.sarretta@gmail.com>
skype: alesarrett Web: http://ilsarrett.wordpress.com Twitter:
https://twitter.com/alesarrett Google scholar:
http://scholar.google.it/citations?hl=it&user=IsyXargAAAAJ ORCID:
http://orcid.org/0000-0002-1475-8686 ResearchGate:
https://www.researchgate.net/profile/Alessandro_Sarretta/
_______________________________________________
Gfoss@lists.gfoss.it <mailto:Gfoss@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.
638 iscritti al 28.2.2013
--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
--
Alessandro Sarretta
e-mail: alessandro.sarretta@gmail.com
skype: alesarrett
Web: http://ilsarrett.wordpress.com
Twitter: https://twitter.com/alesarrett
Google scholar: http://scholar.google.it/citations?hl=it&user=IsyXargAAAAJ
ORCID: http://orcid.org/0000-0002-1475-8686
ResearchGate: https://www.researchgate.net/profile/Alessandro_Sarretta/