PIE SDK与Python结合说明文档
1.功能简介
Python是一种跨平台语言。无论是在Windows、Linux、Unix还是Mac Os系统,我们都可以使用Python。甚至在Linux、Unix及Mac OS系统内已经集成了Python。语法简洁优美, 简单,易学。拥有强大的标准库及第三方库。本示例程序实现了Python算法与PIESDK集成功能,使得在PIE中也可以调用Python写的算法(以Python图像裁剪算法为例,使用了ArcGIS的arcpy库)。
2. 功能实现说明
2.1. Python算法
2.2. 实现思路及原理说明
Python写的算法是一个*.py文件,我们可以通过直接给Main函数传参来调用,也可以使用IronPython库使Python与C#结合,达到直接调用Python函数的目的。本示例实现方法主要使用第一种(第二种方法IronPython库,直接添加引用即可,详见示例程序)。
Python算法往往使用了很多第三方库,在调用时需要先把三方库的路径添加到sys.path中,需要注意的是,若使用IronPython,有些非Python语言写的文件如(*.pyd)无法被识别,import时会报错(如本示例第二种方法,arcgisscripting.pyd加载报错),这时只能使用Main函数方法。
方法一:通过Main传参
|
第一步 |
New一个进程对象 |
|
第二步 |
设置进程执行程序为python.exe |
|
第三步 |
构造参数,将算法文件(.py)和算法参数一并传入,以空格间隔。 |
|
第四步 |
启动进程 |
方法二:使用IronPython
|
第一步 |
创建脚本引擎对象ScriptEngine |
|
第二步 |
添加python搜索路径(若需要) |
|
第三步 |
创建scope并导入python脚本文件 |
|
第四步 |
构造算法需要的参数 |
|
第五步 |
执行算法 |
2.3 核心接口与方法
|
接口/类 |
方法 |
说明 |
|
ScriptEngine |
CreateScriptSourceFromFile |
导入Python脚本 |
|
ScriptScope |
GetVariable () |
获取脚本中的方法 |
|
ScriptEngine |
SetSearchPaths() |
设置python搜索路径 |
2.4. 示例代码
|
项目路径 |
百度云盘地址下/PIE示例程序/14.SDK拓展开发/ 03PIESDK与Python结合/ BlendWithPython |
|
数据路径 |
百度云盘地址下/PIE示例数据/栅格数据/ |
|
视频路径 |
百度云盘地址下/PIE视频教程/14.SDK拓展开发/ 03PIESDK与Python结合.avi |
|
示例代码 |
|
/// Python图像裁剪 |
|
PIE SDK与Python结合说明文档的更多相关文章
- PIE SDK与OpenCV结合说明文档
1.功能简介 OpenCV是基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 ...
- PIE SDK与GeoServer结合说明文档
1. GeoServer简介 GeoServer是OpenGIS Web服务器规范的J2EE实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新.删除.插入操 ...
- PIE SDK与Matlab结合说明文档
1.功能简介 Matlab是三大数学软件之一,它在数学类科技应用软件中在数值计算方面首屈一指.Matlab可以进行矩阵运算.绘制函数和数据.实现算法.创建用户界面.连接其他编程语言的程序等,主要应用于 ...
- Pandas数据分析python环境说明文档
1. 要求windows系统 2. pycharm编程环境并要求配置好python3.x环境 pycharm可在官网下载,下面是链接. https://www.jetbrains.com/zh/pyc ...
- PIE SDK 文章目录索引
1.PIE SDK介绍 1.1. PIE软件介绍 1.2. PIE SDK介绍 1.3. PIE支持项目介绍 1.4. PIE.NET-SDK插件式二次开发介绍 1.5. PIE.NET-S ...
- Java 调用python说明文档
Java 调用python说明文档 通过java调用python脚本主要如下三种方式: 1.直接执行python脚本: 2.执行python.py文件: 3.使用Runtime.getRuntime( ...
- Highcharts选项配置详细说明文档(zz)
http://www.helloweba.com/view-blog-156.html Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明 ...
- ICE中间件说明文档
ICE中间件说明文档 1 ICE中间件简介 2 平台核心功能 2.1 接口描述语言(Slice) 2.2 ICE运行时 2.2.1 ...
- 《暗黑世界GM管理后台系统》部署+功能说明文档
http://www.9miao.com/product-10-1073.html <暗黑世界GM管理后台系统>部署+功能说明文档 <暗黑世界GM管理后台系统>部署+功能说明文 ...
随机推荐
- 基于Ajax的文件上传使用FileInput插件(使用谷歌翻译作者的原文,大致意思是对的,自己把握)
bootstrap-fileinput 说明文档:http://plugins.krajee.com/file-input 有许多人希望学习使用bootstrap-fileinput jQuery插件 ...
- Java IO输入输出流 FileWriter 字符流
字节缓冲流 //为什么要使用包装流,使用包装流是为了提高读写操作的性能. public class Packing_flowDemo { public static void main(String[ ...
- UIWebView分页显示
問題:使用iOS UIWebView時,載入本地html檔案,但是該檔案太大,結果螢幕畫面形成一長條型顯示,雖然用滾動畫面可以看見整個html檔案,但是滑來滑去,不好用. 目標:用UIWebView載 ...
- Android sutdio单元测试 简单使用步骤
1.简介 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.比如一个函数,一个方法等 2.添加依赖 dependencies { testCompile 'junit: ...
- Oracle 已连接到空闲例程或ORA-01034: ORACLE not available
因为是本地数据库没有重要资料,所以可以随便自己折腾. 出现问题原因:从生产数据库导入一个表到本地库测试,因数据量过大,在导入4-5个小时后,手动中断导入.是否异常关机不能确定. 之后再打开数据库出现一 ...
- angular 引入第三方库
第一步 --save:自动写入package.json 第二步: 第三部: 为了让typescript识别$ 第四步:
- linux系统上安装mysql5.6(详细步骤)
为了学习mycat 尝试在虚拟机上装mysql(看了别人的博客比划着安装),但装了两次都没成功.因此总结了如下步骤 有需要的朋友可以试下(linux需要联网) mysql-5.6.26.tar.gz百 ...
- Promise超时情况
export const ERROR_PROMISE_TIMEOUT = 'ERROR_PROMISE_TIMEOUT'; export default function (promise, time ...
- 「Luogu 1471」 方差
题目背景 滚粗了的HansBug在收拾旧数学书,然而他发现了什么奇妙的东西. 题目描述 蒟蒻HansBug在一本数学书里面发现了一个神奇的数列,包含N个实数.他想算算这个数列的平均数和方差. 输入输出 ...
- fputs()
原型:int fputs(const char *str, FILE *stream) 参数解释: const char *str : const限制函数内部修改指针指向的数据(在函数形参使用cons ...