kikita & Maps

GIS,spatial and artificial intellegence learning and share

在 ArcGIS Desktop 的问题库中,有一类不算做核心技术问题,但却可能会位列“最常见的问题”之一。简言之一句话,”许可服务器连不上怎么办?!“ 下面就来演绎下问题的诊断过程。

本文仅适用于客户端 ArcGIS Administrator 访问 ArcGIS License Manager 正式版许可的问题的诊断,目前适用于 ArcGIS for Desktop 10.x、ArcGIS Engine 10.x、CityEngine 201x 版本的浮动许可诊断问题。博主说,你可能很难找到第二篇与ArcGIS Desktop 正版授权有关的博客了…… 单机版和破解版请绕行。


问题现象

ArcGIS License Manager 已经授权完毕且成功,可用性(Availability)栏目中总计(Total)和可用(Available)的数目正常,服务器状态也运行正常。

图中的过期栏目中的日期可忽略,内部工作使用的正式许可是限定有效日期的。如果你使用的是购买得到的正式版许可,这里会显示 永久(Permanent),也就是许可是永久有效的。


然而,在通过局域网访问许可服务器的其它机器上的 ArcGIS Administrator 中,连接许可服务器失败。

常见错误提示: “机器名或者IP”does not have a valid Licesne Manager. Please enter a valid License Manager Server.

Read more »

我的地图故事

Esri 的 地图故事 很有意思,用句官媒的广告 “每个人都有要讲述的故事,利用地图的强大功能来讲述您的故事……”。

国庆假期将至,放点有趣的东西。如果喜欢分享,又想记录自己的过往,动手试试不错哦。

我把自己的一次行程做成了地图故事:

  • Trip to Greece

如下这里也可以翻看:

如何制作故事地图 ?

点这里

地图故事中有好多应用程序模板可选,即使不懂技术也能hold住,只需要选个要讲的“故事类型”。

Read more »

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


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 »
0%