आर्कगिस डेस्कटॉप में स्थलाकृतिक असभ्यता सूचकांक की गणना?


15

क्या कोई जानता है कि कमांड लाइन ArcInfo वर्कस्टेशन तक पहुंच के बिना आर्कगिस डेस्कटॉप में स्थलाकृतिक असभ्यता सूचकांक की गणना कैसे करें ?

"स्थलाकृत बीहड़ता सूचकांक (TRI) एक माप है जिसे रिले, एट अल। (1999) द्वारा विकसित किया गया है, जो एक डिजिटल ऊंचाई ग्रिड के आसन्न कोशिकाओं के बीच ऊंचाई के अंतर को व्यक्त करने के लिए है। प्रक्रिया अनिवार्य रूप से एक केंद्र कोशिका से ऊंचाई मूल्यों में अंतर की गणना करती है। और इसके चारों ओर तुरंत आठ कोशिकाएँ। फिर यह उन सभी को सकारात्मक और औसत बनाने के लिए आठ ऊँचाई के अंतर मानों में से प्रत्येक को चुकता करता है। स्थलाकृतिक असभ्यता सूचकांक तब इस औसत के वर्गमूल को लेते हुए व्युत्पन्न होता है, और औसत ऊँचाई में परिवर्तन होता है। ग्रिड पर किसी भी बिंदु के बीच और यह आसपास का क्षेत्र है। " - जेफरी इवांस द्वारा एक एमल आर्स्कस्क्रिप्ट से


ArcGIS के संस्करण पर निर्भर करता है arcscripts.esri.com/details.asp?dbid=12646 पिछले मंचों मंचों से कुछ चर्चा मंचों .esri.com/Thread.asp?c=93&f=982&t=145448 अनियंत्रित, लेकिन खोज में शब्द jennessent.com शामिल है। /arcgis/surface_area.htm

जवाबों:


18

मैं आर्कगिस के बाहर देखने की सलाह दूंगा) मुफ्त गदल सॉफ्टवेयर का उपयोग करना बहुत आसान है: http://www.gdal.org/gdaldem.html

gdaldem TRI input_dem output_TRI_map

या यदि आप इसे गागा गिज़ में पसंद करते हैं: http://www.saga-gis.org/saga_modules_doc/ta_morphometry/ta_morphometry_16.html


11
+1 मैं हमेशा आर्कगिस समस्याओं के गैर-आर्कजीएस समाधानों को देखकर सराहना करता हूं :-)। यह सिद्धांत का मामला है, विशेष रूप से आर्कजीआईएस के प्रति विरोधी नहीं। एक एकल सॉफ्टवेयर समाधान में बंद होने से बचना चाहिए: न केवल यह पेशेवर रूप से जोखिम भरा है, यह बौद्धिक रूप से स्थिर है।
whuber

मुझे पता है कि मैंने एक आर्कगिस विशिष्ट समाधान के लिए कहा था, लेकिन मैं इसे प्रत्यक्षता के कारण स्वीकार कर रहा हूं। GDAL उपयोगिताएँ प्राप्त करना और स्थापित करना आसान है, सार्वभौमिक रूप से कक्षा में सर्वश्रेष्ठ के रूप में स्वीकार किया जाता है, और इस विशेष उत्पाद को उत्पन्न करने की कमान सादगी की परिभाषा है।
मैट विल्की

18

चलो थोड़ा (बस थोड़ा) बीजगणित करते हैं।

केंद्रीय वर्ग में x मान होने दें; x_i, i = 1, .., 8 को पड़ोसी वर्गों में मानों को अनुक्रमित करने दें; और आर स्थलाकृत बीहड़ता सूचकांक होने दें। यह नुस्खा कहता है कि r ^ 2 का योग (x_i - x) ^ 2 के बराबर है। दो चीजें जिन्हें हम आसानी से गणना कर सकते हैं वे हैं (i) पड़ोस में मानों का योग, s = Sum {x_i} + x के बराबर; और (ii) मानों के वर्गों का योग, t = सम {x_i ^ 2} + x ^ 2 के बराबर। (ये मूल ग्रिड और इसके वर्ग के लिए फोकल आँकड़े हैं।)

