kikita & Maps

GIS,spatial and artificial intellegence learning and share

背景

ArcGIS Pro像ArcMap一样,其中也嵌入了Python。 不同在于ArcGIS Pro采用了python较新的版本3.4,ArcMap仍然沿用2.x版本。 ArcGIS Pro 1.3版本开始Python环境有点小变化,为了方便包管理esri开始采用Conda。 并且不像开始 ArcGIS Pro 1.1,1.2 版本,需要单独安装Python for ArcGIS Pro,在1.3版本python包随ArcGIS Pro一同自行安装。

文档的原文摘过来能更好的理解esri采用Conda的意图:

Python has a rich ecosystem of preexisting packages that can be leveraged within ArcGIS, but managing which packages are installed on a system can be a complex and time-consuming task, especially when working on multiple projects or trying to share code with others.

To leverage this versatility, the Python community has created methods to easily create projects in multiple versions of Python and simplifies the process of installing nearly all publicly available Python packages. Conda is the most popular and widely used Python package manager.

看到这里,你也也许和我有一样的疑问,啥是Conda?这里 。这页文档是esri刚更新的内容,需要在英文语言版本文档中才能找到。


执行脚本

这些改变,对于习惯在 ArcGIS Pro 内部的脚本命令行中执行脚本的用户并没有多大影响。 但是如果已经习惯了在ArcGIS Pro 之外独立执行脚本,那如下的改变要注意下了。

ArcGIS Pro 的Python包不再是ArcMap默认安装的位置 C:\Python27 ,而是安装在 ArcGIS Pro的安装目录\bin\Python

ArcGIS Pro 采用了的Conda环境为 arcgispro-py3,有几个方式可以访问这个环境。

Read more »

前两天碰到一个关于在 Model Builder 中使用 Make Query Layer 工具的问题,“如何把Make Query Layer结果输入到下一个工具中?”

TIPS: 什么是 Query Layer?

在ArcMap中,我们可以通过定义SQL语句创建Query Layer,来查询存储在DBMS中的空间数据或者非空间数据。 每次在ArcMap中显示或使用Query Layer时,都会执行查询,因此无需生成数据的副本或快照便可显示最新的信息,这尤其适用于处理频繁更改的动态信息。 Query Layer功能适用于 ArcGIS支持的所有DBMS。
~ 详请点这里看 帮助

下面通过一个实例先来说明下Query Layer的使用场景。

为了阐述方便,我找了一份数据稍作修改来模拟这个问题,数据位于基于Oracle的ArcSDE数据库,一个空间数据为点要素类,一个非空间表。

点数据表示事件,每发生一次事件(例如报警电话)就记录一个点,假设理想情况下同一个地址的事件都是重合点,如下图高亮的记录; 非空间表中记录了各个地址的某项分值(例如警力配备得分)。

打开脑洞,假设你是警察局长,需求是,获取每个有完整信息的地址(例如,点位于路的左侧或右侧的信息)的报警电话数,并对比警力配备分值,用于后续的工作,例如指挥调配或者空间统计工作等等。这时,使用Query Layer是个好选择。


Query Layer 返回的记录集可以是包含空间信息的 Feature Query Layer ,也可以是非空间信息的 StandAlone Table。 那么,其实在回到文章开头的问题,“如何把Make Query Layer结果输入到下一个工具中?” 这取决于“下一个工具” 接受的输入数据的类型是什么。


Read more »

防火墙是一种有效的安全策略,如果部署ArcGIS许可的环境中不允许关闭防火墙,你可能会遇到这个错误:ArcGIS administrator 连不到许可服务器,提示错误, “ “xxx.xxx.xxx.xxx”没有有效的许可管理器。请输入一个有效的许可管理器服务器。

那么,如何解决这个问题? 如下。


1 找到 Service.txt 文件

在许可服务器所在的机器上,默认位于:C:\Program Files (x86)\ArcGIS\License10.x\bin 目录下。 打开之后,类似下图:

通过修改此配置文件可以控制ArcGIS许可服务器后台进程使用哪个端口。


1Plus 知其所以然

如果你对问题的原因不感兴趣,那么直接跳至2。

Read more »

摄于 2014-5-4, Paros Island, Greece

瞄了一眼《太阳的后裔》,看到里面的沉船湾,又想起了那片海,真的美!

0%