Обрабатываем геоданные быстрее с многопоточностью в ArcGIS Desktop

В арсенале пользователей настольной версии ArcGIS сейчас есть два приложения: старый, добрый ArcMap и новое, флагманское — ArcGIS Pro. Как раз ArcGIS Pro сейчас улучшается и расширяется в первую очередь. В частности речь идет о многопоточной геообработке. Для версии ArcGIS Pro 2.1 доступно уже 70 инструментов геообработки (более чем в два раз больше по сравнению с ArcMap 10.6), которые поддерживают параллельные вычисления, т.е. могут задействовать все ядра вашего компьютера для расчётов. Некоторые из таких инструментов даже получили новые названия и доступны только в Pro, например Pairwise Buffer (построение буфера с поддержкой многопоточности) и Pairwise Dissolve (слияние поддержкой многопоточности).

Для использования всех ядер вашего процессора необходимо убедиться, что инструмент поддерживает многопоточность (проверяется по справке) и далее в параметрах среды настроить параметр Parallel Processing Factor. Рекомендуем прочитать про данный параметр в справке, т.к. есть свои нюансы, например,  при хранении данных в SQL Server Express — эта бесплатная версия СУБД разрешает не более трех одновременных подключений. Каждый работающий ЦП требует подключения к серверу. Также ПО, на котором работает инструмент, например, ArcGIS Desktop, считается одним подключенным процессом, в результате чего для параллельной обработки остаются только два подключенных процесса.

Инструменты, которые поддерживают многопоточность в версии ArcGIS Pro 2.1:

Analysis Tools

                    • Intersect
                    • Pairwise Intersect
                    • Union
                    • Update
                    • Identity
                    • Clip
                    • Erase
                    • Graphic Buffer
                    • Pairwise Buffer
                    • Pairwise Dissolve
                    • Split

3D Analyst Tools

                    • Intervisibility
                    • Regularize Building Footprint
                    • Classify Las Building
                    • Reclassify
                    • Viewshed 2

Conversion Tools

                    • Multipatch To Raster

Spatial Statistics and Space Time Pattern Mining

                    • Spatially Constrained Multivariate Clustering (Spatial Statistics)
                    • Local Outlier Analysis (Space Time Pattern Mining)

Spatial Analyst Tools

                    • Viewshed 2
                    • Weighted Overlay
                    • Weighted Sum
                    • Zonal Statistics
                    • Zonal Statistics As Table
                    • Reclassify

Geostatistical Analyst Tools

                    • Areal Interpolation Layer To Polygons
                    • Cross Validation
                    • Densify Sampling Network
                    • Diffusion Interpolation With Barriers
                    • EBK Regression Prediction
                    • Empirical Bayesian Kriging
                    • Create Geostatistical Layer
                    • GA Layer To Contour
                    • GA Layer To Grid
                    • GA Layer To Points
                    • GA Layer To Rasters
                    • Moving Window Kriging
                    • Gaussian Geostatistical Simulations
                    • Generate Subset Polygons
                    • Global Polynomial Interpolation
                    • IDW
                    • Kernel Interpolation With Barriers
                    • Local Polynomial Interpolation
                    • Radial Basis Functions

Data Management Tools (Raster and Mosaic Dataset tools)

                    • Add Rasters To Mosaic Dataset
                    • Analyze Mosaic Dataset
                    • Build Footprints
                    • Build Mosaic Dataset Item Cache
                    • Build Overviews
                    • Build Pyramids and Statistics
                    • Build Seamlines
                    • Color Balance Mosaic Dataset
                    • Compute Camera  Model
                    • Compute Control Points
                    • Compute Tie Points
                    • Copy Raster
                    • Export Mosaic Dataset Items
                    • Export Tile Cache
                    • Generate Point Cloud
                    • Generate Raster Collection
                    • Generate Raster From Raster Function
                    • Import Tile Cache
                    • Interpolate From Point Cloud
                    • Manage Tile Cache
                    • Register Raster
                    • Split Raster
                    • Synchronize Mosaic Dataset

Image Analyst Tools

                    • Weighted Sum
                    • Zonal Statistics

 

 

GeoAnalytics Tools

                    • Calculate Density
                    • Create Space Time Cube
                    • Find Hot Spots
                    • Detect Incidents
                    • Find Similar Locations
                    • Calculate Field
                    • Copy To Data Store
                    • Aggregate Points
                    • Join Features
                    • Reconstruct Tracks
                    • Summarize Attributes
                    • Summarize Within
                    • Create Buffers

Стоит также заметить, что на скорость геообработки, связанной с большими размерами входных и выходных данных, например растров, влияют также и характеристики жёстких дисков. Рекомендуется использовать физические накопители (SSD) на вашем компьютере. Максимальная производительность обычно достигается, если входные данные, выходные данные и временные данные находятся на SSD, а не на жестких дисках (HDD).

Тестирование многопоточности

Для тестирования многопоточности мы использовали 11 миллионов точек адресов на территорию РФ, чтобы построить вокруг них геодезический буфер с размером 500 метров. Для построения была задействована машина с процессором Intel Xeon (10 ядер), расчёт выполнялся в ArcGIS Pro инструментом Pairwise Buffer с со значением 100% для Parallel Processing Factor, т.е. для расчётов были задействованы все десять ядер процессора. Время на обработку составило минут 17 минут 40 секунд. При этом ресурсы оперативной памяти практически не были задействованы во время расчётов, а только ресурсу CPU, исходные данные были размещены в файловой БГД на SSD диске, сюда же был записан результат расчётов.

Аналогичный расчет в ArcMap на этой же машине классическим инструментом Buffer, который не поддерживает многопоточность — за 2 часа работы инструмент так и не продвинулся дальше 0%.

Быстрее работает и калькулятор полей с применением выражений Arcade. Так специалисты Esri заполняли атрибуты для 20 000 объектов, что заняло около 3 секунд в Pro и около 1 минуты в ArcMap.

Вычисление полей с помощью выражений Arcade в ArcGIS Pro работают гораздо быстрее