चौकों का विस्तार

r ^ 2 = Sum {(x_i - x) ^ 2}

= सम {x_i ^ 2 + x ^ 2 - 2 * x * x_i}

= Sum {x_i ^ 2} + 8 * x ^ 2 - 2 * x * Sum {x_i}

= [Sum {x_i ^ 2} + x ^ 2] + 7 * x ^ 2 - 2 * x * [Sum {x_i} + x - x]

= t + 7 * x ^ 2 - 2 * x * [सम {x_i} + x] + 2 * x ^ 2

= t + 9 * x ^ 2 - 2 * x * s

उदाहरण के लिए, एक पड़ोस पर विचार करें

1 2 3
4 5 6
7 8 9

यहाँ, x = 5, s = 1 + 2 + ... + 9 = 45, और t = 1 + 4 + 9 + ... + 81 + 285. फिर

(1-5) ^ 2 + (2-5) ^ 2 + ... + (9-5) ^ 2 = 16 + 9 + 4 + 1 + 1 + 4 + 9 + 16 = 60 = r ^ 2

और बीजीय तुल्यता कहते हैं

60 = आर ^ 2 = 285 + 9 * 5 ^ 2 -2 * 5 * 45 = 285 + 225 - 450 = 60, जो जांच करता है।

कार्यप्रवाह इसलिए है:

एक डीईएम दिया।

  • [डीईएम] की गणना एस = फोकल राशि (3 x 3 वर्ग पड़ोस में)।

  • DEM2 = [DEM] * [DEM] की गणना करें।

  • [DEM2] की गणना t = फोकल योग (3 x 3 वर्ग पड़ोस में)।

  • गणना करें r2 = [t] + 9 * [DEM2] - 2 * [DEM] * [s]।

वापसी r = Sqrt ([r2])।

यह टोटो में 9 ग्रिड संचालन के होते हैं , जो सभी तेज हैं। वे आसानी से रेखापुंज कैलकुलेटर (आर्कगिस 9.3 और पहले), कमांड लाइन (सभी संस्करण), और मॉडल बिल्डर (सभी संस्करण) में आसानी से किए जाते हैं।

BTW, यह एक "औसत ऊंचाई परिवर्तन" नहीं है (क्योंकि ऊंचाई में परिवर्तन सकारात्मक और नकारात्मक हो सकता है): यह एक मूल मतलब वर्ग उन्नयन परिवर्तन है। यह http://arcscripts.esri.com/details.asp?dbid=14156 पर वर्णित "स्थलाकृतिक स्थिति सूचकांक" के बराबर नहीं है , जो (प्रलेखन के अनुसार) x - (s - x) / 8 के बराबर है। ऊपर के उदाहरण में, TPI 5 के बराबर है - (45-5) / 8 = 0 जबकि TRI, जैसा कि हमने देखा, Sqrt (60) है।


1
थैंक यू बिल। मैं एक उपकरण या ऑपरेशन के काम करने की बारीकियों को देखकर सराहना करता हूं। इससे समय और बौद्धिक ऊर्जा के उपयुक्त निवेश के साथ कोई भी व्यक्ति अपने हाथ में लिए गए उपकरणों का उपयोग कर इस काम को अंजाम दे सकता है। यह इस तरह की जानकारी है जो लंबी दौड़ में GIS.se को एक उपयोगी सेवा बनाएगी।
मैट विल्की

1
+1 महान व्याख्या। मुझे लगता है कि इसका मतलब है एक खड़ी लेकिन चिकनी सतह एक सपाट लेकिन ऊबड़ सतह की तुलना में अधिक टीआरआई हो सकती है।
कर्क कुक्केंडल

