好的,经过一些摆弄,我从第二个评论行的网站超链接调整了一个脚本.该脚本的目的是使用带有多个多边形的shapefile(每个都带有"Name"记录)来剪切/屏蔽GTAW格式的LARGE栅格(即不能适合32位Python 2.7.5应用程序)并保存将栅格剪切到"剪辑"子目录中,其中每个蒙版网格以每个多边形的"名称"命名.与原始脚本一样,它假设GTiff和shapefile在同一个投影中并且正确重叠,并且它处理~100个掩码/秒.但是,我已经修改了该脚本1)使用浮点值高程网格,2)只将较大网格的窗口加载到由当前多边形限定的内存中(即减少内存负载),2)导出GTiff具有正确(即未移位)的地理位置和价值.
但是,我遇到了每个蒙版网格的问题,我称之为"右侧阴影".这是对于多边形中的每条〜垂直线,其中该线的右侧在给定多边形之外,被遮罩的网格将包括该多边形边右侧的一个栅格单元.
因此,我的问题是,我做错了什么让蒙面网格成为右阴影?
我将试图弄清楚如何发布一个示例shapefile和tif,以便其他人可以重现.下面的代码还有整数值卫星图像的注释行(例如,如geospatialpython.com的原始代码中所示).
# RasterClipper.py - clip a geospatial image using a shapefile
# http://geospatialpython.com/2011/02/clip-raster-using-shapefile.html
# http://gis.stackexchange.com/questions/57005/python-gdal-write-new-raster-using-projection-from-old
import os, sys, time, Tkinter as Tk, tkFileDialog
import operator
from osgeo import gdal, gdalnumeric, ogr, osr
import Image, ImageDraw
def SelectFile(req = 'Please select a file:', ft='txt'):
""" Customizable file-selection dialogue window, returns list() = [full path, root path, and filename]. """
try: # Try to select a csv dataset
foptions = dict(filetypes=[(ft+' file','*.'+ft)], defaultextension='.'+ft)
root = Tk.Tk(); root.withdraw(); fname …Run Code Online (Sandbox Code Playgroud) 在R中我试图弄清楚如何从预定义的序列矢量中选择多个值(例如indices = c(1:3, 4:6, 10:12, ...)).换句话说,如果我想要一个带有"indices"中第3,第5和第7个条目的新向量,我应该使用什么语法来获取只有那些序列完整的向量,例如c(10:12, ...)?