还记得大学老师给我们讲地理信息系统原理的时候,有一段示列有关井水污染源扩散,那时候没有学ArcGIS课后也没有实践,所以似懂非懂,
今天就做一个简单的井水污染源扩散分布图,arctoolbox工具下空间统计的方向分布(标准差椭圆),他是以空间要素的离散分布的中心趋势、方向趋势。
方向分布(标准差椭圆)工作原理是:
测量一组点或区域的趋势的一种常用方法便是分别计算 x 和 y 方向上的标准距离。
由于该方法是由平均中心作为起点对 x 坐标和 y 坐标的标准差进行计算,从而定义椭圆的轴,因此该椭圆被称为标准差椭圆
1.首先我们先有一份点数据,打开工具。
.
权重字段指是根据输入要素的属性数值来计算。
.
用于分析前对输入要素进行分组,再对分组进行计算,案例分组字段:日期型、整数型、字符型。
可见水井污染源方向分布呈西南——东北,接下来加上加权字段来计算。
虽然图形渲染效果并不是很好,但是arcgis10.4引进R语言无疑对arcgis数据可视化插上翅膀。
有兴趣的可以研究下面的源码。
方向分布(标准差椭圆)工具源码
# coding: utf-8
"""
Tool Name: Directional Trends (Standard Deviational Ellipse)
Source Name: StandardEllipse.py
Version: ArcGIS 10.1
Author: ESRI
This tool measures whether a distribution of features exhibits a
directional trend (that is, whether features are farther from
a specified center point in one direction than in another). The
user may specify an optional weight field and/or an optional
case field.
"""
################### Imports ########################
import os as OS
import sys as SYS
import collections as COLL
import numpy as NUM
import math as MATH
import arcpy as ARCPY
import arcpy.management as DM
import arcpy.da as DA
import ErrorUtils as ERROR
import SSUtilities as UTILS
import SSDataObject as SSDO
import locale as LOCALE
LOCALE.setlocale(LOCALE.LC_ALL, '')
circleDict = {"1_STANDARD_DEVIATION": 1.0,
"2_STANDARD_DEVIATIONS": 2.0,
"3_STANDARD_DEVIATIONS": 3.0}
################ Output Field Names #################
seFieldNames = ["CenterX", "CenterY", "XStdDist", "YStdDist", "Rotation"]
################### GUI Interface ###################
def setupStandardEllipse():
"""Retrieves the parameters from the User Interface and executes the
appropriate co