ArcObjects equivalente al pulsante Capovolgi ArcMap?


10

In un'estensione ArcMap, devo capovolgere più righe da una selezione.

Il pulsante Capovolgi ArcMap ti consente di capovolgere solo una funzione alla volta.

Qual è l'ArcObjects equivalente al pulsante Flip di ArcMap?

inserisci qui la descrizione dell'immagine

Risposte:


7

ICurve.ReverseOrientation dovrebbe fare quello che vuoi.

In realtà è disponibile uno snippet di Flip Line Direction Snippet , disponibile nella documentazione online di ESRI.

Ecco un piccolo estratto da esso:

ESRI.ArcGIS.Geometry.ICurve curve = feature.Shape as ESRI.ArcGIS.Geometry.ICurve;
curve.ReverseOrientation();
feature.Shape = curve;
feature.Store();

Grazie! A proposito, c'è un errore nello snippet di Flip Line. la riga "if (! (feature is ESRI.ArcGIS.Geometry.ICurve))" dovrebbe essere "if (! (feature.Shape is ESRI.ArcGIS.Geometry.ICurve))" "
Goldorak84

@ Goldorak84 - sì, è vero ... alcuni di loro si nascondono nei campioni :)
Vinayan,

@vinayan Sto provando a realizzare la stessa cosa, ma in VB.NET. Sei stato in grado di utilizzare ReverseOrientation durante la modifica, ovvero in una sessione di modifica attiva, non avviando un'operazione di modifica a livello di codice?
Barbarossa,

1
@ Barbarossa Ho usato ReverseOrientation all'interno di una sessione di modifica attiva. Tuttavia, "StartEditOperation" (che avvia un gruppo di modifiche all'interno di una sessione di modifica effettiva) sull'oggetto Editor è obbligatorio. Altrimenti, rovinerebbe il tuo stack di annullamento. Cosa ti impedisce di usare quel metodo?
Goldorak84,

Grazie per la risposta. Non stavo considerando lo stack di annullamento. Ora tutto funziona correttamente.
Barbarossa,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.