[Gfoss] Concatenazione di stringhe in uno shapefile

Andrea Peri aperi2007 a gmail.com
Gio 23 Maggio 2013 10:30:59 CEST


io proverei a usare OGRINFO con la clausola -sql




Il giorno 23 maggio 2013 09:25, Alessandro Sarretta <
alessandro.sarretta a gmail.com> ha scritto:

>  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 a 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 a gmail.com> <alessandro.sarretta a 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 a 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 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.
>> 638 iscritti al 28.2.2013
>>
>
>
>
> --
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------
>
>
>
> --
> Alessandro Sarretta
>
> e-mail: alessandro.sarretta a 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/
>
>


-- 
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20130523/6595b8f1/attachment-0001.html>


Maggiori informazioni sulla lista Gfoss