Come tagliare una funzione vettoriale nella misura di un set di dati raster esistente usando arcpy


9

Ho un set di dati raster troncato con polilinee (dallo strumento Contorno) sovrapposte (vedi allegato). Sto cercando di tagliare le polilinee nella misura del set di dati raster, che sembra abbastanza semplice, ma ho provato più cose e non riesco a farlo funzionare. Alla fine dovrò codificarlo usando arcpy, ma penso per ora, solo una spinta nella giusta direzione su quale strumento realizzerà questo mi aiuterà per ora.

Grazie.

PS Sto usando ArcInfo 10.0

clipPolylinesToRasterExtent

Risposte:


12

È possibile utilizzare l'estensione del set di dati come geometria poligonale con lo strumento Clip, come nell'esempio Utilizzo delle geometrie negli strumenti di geoprocessing .

import arcpy

pnt_array = arcpy.Array()
extent = arcpy.Raster(in_raster).extent
pnt_array.add(extent.lowerLeft)
pnt_array.add(extent.lowerRight)
pnt_array.add(extent.upperRight)
pnt_array.add(extent.upperLeft)

poly = arcpy.Polygon(pnt_array)

arcpy.Clip_analysis(in_lines, poly, "out_dataset")

Grazie!! Prima di vedere questo post, sono stato in grado almeno di farlo manualmente all'interno di Arc, ma sembra che il mio modo sia leggermente contorto. Ho creato uno shapefile fittizio e poi ho costruito un poligono con gli strumenti dell'editor che delineavano i confini dei dati raster. Quindi ho usato lo strumento clip sulle polilinee usando questo fittizio shapefile come quello che dovrebbe tagliare anche loro. Ho ricevuto un errore, ma poi ho usato la funzionalità per il poligono e ho usato il risultato di questo come shapefile per il taglio delle polilinee e ha funzionato !! Avrò bisogno di arcpy quindi grazie per quello !! :-)
niklas24

2

C'è un modo semplice per farlo.

Per prima cosa ottieni l'estensione dell'immagine raster.

impostarlo come proprietà di estensione dell'ambiente

Quindi, ad esempio, utilizzare la funzione di copia anziché l'analisi delle clip

arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)
...some code here to ...
arcpy.CopyFeatures_management(shapefile,outFeatureClass)
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.