Python veya ArcObjects aracılığıyla bozuk şekil dosyalarını veya rasterleri tanımlayın


9

Ben bir analiz aracında kullanılmasını engelleyecek olan bozuk (ör. ESRI GRID biçimi) veya şekil dosyaları tanımlamak için bir yol ilgileniyorum. Ben yapılandırılmış klasör ağacında çok sayıda var ve dosya ağacında yürüyecek ve örneğin ArcCatalog içinde görüntülemeye çalıştıysanız, görüntülenmesine izin vermez kimliği raster kimlik yapabilmek için bir şey komut dosyası olmak istiyorum ve buna bağlı olarak herhangi bir coğrafi işleme aracı başarısız olur. Şekil dosyaları veya özellik sınıfları için aynı anlaşma.

Benim tercihim Python bunu bir şekilde yapmak olacaktır (ve ben ESRI olmayan bir python modülü veya başka karşı olmaz) ama ben bir şey için açık değilim. Sanırım geometriyi doğrulamaya çalışarak veya dosya tasarımının bazı yönlerinden yararlanarak bir şeyi hackleyebilirsiniz, ama en mantıklı olan ne olurdu? Yoksa böyle bir amaç için özel olarak tasarlanmış başka bir yol var mı?

Amacım, gerçek toplu işlemeye başlamadan önce hepsinin sağlam olduğundan emin olmak için bazı büyük hafta süren önişleme dosyalarında basit bir Kalite Kontrol mekanizması çalıştırabilmektir.

teşekkürler Tom

Yanıtlar:


1

Rasterler için neden kullanacağınız tüm rasterlerin özelliklerini (hücre boyutu, kapsam vb.) Çıktı almak için basit bir betik kullanmıyorsunuz? Özelliklerin alınması başarısız olursa, daha gelişmiş bir şey de başarısız olur.

Ayrıca raster özelliklerini bir günlük dosyasına yazabilir ve uzantıların, hücre boyutlarının, değer türlerinin vb. Beklediğiniz gibi olup olmadığını kontrol edebilirsiniz.

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

Ayrıca bir hafta süren işlemden bahsetmeniz biraz endişe vericidir. Muhtemelen süreçleri yeniden çalıştırmak zorunda kalacaksınız, bu yüzden birkaç küçük ara adıma ayırabilmenin herhangi bir yolu var mı? Bu şekilde sonuçları her aşamada kontrol edebilirsiniz ve bir şey yanlışsa, başlangıçtan ziyade yalnızca önceki adımdan devam etmeniz gerekir.


raster özelliklerini alma konusundaki öneri için, veri türünün bazı özelliklerini kullanmanın, farkında olduğum hiçbir doğrulama aracı olmadığı göz önüne alındığında, muhtemelen en iyi bahse gireceğini düşündüm. Bir hafta süren işleme ile ilgili olarak, sorun yok, zaman uzunluğu sadece raster sayısı ve boyutlarından kaynaklanmaktadır. Bunu işleyen sağlam bir python programım var, ancak sorunun bir kısmı veri ağımızda var, bu yüzden yerel olmadıkları için biraz hız kaybediyorum. otomatik olarak çalıştırıldı
turkishgold

Dahası - muhtemelen sadece geometriyi kontrol etmek için şekil dosyaları için benzer bir şey yapacağım (@Craig Williams). Mesajımın amacı, ESRI olmayan bir python modülü veya başka bir şey gibi orada bir şey olup olmadığını keşfetmekti ... ama görünüm bu yanıtlara dayanarak çok iyi değil.
turkishgold

@turkishgold - GDAL ve Python bağlarını kullanarak şekil dosyaları ve rasterleri
geographika

2

Vektör veri kaynakları için Ardışık Geometri / Geometri Onar seçeneğini kullanın.


1

Vektör shp dosyaları kadar arcscripts şekil dosyası denetleyicisi gibi bir şey kullanmak istiyorum.
şekil dosya denetleyicisi

Raster için Coğrafi işleme sırasında en yaygın hata geçersiz alan türüdür.
Coğrafi işleme modüllerinizdeki alan türlerini keşfetmeyi ve ardından rasterlerinizdeki alan türlerini kontrol etmeyi düşünebilirsiniz.
Sanırım diğer hata türleri veya dikkate alınması gereken başka şeyler, paletin dizine eklenmesi veya belirli işlem için renk derinliğinin desteklenmemesidir.

Aslında yozlaşmış olmak biraz daha nadir görülür. Ama emin olun. Burada aranacak bazı şeyler olabilir.
esri forumlar
bozuk dted
Çoğu zaman bu durumlarda dosyayı açmak ve doğru format / paramters düzeltmek için başka bir yazılım kullanarak bu sorunları bir sürü giderir düşünüyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.