【GIS】GDAL Python 影像裁剪】的更多相关文章

# -*- coding: utf-8 -*- """ Created on Fri Nov 30 11:45:03 2018 @author: Administrator """ from osgeo import gdal from osgeo import osr import numpy as np import math import time lonMeter = 0.00001141 latMeter = 0.00000899 #M…
本教程的讲义和源码都是取自Utah State University的openGIS课程 相关资料,包括讲义.源码.数据样例,请从此处下载http://www.gis.usu.edu/~chrisg/python/ 本人只是做点翻译,写写学习体会而已,版权属于原作者. 欢迎转载,不过别忘了上面这段话. ================================================== 为什么用open source? 优点 免费,适合个人和小公司 强大的开发工具,找bug更容易…
前言 前一段时间,同事拿来的数据范围太大,用不了那么多(只需要一个乡镇的,结果拿来区县的),太多了加载也是问题.所以就让我给处理下. 由于文件较多,手动裁剪的话,我一个一个用ArcGIS工具箱中的工具进行裁剪,总体下来用了3个小时左右.后面由于需要再次缩小范围,这次再一个一个手动的话那就太坑了.我想到可以用Python写脚本来批量处理. 正文 在安装ArcGIS软件的时候是默认安装了Python的环境的,并且安装了arcpy库.但是,这个Python是2.7的,我以前学习的是用Python3.X…
在互联网上下载的遥感影像都进行过分幅处理,下载下来的影像多是规则的四方形,而在进行遥感影像研究时,多是针对特定区域来进行,比如研究北京市的遥感影像,不在北京市范围内的影像对于研究者就没有利用意义,如果不进行裁剪处理,而是对整幅影像进行分析处理,就会增加很多不必要的工作,既浪费时间又浪费资源,所以根据研究区的范围裁剪出研究区的影像显得十分重要. 本文的目的在于介绍arcgis中的多样裁剪功能,以北京市的遥感影像为例. 本文需要用的软件工具有2个,第一款要用的软件是locaspace viewer,…
最近有个项目,其中有个功能是要将遥感影像按标准图幅分割,一开始用AE的接口,慢的让人抓狂,就改用GDAL,速度提升很大.我主要通过http://blog.csdn.net/liminlu0314/学习GDAL.本篇主要记录GDAL实现分割的代码,下篇用AE写个demo. int CutImageByGDAL(const char* pszInFile,const char* pszOutFile,double XMin,double XMax,double YMin,double YMax,co…
环境:VS2010,C#,GDAL1.7 读取影像: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.…
影像读取 并缩放 读取大影像某一部分,并缩放到指定大小,我们有时会用如下代码: #include "gdal.h" #include "gdal_priv.h" #include "gdalwarper.h" void main() { GDALAllRegister(); CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO");//support Chinese…
一.概述 遥感影像和地理坐标进行关联的方式一般有好几种,一种是直接给出了仿射变换系数,即6个參数,左上角地理坐标,纵横方向上的分辨率,以及旋转系数.在这样的情况下,求出某一像素点的地理坐标非常easy,直接用公式能够求出,详细代码例如以下: void CPL_STDCALL GDALApplyGeoTransform(double *padfGeoTransform, double dfPixel, double dfLine, double *pdfGeoX, double *pdfGeoY…
安装过程: python包是从C++包中编译出来的,所以需要将源码下载进行编译安装 1.GDAL中的矢量数据处理OGR依赖于Geos,在安装GDAL之前要安装Geos Geos的下载地址:http://download.osgeo.org/geos/geos-3.5.0.tar.bz2 cd geos-3.5.0 ./configure --prefix=/opt/source/geos-3.5.0/build --enable-python make make install ./build/…
在上篇实现了遥感影像的切割,本篇讲切割前的准备.主要分为以下几步: (1)将影像的投影坐标转换为地理坐标,以便于之后的图幅划分.AE坐标转换函数如下 private bool Proj2Geo(ISpatialReference pspr, double xProj, double yProj, ref double xGeo, ref double yGeo) { if (pspr is IGeographicCoordinateSystem) return false; IProjected…
我们使用的是Image中的crop(box)功能,它需要一个参数box,元组 类型,元组包括4个元素,如:(距离图片左边界距离x, 距离图片上边界距离y,距离图片左边界距离+裁剪框宽度x+w,距离图片上边界距离+裁剪框高度y+h) 如图:(x, y, x+w, y+h), x,y是裁剪框左上角的坐标, x+w,y+h是右下角的坐标 # -*-coding:utf-8-*- from PIL import Image im = Image.open("renren.jpeg") # 图片…
import cStringIO import io import base64 from PIL import Image, ImageTk def img_crop_to_file(request): #获取文件 img_data = request.POST.get('imgUrl') ext = img_data.split('base64,')[0].split('/')[1].split(';')[0] img_data = img_data.split('base64,')[1]…
"""用Pythonp批量裁剪图片""" from PIL import Imageimport matplotlib.pyplot as pltimport os # 定义待批量裁剪图像的路径地址IMAGE_INPUT_PATH = 'D:/2_Class'# 定义裁剪后的图像存放地址IMAGE_OUTPUT_PATH = 'D:/2_Class[0]'# 定义裁剪图片左.上.右.下的像素坐标BOX_LEFT, BOX_UP, BOX_RIGH…
最近项目使用Cesium平台基于WegGl做web地球,其中关于地形数据有一种支持格式为terrain的地形数据.这种格式可以通过一个python工具切dem来得到. 下面记录下配置gdal+python开发环境,系统是win7 64位,不过gdal和python是32位的,没什么影响(当时找对应版本弄了半天,最新的几个版本都有bug,就把我用的程序打包了,方便后面下载,下载). 首先安装numpy-1.10.1-win32-superpack-python2.7.exe,这个是python的环…
"""用Pythonp批量裁剪图片""" from PIL import Image import matplotlib.pyplot as plt import os # 定义待批量裁剪图像的路径地址 IMAGE_INPUT_PATH = 'D:/2_Class' # 定义裁剪后的图像存放地址 IMAGE_OUTPUT_PATH = 'D:/2_Class[0]' # 定义裁剪图片左.上.右.下的像素坐标 BOX_LEFT, BOX_UP, B…
读写影像可以说是图像处理最基础的一步.关于使用GDAL读写影像,平时也在网上查了很多资料,就想结合自己的使用心得,做做简单的总结. 在这里写一个例子:裁剪lena图像的某部分内容,将其放入到新创建的.tif文.以此来说明GDAL读写影像的具体实现. 1.打开图像 用GDAL打开lena.bmp,实现如下.注意这里打开图像,指的是获取图像的头文件,以此得到图像的一些信息,没有涉及到读取像素操作. GDALAllRegister(); //GDAL所有操作都需要先注册格式 CPLSetConfigO…
一个小测试程序开发全过程实录,完全新手入门级的实例,如果你还在为处理大影像而发愁,来试试这个称手的工具吧. Imagec 开发日记 2013-6-25 需求: 影像数据切割,重采样 数据切割的要求是简单的给予矩形的等分切割,并以2的幂次为分割单元,无需使用AOI裁切, 重采样需要实现多种采样模式,用户可以切换采样模式(下文中所提供的代码只是利用了RasterIO的一个特性使用了默认的最近邻重采样方法) 基本思路 考虑是否存在使实用的gdal接口, 自行设计,利用GDAL的读写接口完成数据输入输出…
从python的语法上看,简单得不能再简单了. 想学它,请移步廖雪峰python2.7教程以及python3.这实在是最好的入门教程.参考资料太多: 外国的教程 Python 入门指南 Python 的练手项目有哪些值得推荐 Python奇技淫巧 哪些 Python 库让你相见恨晚   Python入门 缺点 如果你是全栈型的工程师,那么你需要注意的它和其他语言的不同之处.它并没有一些基础的特性,例如: 没有switch的功能,用if-else代替,也可以用字典来代替switch 函数重载缺失,…
以下是programcreek.com通过分析大量开源码,提取出的最经常使用的python库. 1. sys    (4627) 2. os    (4088)  3. re    (3563)  4. time    (3195)  5. datetime    (2214)  6. random    (2135)  7. unittest    (1928)  8. logging    (1909)  9. urllib    (1884)  10. subprocess    (175…
技术背景 海洋地形数据主要是通过美国全球地形起伏数据(GMT)获得,数据格式为grd(GSBG)二进制数据,打开软件通过是Surfer软件,surfer软件可进行数据的编辑处理,以及进一步的可视化表达等功能操作:由于Surfer软件不支持二次开发,没有提供相应的SDK供开发者进行使用,所以这一切只能通过相应类似的技术进行实现,首先,数据的读取,如何通过编程实现数据的读取操作呢?这里就要说一下GIS软件所使用的一个开源库-GDAL,GDAL库的具体解释资料,请查阅官方网站[https://www.…
Python之路,Day14 - It's time for Django 本节内容 Django流程介绍 Django url Django view Django models Django template Django form Django admin Django流程介绍 Django URL Example Here’s a sample URLconf: from django.conf.urls import url from . import views urlpattern…
Python之路,Day14 - It's time for Django   本节内容 Django流程介绍 Django url Django view Django models Django template Django form Django admin Django流程介绍 Django URL Example¶ Here's a sample URLconf: 1 2 3 4 5 6 7 8 9 10 from django.conf.urls import url   from…
主要内容:Django基础进阶之:Django 流程.Django URL.Django Views.Django Models.Django Template.Django Admin Django 流程(图片来自大王): Django URL url捕获到的参数总是字符串!!! 总的urls.py文件: 通过include导入二级(app级)的urls.py处理url app01下的urls.py文件: Django Views views主要进行逻辑处理,返回情形常见的有三种: 1. Ht…
1.算法功能简介 图像裁剪的目的是获取选定的影像范围区域.图像裁切工具提供像素范围裁切.矢量裁切.栅格图像裁切和几何图元裁切四种方式. 像素范围裁切是基于像素坐标获取矩形裁切区域的裁切方式:矢量裁切是基于矢量地理坐标获取任意形状裁切区域的裁切方式: 栅格图像裁剪是基于栅格文件的坐标获取裁剪区域的裁剪方式: 几何图元裁切是基于交互方式在主视图上绘制多边形来获取裁切范围的裁切方式. PIE支持算法功能的执行,下面对图像裁剪算法功能进行介绍. 2.算法功能实现说明 2.1. 实现步骤 第一步 算法参数…
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. 实现思…
作者:朱金灿 来源:http://blog.csdn.net/clever101 最近应同事的请求帮忙研究下使用C#版的gdal库读取hdf文件,今天算是有一点成果,特地做一些记录. 首先是编译C#版的gdal库,请参考下面两篇文章: 1. GDAL源码剖析(三)之Swig编译和帮助文档生成 2. Windows下编译C#可用的GDAL附带netCDF格式支持库的一点拾遗 不过我没有遇到安全透明代码无法调用本机代码的问题,倒是遇到了OSGeo.GDAL.GdalPINVOKE"的类型初始值设定项…
作为一名图像处理方面的工程师,在面对大数据量的遥感影像时,往往会利用到强大的GDAL库,但是GDAL库却没有方面的算法函数进一步进行处理:同时我们看到Opencv库能提供强大的算法支持,却对大数据影像没有办法,因此两者的结合就显得十分有必要. 以本篇博客为开头,首先利用GDAL进行影像的读取,实现转换成OpenCV库中的Mat格式. cv::Mat GDAL2Mat(string strName) { GDALAllRegister(); // 注册... GDALDataset *poData…
开始研究遥感影像的分割,尝试去通过gdal对影像进行读取并对图像进行分割.过程中遇到了许多问题,现总结如下. 1.error1:range must be finite 报这个错误是因为数组中有Nan值.一开始很纳闷,因为readasarray的图像在envi里打开并没有问题,黑边也作了处理.查询satckoverflow后发现是因为影像太大,无法读取,崩溃导致nan.通过采用分块读取的方法解决了问题. 但是仍有不足,这里的分块读取分割成四部分,不够intelligence.后续将作改进. 2.…
1 gdal_merge.py: 合并(Merge)/镶嵌(Mosaic)工具.要求图像必须是相同坐标系统.具有相同的波段数:可以不同分辨率,可以有重叠区域(后加入图像覆盖先加入的图像). 注意:只能使用nearest重采样方法. gdal_merge.py [-o out_filename] [-of out_format] [-co NAME=VALUE]*               [-ps pixelsize_x pixelsize_y] [-tap] [-separate] [-v]…