kikita & Maps

GIS,spatial and artificial intellegence learning and share

在执行地统计分析之前,浏览、熟悉、检查自己的数据是至关重要的。绘制和检查数据是地统计分析过程中的必要阶段,我们可以从这些工作中获得一些先验知识,指导后续的工作。


Stage 1 绘制数据

通过ArcMap的图层渲染方案绘制数据,我们可以获得对数据的第一印象。

例如,使用单一符号渲染了解采样点的疏密分布,通过分类渲染了解采样点高值低值的分布,等等。


Stage 2 检查数据

绘制数据后,使用 探索性空间数据分析 (Exploratory Spatial Data Analysis,ESDA) 工具来执行数据探索的第二阶段。这些工具提供了一种比绘制数据更加量化的方式来检查数据,有助于我们更深入地了解正在研究的现象,有助于我们对插值模型的构建方式做出更加正确的决策。

ESDA 工具包括:

Read more »

从 ArcGIS 10.1 版本开始,我们可以创建 python工具箱 来自定义脚本工具,这种工具箱相比较上一篇提到的标准工具箱。有着独特的优势,具体二者的区别总结过,看这一篇


认识 Python工具箱

Python 工具箱 (.pyt) 是一个简单的文本文件,可以在任何文本编辑器中或者任何 Python IDE 中创建、查看和编辑。要确保 ArcGIS 正确识别 Python 工具箱,工具箱类的名称必须是 **Toolbox**。在 Toolbox 类的 __init__ 方法中定义工具箱的属性,这些属性包括 alias、label 和 description,我们可以按照 帮助文档 中的模板构建 Python 工具箱模板。

如下代码中创建了包含一个工具(名为 Tool)的 Python 工具箱:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import arcpy


class Toolbox(object):
def __init__(self):
"""Define the toolbox (the name of the toolbox is the name of the
.pyt file)."""
self.label = "Toolbox"
self.alias = ""

# List of tool classes associated with this toolbox
self.tools = [Tool]


class Tool(object):
def __init__(self):
"""Define the tool (tool name is the name of the class)."""
self.label = "Tool"
self.description = ""
self.canRunInBackground = False

def getParameterInfo(self):
"""Define parameter definitions"""
params = None
return params

def isLicensed(self):
"""Set whether tool is licensed to execute."""
return True

def updateParameters(self, parameters):
"""Modify the values and properties of parameters before internal
validation is performed. This method is called whenever a parameter
has been changed."""
return

def updateMessages(self, parameters):
"""Modify the messages created by internal validation for each tool
parameter. This method is called after internal validation."""
return

def execute(self, parameters, messages):
"""The source code of the tool."""
return


动手做做

下面我就依据这个模板,写一个简单的脚本工具箱。需求是批量裁剪,我希望我只提供一个文件夹或者数据库等这样的工作空间和一个裁剪区域面,就可以批量完成工作空间内全部数据的裁剪工作,并且无视栅格还是矢量,一并裁剪。

Read more »

上一篇中我们了解到有两种方式在 ArcGIS 中创建 Python工具,这一篇就来看看如何在标准工具箱中创建脚本工具。


ArcGIS Help 中脚本工具的帮助过于枯燥,在这里,我以一个具体的实例来总结构建脚本工具的过程,我要实现的需求是做个快速实现羽化边界效果的小工具,预期得到如下的效果:

上面效果在ArcMap中完全可以手工运行几个工具实现,但是过程稍微繁琐,那么需求来了,如何做个自定的一键生成羽化边界的小工具?



1 准备Python脚本文件

第一步,先写好脚本工具的核心 —— python脚本文件。


Read more »

ArcGIS Desktop 自带有大量的工具,可以执行各种各样的地理处理任务。通过 python 我们可以灵活地调用这些工具,把工具组织成自己的工作流,甚至创建一些新的工具。今天就说说在 ArcGIS 中创建 Python工具这个话题。


在 ArcGIS 中我们可以通过两种方式来创建python工具:

一种是在标准工具箱下创建 脚本工具:

一种是创建 脚本工具箱


到这里,可能你会有和我一样的疑问,二者有什么区别

第一种 脚本工具 需要我们首先在 ArcGIS 环境中创建一个工具箱,然后添加 Python脚本文件(*.py),并通过向导来精确配置参数。这种工具很适合脚本工具的初学者,通过前面说的三步就可以搭建出一个自定义工具。但是这种模式也有一些缺点,工具箱和源脚本是分离的,我们很难集中的去管理和维护它们。

Read more »

比起死板硬朗的矩形渔网,六边形的蜂巢网格越来越受欢迎。推荐个小工具,实现下面的效果:



1.

准备自己的兴趣区域和需要统计的要素。例如,下面的美国国境面(浅灰色),机场点数据。



2.

Read more »
0%