免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1237|回复: 17
收起左侧

【干货】在FME的Python环境中安装第三方模块

[复制链接]

665

主题

2万

铜板

34

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
20649

精华勋章爱心勋章地信专家组贡献勋章冰雪节勋章

发表于 2021-10-18 13:45 | 显示全部楼层 |阅读模式
作者:杠铃和薯条
一、关于FME的Python环境的简单介绍
原本是想写一下关于爬虫的第三篇文章的,不过由于准备资料太麻烦。刚好最近手头有很多关于python方面相关的东西。遇上我就偷了个懒,先简单的讲一讲FME当中的Python环境吧。
二、讲在最前面,丢不掉的Python2.7
首先,最重要一句要讲在前面。
在2020版本之后的版本中,FME默认已经不在安装Python2.7环境。经常有小伙伴在使用过程中遇到问题,花费大量时间排查来排查去,最后尴尬的发现,自己没有装Python2.7。
虽然已经不推荐使用Python2.7来处理数据,但因为arcgis10.x版本使用的是Python2.7的缘故……除非你不再使用arcgis10.x,不然,建议还是装上。
三、FME中的Python环境介绍
然后,我们来看一下在fme中的python环境。
FME中的Python环境的入口,位于FME安装目录下,其入口为该目录下的fme.exe文件。
在FME安装目录下打开CMD,键入以下代码:
fme.exe Python
即可看到Python加载成功的消息,它的使用与普通的Python并无差别。
503ea1ebe8d2faf11cd81aa58609c140.png

接着,打开FME desktoP安装目录下的Python文件夹,你会看到里面一堆的第三方库,这就是FME所使用的Python依赖环境。
这个环境下的大部分包,都可以直接在PythonCaller里面imPort即可使用,无需安装。
仔细往下翻,你会惊奇的找到一个叫做“PIP”的文件夹。对,FME是自带第三方库的,我们可以通过它,使用PIP命令进行Python第三方库的安装。
d57b92609c287e0ca6fa736a5eb36d7f.png
当然,我们并不推荐你将第三方库安装到该目录下的,因为如果直接安装在在FME的Python环境中安装第三方模块的安装路径的Python目录下,当安装某些包存在依赖包,会更新FME原本环境下的这些依赖环境,这很容易破坏FME环境的稳定。
我们推荐的第三方库的安装环境位于“我的文档→FME→Plugins→Python”目录下。
4a672e0441f5b43f2c6e7f85ed13ae53.png
位于该目录下的Python依赖库,是多个不同版本的FME质检共享的,这意味着,我安装一次之后,无论是哪一个版本的FME都能导入使用这个第三方库。
在FME Server中,它也是存在着一个同样的环境,它位于如下目录。
C:\ProgramData\Safe Software\FMEServer\resources\engine\plugins\python
接下来,我们就可以使用PIP进行Python第三方库环境的安装了。
四、使用PIP进行第三方库的安装
在软件安装目录下,打开命令行,键入如下命令安装
fme.exe python -m pip install<package_name> --target <package_destination_folder>
以安装openpyxl库为例,则需要运行如下命令:
fme.exe python -m pip install openpyxl --target"C:\Users\admin\Documents\FME\Plugins\Python"
由于国内网络环境的原因,直接使用pip安装有可因为网络问题而报错。因此可使用国内镜像安装,目前国内常用的国内的镜像环境如下:
项目
网址
豆瓣
https://pypi.douban.com/simple
阿里云
https://mirrors.aliyun.com/pypi/simple/
清华
https://pypi.tuna.tsinghua.edu.cn/simple
中科大
https://pypi.mirrors.ustc.edu.cn/simple
在安装时,直接键入只需要在原本的命令行后面添加“-i <镜像网址>”,就可以了。
还是以上面的第三方库为例:
fme.exe python -m pip install openpyxl --target"C:\Users\admin\Documents\FME\Plugins\Python" -ihttps://pypi.tuna.tsinghua.edu.cn/simple
如果使用豆瓣和阿里的镜像,有可能会报错,报错原因其实是因为不信任镜像源网站。将其添加到信任中即可:
fme.exe python -m pip install openpyxl --target"C:\Users\admin\Documents\FME\Plugins\Python" -ihttps://pypi.douban.com/simple --trusted-host pypi.douban.com
五、FME结合Python的成果展示
最后,贴两个个人使用FME的几个小例子:
1、调用arcgis的Python包,将FME里面几个巨耗内存的空间分析转换器能重写了一遍。(在某些特定数据环境下非常方便,避免了FME与arcgis之间因为数据的精度,算法不同而导致的分析结果不同的情况。)2、使用FME结合第三方库,生成真正“图文并茂”的word文章。(通过预先设计好的word模板文件,自动化写出图表、文字,表格齐全的word文档。所有的图、表、文字都是模板运行时自动输出的)
最后生成的效果图如下: 0b5b5fb8bca3fd9722c76e8dfcbe5409.png

总之,当FME遇上Python,GIS软件的“瑞士军刀”和代码界的“瑞士军刀”相互结合,你会有一种,无论遇到什么,我都想用FME去试一试的想法。————————————————版权声明:本文为CSDN博主「fmechina」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/fmechina/article/details/120766955


324

主题

56万

铜板

1172

好友

管理员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
349368

宣传勋章爱心勋章组织勋章官方团队冰雪节勋章

发表于 2021-10-18 13:48 | 显示全部楼层

回帖奖励 +50 个铜板

回复

使用道具 举报

11

主题

2万

铜板

8

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2623

童话节勋章

发表于 2021-10-18 14:38 | 显示全部楼层

回帖奖励 +50 个铜板

6666666666
回复 支持 反对

使用道具 举报

4

主题

6983

铜板

5

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
464

爱心勋章

发表于 2021-10-18 17:01 | 显示全部楼层

回帖奖励 +50 个铜板

发帖辛苦,感谢分享
回复 支持 反对

使用道具 举报

21

主题

9万

铜板

83

好友

地信学员

开开心心每一天

Rank: 12Rank: 12Rank: 12

积分
12124
发表于 2021-10-18 23:33 | 显示全部楼层
谢谢提供好好学习天天向上
回复 支持 反对

使用道具 举报

0

主题

6983

铜板

4

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
372
发表于 2021-10-21 20:43 | 显示全部楼层

回帖奖励 +50 个铜板

谢谢分享。。。。努力学习
回复 支持 反对

使用道具 举报

0

主题

4331

铜板

3

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
214
发表于 2021-11-5 10:27 | 显示全部楼层

回帖奖励 +50 个铜板

谢谢提供分享!
回复 支持 反对

使用道具 举报

6

主题

682

铜板

2

好友

技术员

Rank: 3Rank: 3

积分
51
发表于 2021-11-5 17:08 | 显示全部楼层

回帖奖励 +50 个铜板

发帖辛苦,感谢分享
回复 支持 反对

使用道具 举报

0

主题

4331

铜板

3

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
214
发表于 2021-11-6 10:47 | 显示全部楼层
谢谢分享
回复

使用道具 举报

8

主题

1万

铜板

31

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
1609

地信元老地信专家组名人堂勋章灌水勋章宣传勋章

发表于 2021-11-7 13:16 | 显示全部楼层

回帖奖励 +50 个铜板

发帖辛苦,感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表