Визначте пошкоджені файли форми або растри за допомогою Python або ArcObjects


9

Мене цікавить спосіб виявлення растрових (наприклад, формат ESRI GRID) або пошкоджених форм-файлів, які б перешкодили їх використанню в інструменті аналізу. У мене є велика кількість в структурованому дереві папок і я хотів би мати можливість скриптувати щось, що буде ходити по дереву файлів і мати можливість ідентифікувати растри, які, наприклад, якщо ви намагалися переглянути його в ArcCatalog, це не дозволило б його відобразити і відповідно зробить збій будь-який інструмент для геообробки. Це ж угода для форм-файлів або класів функцій.

Мої переваги полягають у тому, щоб якось це зробити в Python (і я не був би проти модуля python, який не є ESRI чи іншим), але я відкритий для чого завгодно. Я думаю, ви могли б зламати щось разом, спробувавши перевірити геометрію або використати великі літери на якийсь аспект дизайну файлів, але що було б найбільш сенсом? Або є інший спосіб зробити це, який спеціально розроблений для такої мети?

Моя мета - просто мати можливість запустити простий механізм контролю якості на великих великих тижнях попередньої обробки файлів, щоб переконатися, що вони всі звучать, перш ніж я розпочну фактичну пакетну обробку.

спасибі, Томе

Відповіді:


1

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

Крім того, ви можете записати властивості растра в файл журналу і перевірити, що розширення, розміри комірок, типи значень тощо - все, що ви очікуєте.

import arcgisscripting, sys, string, os
gp = arcgisscripting.create()

try:
    # Set local variables
    InRaster = "D:/Data/elevation"
    InPropertyType = "MAXIMUM"

    # Process: GetRasterProperties
    zmax = gp.GetRasterProperties (InRaster, InPropertyType)
    # log these to a file or apply logic here to 
    # make sure values are in the expected ranges


except:
    # Print error message if an error occurs
    # likely to be an invalid raster
    print gp.GetMessages()

Також ваша згадка про тижневу обробку викликає занепокоєння. Цілком ймовірно, що вам доведеться повторити процеси, тож чи є спосіб, який ви зможете розбити на кілька менших проміжних кроків. Таким чином ви можете перевірити результати на кожному етапі, і якщо щось невірно, вам потрібно лише відновитись з попереднього кроку, а не з початку.


дякую за пропозицію щодо отримання растрових властивостей, я вважав, що використання деяких характеристик типу даних, мабуть, буде найкращим моїм ставкою, оскільки немає інструментів перевірки, про які я знав. Що стосується тижневої обробки, то тут немає жодної проблеми, тому що тривалість часу обумовлена ​​лише кількістю растрових та їх розмірами. У мене є надійна програма python, яка обробляє її, але частина проблеми полягає в тому, що дані знаходяться в нашій мережі, тому я втрачаю деяку швидкість, оскільки вони не локальні. Я насправді вбудований функціонал, щоб видалити зі списку обробки ті, які вже є запускався автоматично
turkishgold

Крім того - я, мабуть, просто зроблю щось подібне для форм-файлів з точки зору просто перевірки геометрії (@Craig Williams). Наміром моєї публікації було дослідити, чи є щось там, наприклад, модуль пітонів, що не є ESRI чи іншим ..., але прогноз не настільки хороший на основі цих відповідей.
turkishgold

@turkishgold - Ви можете використовувати ту саму техніку читання форм-файлів та растрових
geographika

2

Для векторних джерел даних використовуйте Перевірити геометрію / Відновити геометрію в тандемі.


1

Що стосується векторних shp-файлів, я б використав щось на зразок перевірки файлів форм на архриптах.
форма перевірки файлів

Для растра Найбільш поширена помилка під час геообробки - недійсний тип поля.
Ви можете розглянути можливість виявлення типів полів у ваших модулях геообробки, а потім запустіть перевірку типів полів у ваших растрах.
Я думаю, що для інших типів помилок або інших речей, які слід враховувати, може бути підпорядкована палітра або глибина кольору, яка не підтримується для певної обробки.

Насправді бути коруптом здається трохи рідше. Але впевнений, що це може статися. Тут можуть бути цікаві речі.
Форуми esri
пошкоджені.
Я думаю, що більшість випадків у цих випадках може бути, якщо використання іншого програмного забезпечення для відкриття файлу та збереження його назад для виправлення формату / параметрів виправляє багато цих проблем.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.