K Function permutations to create Confidence Envelopes are not using simulated points.
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM079090
已提交
March 15, 2012
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
10.1
修正版本
10.2
状态
Fixed
此漏洞已得到修复。 有关详细信息,请参阅“版本修复”和“其他信息”(如果适用)。
解决办法
To make the correction:1) Navigate to the Scripts folder and locate the <a href="http://KFunction.py" target="_blank">KFunction.py</a> script: <ArcGIS>\Desktop10.0\ArcToolbox\Scripts2) Create a backup copy of this script file (name the copy something like <a href="http://KFunctionSave.py" target="_blank">KFunctionSave.py</a>)... this is just in case something goes wrong.3) Open <a href="http://KFunction.py" target="_blank">KFunction.py</a> with any text editor (like Notepad, for example). Alternatively, from within ArcMap right-click the K Function tool (via the Catalog or the ArcToolbox pane) and select Edit to access the source code.4) Locate the following section of code (at about line 517) and under the line "if not inside:" change the variable "newTable" to "simTable"#### Resolve Simulate Points ####if self.simulate: simTable = GAPY.ga_table() tempN = len(newTable) simID = self.maxID + 1 for i in xrange(tempN): row = newTable[i] id = row[0] x,y = row[1] simTable.insert(id, (x,y), 1.0) if near[id] <= self.stepMax: nearX, nearY = nearXY[id] dX = nearX + (nearX - x) dY = nearY + (nearY - y) point = (dX, dY) inside = UTILS.pointInPoly(point, self.studyAreaPoly, tolerance = self.tolerance) if not inside: newTable.insert(simID, point, 1.0) ## change "newTable" to "simTable" on this line: simTable.insert(simID, point, 1.0) newSimDict[simID] = id simID += 1