Як відрізати векторну функцію в межах існуючого растрового набору даних, використовуючи arcpy


9

У мене відрізаний растровий набір даних із накладеними поліліній (від інструменту контур) (див. Додається). Я намагаюся обрізати полілінії в межах растрового набору даних, що здається досить простим, але я спробував кілька речей і, здається, не можу змусити його працювати. Зрештою, мені потрібно буде кодувати це за допомогою arcpy, але я думаю, що зараз мені допоможе лише натискання в правильному напрямку щодо того, який інструмент це здійснить.

Дякую.

PS Я використовую ArcInfo 10.0

clipPolylinesToRasterExtent

Відповіді:


12

Ви можете використовувати ступінь набору даних як геометрію багатокутника за допомогою інструменту "кліп", як у прикладі "Використання геометрій" у інструментах для геообробки .

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")

Дякую!! Перш ніж я побачив цю посаду, мені вдалося принаймні вручну зробити це в межах Arc, але, напевно, здається, що мій шлях трохи згорнутий. Я створив фіктивне форм-файл, а потім сконструював багатокутник з інструментами редактора, який окреслив межу растрових даних. Тоді я запустив інструмент «кліп» на полілінії, використовуючи цей фіктивний формфайл як те, що він повинен також вирізати. Я отримав помилку, але потім я використав функцію для багатокутника і використав результат цього як файл форми для поліліній, які слід відрізати, і він працював !! Мені знадобиться arcpy, тому дякую за це !! :-)
niklas24

2

Існує простий спосіб зробити це.

Спочатку отримайте масштаб растрового зображення.

встановити його як властивість ступеня середовища

Потім використовуйте функцію копіювання замість аналізу кліпу, наприклад

arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)
...some code here to ...
arcpy.CopyFeatures_management(shapefile,outFeatureClass)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.