1
@ किर्क सही है। यदि आप चाहें तो "सापेक्ष" असभ्यता का सूचकांक प्राप्त करने के लिए स्थानीय ढलान के प्रभाव को हटाने के तरीके हैं। हालांकि मैं विवरण बाहर काम नहीं किया है, मुझे विश्वास है कि के कुछ सार्वभौमिक कई घटाकर (ग * क) ^ 2 r2 से - जहां cellsize है और एक ढाल (, है वृद्धि / रन के रूप में नहीं एक कोण के रूप में या प्रतिशत) - चाल करने के लिए चाहिए।
whuber

@ जब भी हमेशा आपके उत्तरों में अद्भुत मात्रा में ज्ञान होता है !! बस एक सवाल कृपया: क्या इसका मतलब यह है कि यह उन कोशिकाओं की टीआरआई की गणना करना संभव नहीं है जो रास्टर के बहुत किनारों पर स्थित हैं? उनके चारों ओर पड़ोसी कोशिकाओं से घिरा नहीं होने के कारण?
मार्को

1
@marco सीमा कोशिकाओं पर भी TRI का अनुमान लगाया जा सकता है। जैसा कि प्रश्न में संकेत दिया गया है, इसे एक योग के बजाय एक औसत के रूप में व्यक्त किया जाना चाहिए, जो मैं यहां दिए गए मानों को 9 से विभाजित करता हूं। सीमा कोशिकाओं पर सूत्र में मान "9" और हर में प्रतिस्थापित करने की आवश्यकता होती है उनके 3X3 पड़ोस के भीतर गैर-शून्य मानों की संख्या: बढ़त कोशिकाओं के लिए 6, कोने की कोशिकाओं के लिए 4। इस तरह के मूल्यों की एक ग्रिड मूल मूल्यों के सूचक ग्रिड के फोकल योग से प्राप्त की जा सकती है (इसमें सभी गैर-नोडाटा कोशिकाओं में 0 है और 0 अन्यत्र)। सूत्रों में स्थिर "9" के स्थान पर उस ग्रिड का उपयोग करें।
whuber

3

द रिले एट अल। (1999) टीआरआई सारांशित चुकता विचलन का वर्गमूल है। यह अनकल्ड विचरण के बहुत करीब है। यदि आप रिले की TRI का कार्यान्वयन चाहते हैं, तो कृपया @whuber द्वारा उल्लिखित कार्यप्रणाली का पालन करें (@ user3338736 द्वारा प्रदान की गई कार्यप्रणाली ने विंडो में अधिकतम मीट्रिक को सामान्यीकृत किया और सेल भिन्नता द्वारा सेल का प्रतिनिधित्व नहीं करता है)।

हमारे पास हमारे Geomorphometry & Gradient Metrics ArcGIS Toolbox में TRI की भिन्नता है जो एक निर्दिष्ट विंडो का प्रसरण है। मुझे यह अधिक लचीला और न्यायसंगत लगता है। रगोसिटी और विच्छेदन सहित कुछ अन्य सतह विन्यास मीट्रिक भी हैं।


धन्यवाद जेफरी। किसी कारण से यह पृष्ठ फ़ायरफ़ॉक्स में शीर्षक को छोड़कर रिक्त है, सोचा कि यह क्रोम में ठीक है; मेरा एक एक्सटेंशन हो सकता है। मुझे कम से कम रिपोर्ट करने में खुशी हो रही है कि स्क्रिप्ट 10.2.2 में अपरिवर्तित हैं (वैसे भी मैंने परीक्षण किया था)।
मैट विल्की

1

-Edit: नीचे दी गई जानकारी गलत है। कृपया सही प्रक्रिया के बारे में बताते हुए व्हीबर द्वारा पोस्ट देखें .....

टीआरआई (रिले 1999) और टीपीआई (जेननेस 2002) समान हैं, लेकिन अलग-अलग हैं।

ArcGIS 10.x का उपयोग करके TRI और TPI की गणना करने के लिए ...

चरण 1: एक डीईएम से 2 नए रेखापुंज डेटासेट बनाने के लिए फोकल स्टैटिस्टिक्स टूल का उपयोग करें।

