
Necessario: Licenza ArcGIS 9.2
Ciao a tutti,
sono un novizio del GIS, e spero di non fare una domanda trita e banale.
Utilizzo Arcgis 9.0, e dovrei esportare le coordinate dei vertici di una shape lineare che ho creato (per intenderci le x e le y che appaiono in "sketch properties"). Purtroppo in quella finestra non è possibile selezionare e copiare i campi. Altri metodi, ahimè, non ne conosco.
Lo scopo: questo mi servirebbe per calcolare l'asse di un corso d'acqua che scorre (x mia fortuna) esattamente Nord-Sud, facendo la media fra le coordinate Est. Se qualcuno in alternativa sa come calcolare la mediana fra le 2 linee di sponda...
Grazie a tutti!
Ciao a tutti,
spulciando fra le domande che sono arrivate ultimamente mi è piaciuta quella di Gabriele, a cui sono riuscito a dare una risposta però solo utilizzando le nuove funzionalità della 9.2
Ho creato questo post per dare un po’ di visibilità in più al problema per vedere se insieme riusciamo a risolvere il problema di Gabriele anche con le funzionalità della 9.0
In pratica, il buon Gabriele, deve ottenere da uno shape line, una tabella Excell, o access, avente i 2 campi X e Y delle coordinare dei vertici di una linea che rappresenta l’asse di un fiume.
Qual è la soluzione?
1.Trasformare i vertici della linea in punti
2.Aggiungere alla tabella di attributi dei punti appena creati 2 campi, uno dove inserire le coordinate X, e uno dove inserire le coordinate Y
3.QUI SERVE LA NOVEDUE: Utilizzare il nuovo Calcolate Geometry per inserire i valori delle coordinate X e Y. Ovviamente le coordinate seguiranno il sistema di riferimento (prj) dello shapefile.
PASSO 1:
Prima di tutto apri il tuo toolbox e cerca una box (quello che sembra una scatolina degli attrezzi dell’idraulico) che si chiama “Data Managment Tool”.
Dentro la scatolina, c’è un toolset che si chiama “Features” e dentro tale toolset che un tool che si chiama “FeatureVerticesToPoints”. Il tool è immediato: inserisci la linea e ottieni una serie di punti che rappresentano i vertici della linea

PASSO 2:
Aggiungi 2 campi in formato Double nella tabella di attributi dello shape appena creato, uno dove inserire le coordinate X, e uno dove inserire le coordinate Y.
PASSO 3:
Come dicevo prima qui ho sfruttato una nuova funzionalità, per altro molto comoda della versione 9.2. Avete un’idea di come sio possa fare lo stesso con la 9.0, senza il Calcolate Geometry.
Ovvero la domanda in soldoni è questa: C’è una procedura per far scrivere in automatico ad arcGIS 9.0 le coordinate di alcuni punti in due campi, uno per la X e uno per la Y…..a me non è mai capitato.
Comunque, con la 9.2 è un gioco da ragazzi, si apre il menu contestuale, cliccando col dx sul nome del campo e si sceglie Calcolate Geometry. A questo punto si apre una finestra che permette di calcolare in automatico le coordinate dei punti.


