Кригинг (пакетная обработка)

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Maksir
Новоприбывший
Сообщения: 14
Зарегистрирован: 24 апр 2023, 18:47
Репутация: 0
Откуда: Красноярск

Кригинг (пакетная обработка)

Сообщение Maksir » 06 май 2024, 22:04

Здравствуйте! У меня имеется около 200 shp-файлов, которые содержат в себе точки, и каждый файл мне нужно обработать при помощи Кригинга через модуль Geostatistical Analyst. Знаю, что для того, чтобы выполнить Кригинг нужно запустить "Мастер операций геостатистики", выбрать там геостатистический метод - кригинг, за счет этого можно создать растровый слой из точек. Так можно обрабатывать 1 - 10 файлов, но 200 файлов устанешь обрабатывать. Подскажите, можно ли Кригинг выполнить пакетной обработкой? Как это можно выполнить?
На фото я показывала, как выполняла Кригинг для одного файлаИзображениеИзображениеИзображение
Вложения
EFCofQzEDKc.jpg
EFCofQzEDKc.jpg (315.97 КБ) 534 просмотра
Uj3pnqXOL5c.jpg
Uj3pnqXOL5c.jpg (131.97 КБ) 534 просмотра
DtXE9u1com0.jpg
DtXE9u1com0.jpg (266.99 КБ) 534 просмотра

AlexRomantsov
Завсегдатай
Сообщения: 318
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 137
Ваше звание: хм, сам не знал
Откуда: Томск

Re: Кригинг (пакетная обработка)

Сообщение AlexRomantsov » 07 май 2024, 08:50

Объедините шейп-файлы в один или несколько

crashkkm
Активный участник
Сообщения: 144
Зарегистрирован: 17 окт 2016, 16:37
Репутация: 15

Re: Кригинг (пакетная обработка)

Сообщение crashkkm » 07 май 2024, 10:13

несколько вариантов
1. установить арк про - можно любой инструмент напустить пакетно через интерфейс.
2. написать модель с итератором.
3. питон.

Maksir
Новоприбывший
Сообщения: 14
Зарегистрирован: 24 апр 2023, 18:47
Репутация: 0
Откуда: Красноярск

Re: Кригинг (пакетная обработка)

Сообщение Maksir » 07 май 2024, 16:05

Я составила код для выполнения кригинга, но выводится ошибка о том, что метод CreateGeostatisticalLayer не найден, либо модуль arcpy.ga не поддерживается, хотя у меня версия ArcGis 10.8.
Возможно ли выполнить кригинг через Geostatistical Analyst через код? Можете проверить мой код и указать на недочеты?

Код: Выделить всё

import arcpy
import os

# Путь к папке с shape-файлами
input_folder = r"F:/mol_2_N02/1/11"
# Путь к папке для сохранения результатов кригинга в формате TIFF
output_folder = r"F:/mol_2_N02/1/12"

# Создайте папку для результатов, если она не существует
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# Получение списка shape-файлов
arcpy.env.workspace = input_folder
shp_files = arcpy.ListFeatureClasses("*.shp")

# Проверка наличия shape-файлов
if not shp_files:
    print("Не найдено ни одного shapefile в папке.")
else:
    for shp_file in shp_files:
        # Полный путь к исходному shape-файлу
        input_feature = os.path.join(input_folder, shp_file)
        # Имя выходного файла TIFF
        output_tiff = os.path.join(output_folder, os.path.splitext(shp_file)[0] + ".tif")

        # Загрузите сохраненный файл настроек геостатистического анализа (.xml)
        ga_layer = "F:/mol_2_N02/Kriging.xml"

        # Выполнение кригинга
        try:
            print("Выполняется кригинг для {}".format(shp_file))
            # Создание временного GA Layer из файла настроек
            temp_ga_layer = arcpy.ga.CreateGeostatisticalLayer(ga_layer, input_feature, "grid_code")
            
            # Преобразование GA Layer в растровый слой
            arcpy.ga.GALayerToGrid(temp_ga_layer, output_tiff)
            
            print("Результат кригинга сохранен: {}".format(output_tiff))
        except Exception as e:
            print("Ошибка при выполнении кригинга для {}: {}".format(shp_file, str(e)))

print("Обработка завершена.")
Изображение
Вложения
qO-xkjQZ2U8.jpg
qO-xkjQZ2U8.jpg (86.41 КБ) 398 просмотров

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot] и 3 гостя