直接使用geopyspark提供的测试代码,我这里稍微进行了改造,步骤如下:

1、pycharm创建python项目geotrellis-python-temple。

2、创建py文件:geotrellis-hello.py

3、代码如下:

#引入以下三个包
import geopyspark as gps
from pyspark import SparkContext
from shapely.geometry import boxdef test():#创建spark配置及上下文conf = gps.geopyspark_conf(appName="geopyspark-example")sc = SparkContext(conf=conf)#获取GeoTiff文件并加载#注意路径,windows使用绝对路径并输入file:///标识,linux不需要盘符,由于spark使用本地模式,不需要hdfs#如果使用hdfs,则使用hdfs://l目录raster_layer = gps.geotiff.get(layer_type=gps.LayerType.SPATIAL,uri='file:///D:/geotrellis/data/hum_daily_2003152.tif',#uri='file:///D:/geotrellis/data/MODIS_MODIS_EFinst_250m_2003.tif',                     #localnum_partitions=100)# 切片图层设置,坐标系设为wgs84,这个建议和输入tif的坐标一致。tiled_layer = raster_layer.tile_to_layout(layout=gps.GlobalLayout(), target_crs=4326)#坐标裁剪范围,按照输入tif的extent设置#area_of_interest = box(138.833923847899, 34.9568230249776, 141.45036774169,37.109457868982)area_of_interest = box(0, -90.25, 360, 90)                            #hum_daily_2003152#area_of_interest = box(87.5781665097915, 29.10363837291, 103.055919463787, 39.3026410747203)                            #MODIS_MODIS_EFinst_250m_2003# 根据范围创建切片masked = tiled_layer.mask(geometries=area_of_interest)# 创建金字塔pyramided_mask = masked.pyramid()# 根据金字塔进行切片#注意输出路径,要求同输入路径for pyramid in pyramided_mask.levels.values():gps.write(#uri='file:///D:/geotrellis/data/python_tem1/output',uri='file:///D:/geotrellis/data/python_tem1/output_1',   #locallayer_name='north-west-philly',tiled_raster_layer=pyramid)if __name__ == '__main__':test()

4、提交给spark执行

由于我是在windows下部署的spark,所以只能使用local模式进行测试。如下:

spark-submit

--jars D:\pythonSystem\Python37\Lib\site-packages\geopyspark\jars\geotrellis-backend-assembly-0.2.0.jar

—master local

--py-files D:\geotrellis\geotrellis-python-temple\build\geotrellis_hello\base_library.zip

D:\geotrellis\geotrellis-python-temple\geotrellis_hello.py

注意:提交的时候需要同时提交geopyspark的jar包,否则报错。

执行结果如下:

说明切片成功。如果需要展示的话还需要进一步渲染。

(二)基于Python的Geotrellis实现-栅格切片的简单案例相关推荐

  1. Python调用Gurobi:Assignment Problem(指派问题)简单案例

    Python调用Gurobi:简单案例 Python调用Gurobi:Assignment Problem简单案例 1. Assignment Problem Model Python调用Gurobi ...

  2. python自动回复qq消息_基于python使用qqbot接入qq做一个简单的文字消息自动回复

    qqbot是一个免费开源的基于smartqq的python插件,如果默认安装有pip,则可以直接在命令行下执行:pip install qqbot安装qqbot,安装成功后可以在命令行输入qqbot ...

  3. 基于python爬虫的论文标题_python爬虫——简单论文标题检索-Go语言中文社区

    有趣的爬虫,独有的意义召唤着我去学习,去尝试.最近有感于每天对于论文的收集,感觉自己的收集速度赶不上论文的更新速度,同时对于自己想找到的论文的收集比较麻烦.因此,学习用python写一个很简单的爬虫, ...

  4. 基于Python的发票OCR-数字识别的简单实现

    目录 大体思路 1 人为预先设好一些数据矩阵之间进行比较 2 处理的准备 2 开始实践 2 环境搭建 3 数据集准备 4 预处理 5 之后我们对其进行二值化 6 寻找数字 9 预设数据 11 2 fr ...

  5. 基于Python实现的在线教育系统考试作业案例源代码APP大作业nodejs程序设计微信小程序计算机

  6. 利用Python实现ARCGIS中栅格计算器的简单功能

    1.加法操作 import arcpy from arcpy import envenv.workspace = "E:\\work\\cppservice\\RasterCalc" ...

  7. arcgis栅格计算器python教程_利用Python实现ARCGIS中栅格计算器的简单功能

    1.加法操作 import arcpy from arcpy import env env.workspace = "E:\\work\\cppservice\\RasterCalc&quo ...

  8. 查看文件二进制编码_小白也能学会系列:用python文件读写代码实例!(简单案例)...

    前言: 不久之前,从一个.dat文件中读取波形数据,通过一个自编码网络进行异常检测.所以特意在此写出来,咱从最基础的文件读写开始吧. 先说数据,是一个int16型的数组.说是数组,但是读取也并不简单. ...

  9. python 随机生成整数 浮点数 字符 排序 简单案例

    #coding:utf8 import random# 随机生成0到1之间的浮点数 a=random.random() print(a)# 随机生成固定范围的浮点数 b=random.uniform( ...

最新文章

  1. 明明白白学C#0.1.2 什么是编程语言
  2. linux命令vgdisplay提示权限不足,linux常用命令总结
  3. 11月16日bd之旅意外参加黄波博士讲座
  4. LeetCode_每日一题今日份_312.戳气球(没懂)
  5. yii2框架获取刚插入数据库的id (原创)
  6. 《Redis官方文档》Redis简介
  7. git21天打卡day12切换分支修改文件
  8. 拟人拟物法求解不等圆Packing问题
  9. 2008新版眼保健操图解
  10. matlab求矩阵特征值的最大值,[转载]MATLAB用eig()函数求【特征值】【特征向量】【归一化...
  11. 股票和外汇究竟哪个更存在风险呢?
  12. 定制Linux系统安装盘,syslinux定制系统启动盘
  13. matlab产生正定矩阵
  14. 3199. 命令行选项
  15. 计算机学业水平考试的选择题,信息技术学业水平考试选择题带答案.doc
  16. Linux系统下如何查看Nvidia显卡芯片型号的两种方法
  17. Lasso 的 python实现
  18. vs2017 c++工程编译解析
  19. 计算机用户被停用,Win10电脑中Administrator账户被停用如何解决
  20. Python查询12306车票和使用selenium进行买票

热门文章

  1. ssm毕设项目基于Java通识课程管理系统v87xr(java+VUE+Mybatis+Maven+Mysql+sprnig)
  2. 利用Java的I/O流实现图片的压缩以及解压
  3. 猴子吃香蕉过河问题分析与扩展
  4. AI行动,解放做表打工人
  5. 【路由器设置※tplink路由器设置方法和详细图解※】
  6. 【OpenCV】异常: cv::Exception,位于内存位置 0x000000000030F440 处
  7. echarts top5监控图
  8. C++ 读写文件(整行读写VSCodeC++环境配置)
  9. 《埃隆·马斯克,创造未来的人》读后感(一)——童年
  10. B站狂神说Spring笔记