Ecco cosa si ottiene!
Gabriele so di non averti aiutato, visto che tu hai la 9.0, ma spero di aver tracciato la strada....
Ciao
Paolo
Etichette: ArcGIS
At 11/5/07 9:18 AM, Conte Oliver
Hai hai hai Paolo, la soluzione era già scritta a pag. 50 del manualone di Arc Map, che fai non lo leggi neanche tu :) :)???.
Infine per completare il post...
Per versioni antecedenti la 9.0 non esiste la funzionalita “FeatureVerticesToPoints” in ArcToolBox, ma la si può trovare nell'estensione XTools scaricabile dal sito della ESRI. I passi poi sono gli stessi.
Per i nostalgici del GIS vintage (ovvero ArcView 3.x) esiste una estensione che si chiama C-Theme Tools che offre la funzionalità Poly(gon)(line) to Point. Per calcolare il valore della coordinata poi nella tabella nel campo X tramite il Field calculator si deve digitare Shape.getX
At 11/5/07 12:10 PM,
Ciao a Tutti, ho provato a seguiri i "passi" di paolo, e non ci sono stati problemi. Ma mi pongo un quesito. In che formato viene restituita la coordinata? se realmente di coordinate si sta parlando dovrei avere un campo di azione da -90 a 90 e da -180 a 180. Come è possibile che si esce da questi valori. Ciao a tutti Davide - Roma
At 11/5/07 12:23 PM, Conte Oliver
Ciao Davide
Il tipo di restituzione del dato dipende esclusivaemnte dal tipo di coordinate in cui sono georefenziati i tuoi dati (geografiche o mentriche) e dal sistema di proiezione - datum ( UTM ED50, UTM Wgs 84, Gauss Boaga, locale ecc). Inotre può dipendere da qual'è il fuso di riferimento dei tuoi dati (es l'Italia nel sistema UTM è divisa tra fuso 32 e 33, per visualizzare i dati in un 'unica proiezione si converte uno nell'altro, va da se che a questo punto i valori limte dei dati nel fuso convertito non rientrano più in quelli canonici di un singolo fuso). Per curiosità che valori ti restituisce ArcGIS ???
At 11/5/07 1:02 PM,
At 11/5/07 1:57 PM, Conte Oliver
Allora dirrei che i tuoi dati sono georeferenziati in coordinate metriche (piane) sistema Gauss Boaga fuso Ovest (più o meno in Lombardia ???). Se vuoi le coordiante geografiche l'unica è che utilizzi un software di conversione di coordinate (lo stesso ArcGIS tra le funzioni presenti in ArcToobox oppure Traspunto che scarichi dalla rete)
Ciao a tutti, non sono proprio un neofita del GIS, ma ben lontano da essere esperto. Comunque questa è l'ennessima volta che questo blog mi toglie fuori dai guai. Mi chiedo solo come quelli della esri si siano accordi solo nella versione 9.2 di quanto un'operazione come questa fosse usata e utile. In ogni caso ringrazio tutti e vi faccio i più sentiti complimenti, spero un giorno di poter essere d'aiuto io a voi.
At 19/6/07 1:11 PM, Marco
At 21/9/07 10:49 AM,
ciao, sono nuovo ma ogni tanto sfrutto i vostri preziosi suggerimenti. Solo per completezza, visto che stavo anch'io cercando di prendere le coordinate di punti ma in Arcview 3.1.
Dopo aver creato le colonne X,Y, nel field calculator digito:
[Shape].getx
(per la Y invece "gety").
Sicuramente è una banalità, ma io mi impasto sempre su quelle per cui magari può essere utile, altrimenti scusate l'intrusione.
saluti
francesco
At 16/1/08 6:49 PM,
Scusate, ma ci ho messo un pomeriggio e alla fine ci sono arrivato:
è sufficiente
1. creare 4 campi nella tabella delle linee (es Xinizio, Yinizio, Xfine e Yfine)
2. Dalla tabella, in corrispondenza del primo campo, aprire ("Calculate Value...")
2. Cliccare sulla spunta "Advanced"
3. In Pre-Logic VBA Script Code scrivere:
Dim dblcoord as double
Dim pCurve as ICurve
Set pCurve = [shape]
dblcoord = pCurve.FromPoint.X
4. Nel campo Xinizio scrivere
dblcoord
5. Ripetere per gli altri campi, sostituendo l'ultima riga al punto 3 rispettivamente con:
dblcoord = pCurve.FromPoint.Y
dblcoord = pCurve.ToPoint.X
dblcoord = pCurve.ToPoint.Y

















Per versioni precedenti alla 9.2, per effettuare la stessa operazione, basta seguire questi semplici passi:
1) Aprire il "Field Calculator"
2) Cliccare sulla spunta "Advanced"
3) In "Pre-Logic VBA Script Code" scrivere:
dim pPoint as IPoint
set pPoint= [Shape]
4) Quindi nella textbox del campo (che per il campo nominato X dovrebbe mostrare "X=") scrivere:
pPoint.x
5) Cliccare "OK"
That is!
Ovviamente per il campo Y scriveremo:
pPoint.y
Saluti