Утончение (Thin) (Spatial Analyst)
Резюме
Делает линейные объекты растра более тонкими путем сокращения количества ячеек, представляющих ширину объектов.
Использование
Типичное применение инструмента Утончение (Thin) – обработка сканированной карты изолиний высот. Из-за разрешения сканера и ширины линий на исходной карте, изолинии представлены в результирующем растре как линейные элементы, шириной от пяти до десяти ячеек. После запуска инструмента Утончение (Thin), каждая изолиния будет представлена линейным объектом шириной в одну ячейку.
-
Опция FILTER для удаления коротких линейных объектов, ответвляющихся от основного объекта, использует тот же алгоритм фильтрации, что и инструмент Удаление границ (Boundary Clean). Этот алгоритм может также удалить объекты, размером уже трех ячеек.
-
Определение максимальной толщины входных линейных объектов существенно при выполнении утончения на растрах, где толщина линейных объектов может превышать или оставаться ниже используемого по умолчанию значения максимальной толщины. Лучшие результаты могут быть получены, когда максимальная толщина соответствует самым толстым линейным объектам, которые подлежат утончению.
Описание общего алгоритм, используемого в инструменте Утончение (Thin), можно найти здесь:
Zhan, Cixiang, 1993, A Hybrid Line Thinning Approach, Proceedings Auto-Carto 11, Minneapolis, pp. 396-405
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр, для которого выполняется утончение. Должен быть целочисленным. | Raster Layer |
background_value (дополнительно) |
Задает значение ячейки, которое определит фоновые ячейки. Линейные объекты формируются из приоритетных (расположенных на переднем плане) ячеек.
| String |
filter (дополнительно) |
Устанавливает, будет ли на первой стадии утончения применяться фильтр.
| Boolean |
corners (дополнительно) |
Устанавливает, будет ли выполняться округление или подчеркивание углов в местах поворотов или соединений. Это ключевое слово также используется в процессе преобразования векторных данных для сглаживания кривых или создания четких пересечений или острых углов.
| String |
maximum_thickness (дополнительно) |
Максимальная толщина, в единицах карты, линейных объектов на входном гриде. Толщина по умолчанию равна десятикратному размеру ячейки. | Double |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр утончения. | Raster |
Пример кода
В этом примере растр утончается в местах фоновых значений, равных NoData, и сглаживаются границы при попытке сохранить углы и соединения.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
thinOut = Thin("land","NODATA", "FILTER", "SHARP", 300)
thinOut.save("c:/sapyexamples/output/thinout")
В этом примере растр утончается в местах фоновых значений, равных NoData, и сглаживаются границы при попытке сохранить углы и соединения.
# Name: Thin_Ex_02.py
# Description: Thins rasterized linear features by
# reducing the number of cells
# representing the width of the features.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "land"
tolerance = 300
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Thin
thinOut = Thin(inRaster, "NODATA", "FILTER", "SHARP", tolerance)
# Save the output
thinOut.save("c:/sapyexamples/output/thinoutput")