रेखापुंज 1 "मैक्स") आस - पड़ोस: आयत, ऊँचाई: 3, चौड़ाई: 3, इकाइयाँ: सेल, सांख्यिकी प्रकार: अधिकतम

रेखापुंज 2 "मिन") आस - पड़ोस: आयत, ऊँचाई: 3, चौड़ाई: 3, इकाइयाँ: सेल, सांख्यिकी प्रकार: न्यूनतम

चरण 2: आपके द्वारा अभी बनाए गए 2 रेखीय डेटासेट पर निम्नलिखित कार्य करने के लिए रैस्टर कैलकुलेटर का उपयोग करें।

TRI के लिए: SquareRoot (Abs ((Square ("% MAX%") - Square ("% MIN%")))

TPI के लिए: ("% इनपुट डेम%" - "% MIN%") / ("% MAX%" - "% इनपुट%")

यहाँ नमूना Python कोड है जिसे मैंने TRI के लिए बनाए गए मॉडल से निर्यात किया है ...।

# -*- coding: utf-8 -*-
# ---------------------------------------------------------------------------
# script.py
# Created on: 2014-03-06 08:56:13.00000
#   (generated by ArcGIS/ModelBuilder)
# Usage: script <Input_raster> <TRI_Raster> 
# Description: 
# ---------------------------------------------------------------------------

# Import arcpy module
import arcpy

# Check out any necessary licenses
arcpy.CheckOutExtension("spatial")

# Script arguments
Input_raster = arcpy.GetParameterAsText(0)

TRI_Raster = arcpy.GetParameterAsText(1)
if TRI_Raster == '#' or not TRI_Raster:
    TRI_Raster = "C:\\Users\\Documents\\ArcGIS\\Default.gdb\\rastercalc1" # provide a default value if unspecified

# Local variables:
MIN = Input_raster
MAX = Input_raster

# Process: 3x3Max
arcpy.gp.FocalStatistics_sa(Input_raster, MAX, "Rectangle 3 3 CELL", "MAXIMUM", "DATA")

# Process: 3x3Min
arcpy.gp.FocalStatistics_sa(Input_raster, MIN, "Rectangle 3 3 CELL", "MINIMUM", "DATA")

# Process: Raster Calculator
arcpy.gp.RasterCalculator_sa("SquareRoot(Abs((Square(\"%MAX%\") - Square(\"%MIN%\"))))", TRI_Raster)

यह सवाल में वर्णित टीआरआई नहीं है। वास्तव में, इसे "असभ्यता" को मापने के रूप में बिल्कुल नहीं सोचा जा सकता है, क्योंकि यह तब बदलता है जब आप केवल ऊर्ध्वाधर डेटा को स्थानांतरित करते हैं। उदाहरण के लिए, मानों (1,2, ..., 9) के साथ 3x3 पड़ोस की आपकी टीआरआई sqrt (9 ^ 2-1 ^ 2) = 8.9 होगी, लेकिन मानों में 100 जोड़ देगा (जो सिर्फ डेटा को बदले बिना सतह का आकार बदलना) sqrt (109 ^ 2-101 ^ 2) = 41 देता है।
whuber

0

यह बहुत ही स्थलाकृतिक स्थिति सूचकांक की तरह लगता है, एक प्रक्रिया जिसे मैंने हाल ही में अपनी एक परियोजना के लिए उपयोग किया है। वहाँ एक ArcScript हैईएसआरआई सहायता पृष्ठ पर , ईएसआरआई संसाधन केंद्र पृष्ठ पर एक स्थलाकृति टूलबॉक्स , और जेननेस एंटरप्राइज पेज पर प्रक्रिया पर कुछ और जानकारी है ।


2
TPI खुरदरेपन की तुलना में बहुत अलग मीट्रिक है। कृपया, आइए हम उनका उपयोग करने के मार्ग से नीचे न जाएं। मेरा मानना ​​है कि स्थलाकृतिक स्थिति सूचकांक की गणना पारंपरिक रूप से [डेम - फोकलियन (डीएम)] के रूप में की जाती है।
जेफरी इवांस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.