矢量转栅格

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from osgeo import ogr
from osgeo import gdal

# set pixel size
pixel_size = 0.00002
no_data_value = -9999

# Shapefile input name
# input projection must be in cartesian system in meters
# input wgs 84 or EPSG: 4326 will NOT work!!!
input_shp = r‘../geodata/data/ply_golfcourse-strasslach3857.shp‘
# TIF Raster file to be created
output_raster = r‘../geodata/data/ply_golfcourse-strasslach.img‘

# Open the data source get the layer object
# assign extent coordinates
#shp_driver = ogr.GetDriverByName(‘ESRI Shapefile‘)
open_shp = ogr.Open(input_shp)
shp_layer = open_shp.GetLayer()
x_min, x_max, y_min, y_max = shp_layer.GetExtent()

print(x_min)
print(x_max)

# calculate raster resolution
x_res = int((x_max - x_min) / pixel_size)
y_res = int((y_max - y_min) / pixel_size)

print(x_res)
print(y_res)
# set the image type for export
image_type = ‘GTiff‘
image_type = ‘HFA‘
driver = gdal.GetDriverByName(image_type)
driver.Register()
# create a new raster takes Parameters
# Filename     the name of the dataset to create. UTF-8 encoded.
# nXSize     width of created raster in pixels.
# nYSize     height of created raster in pixels.
# nBands     number of bands.
# eType     type of raster.

new_raster = driver.Create(output_raster, x_res, y_res, 1, gdal.GDT_Byte)
new_raster.SetGeoTransform((x_min, pixel_size, 0, y_max, 0, -pixel_size))

# get the raster band we want to export too
raster_band = new_raster.GetRasterBand(1)

# assign the no data value to empty cells
raster_band.SetNoDataValue(no_data_value)

# run vector to raster on new raster with input Shapefile
gdal.RasterizeLayer(new_raster, [1], shp_layer, burn_values=[255])
时间: 2024-08-08 05:44:18

矢量转栅格的相关文章

在ARCGIS中如何用矢量配准栅格影像

在ARCGIS中如何用矢量配准栅格影像 第一步  工具准备 ArcGIS 10.2下载地址:http://pan.baidu.com/s/1qWDljC4 BIGEMAP地图下载器:http://www.bigemap.com/Home/Product/index.html 本实例使用ArcMap 10.2软件进行影像与矢量数据叠加配准.首先 ArcMap中是可以自动匹配坐标系:例如先导入西安80的矢量数据文件,再加载影像图层就会自动将影像从源坐标系转换到西安80坐标系.亦可利用BIGEMAP或

acrgis 解决矢量转栅格分辨率过大造成连续值变离散且出现空白

目标:解决北京河流矢量polygon 转栅格的问题 设置栅格大小和影像一致30*30----结果发现,因为cell过大,原本连续的是矢量面变得不连续了,特别细的河流会出现间断(如下图所示): 1号 网上搜索矢量转栅格出现空白的问题大多是由于矢量拓扑关系有问题导致,所以需要拓扑检查等,但我这个是因为河流太细,算法可能缺少种子点了. 检验这个想法的方式:将cell设置成10*10,然后看有无间断----结果如下图果然很完美 2号 改进方法1:将cell大小为10的栅格数据--进行重采样为30大小的-

ArcGIS教程:ArcGIS中矢量裁剪栅格图像

(1)是否需要裁剪栅格图象区域通过一个面状的shapefile表达出来? 如果可以,那么就很简单了. 在ArcMap中,调用空间分析扩展模块,将你感兴趣区的shapefile多边形图层设置为掩膜,然后在栅格计算器中重新计算一下你的图象,它就会沿掩膜裁出. 设置掩膜:空间分析工具条的下拉菜单>option里面设置 (2)用任意多边形剪切栅格数据(矢量数据转换为栅格数据) 2.1在ArcCatlog下新建一个要素类(要素类型为:多边形),命名为:ClipPoly.shp 2.2在ArcMap中,加载

从shp矢量图制作栅格导航地图(01数据)过程

从shp矢量图制作栅格导航地图(01数据)过程 从shp矢量图制作栅格导航地图01数据过程 1查看原始图像 2重分类 3更新门数据 4矢量转栅格 5栅格转ASCII文件 6相对坐标到栅格行列号的转换 7使用A导航算法进行导航实现 1查看原始图像 首先使用ArcGIS打开原始shp矢量图, 2重分类 然后将shp线文件进行重分类,以color为标准进行空间对象的分类,若以其他属性字段为分类依据,则将该属性设置为Value Fields. 3更新门数据 由于shp图中门的位置不一定能够保证连通性,需

Qt+QGis二次开发:加载栅格图层和矢量图层

一.加载栅格图像 加载栅格图像的详细步骤在下面代码里: //添加栅格数据按钮槽函数 void MainWindow::addRasterlayers() { //步骤1:打开文件选择对话框 QString filename=QFileDialog::getOpenFileName(this,tr("打开栅格数据"),"","remote sensing image(*.tif *.tiff);;image(*.jpg *.jpeg *.png *.bmp)

Geoserver2.11矢量切片与OL3中的调用展示

概述: 本文讲述在Geoserver2.11中如何进行矢量切片以及OL3中的调用展示. 矢量切片简介: 一.提出 GIS的底图一直使用金字塔技术进行切图,使用户能够快速访问指定级别的地图或者影像.但是切图本身是一张图片,无法进行交互.于是又引入了矢量图层用来显示矢量点线面,这通常需要先获取矢量地理数据,然后通过前端将其绘制成不同元素便能通过鼠标进行响应交互了. 这种GIS组织方式在数据量比较小的时候并没有什么大问题,但是在数据量比较大时(例如全国的详细街区数据)存在以下几个问题. 1.同一套数据

gis-矢量与栅格数据结构的比较

2.5矢量与栅格数据结构的比较 在计算机辅助制图和地理信息系统发展早期,最初引用的是矢量处理技术,栅格数据处理始于70年 代中期.几年以前,这两种数据结构势不两立,很难兼容,因此给数据利用带来许多不便.近年来,人们越来越清楚地认识到:原先把栅格和矢量数据结构的差别当 成重要的概念差别,事实上都是技术问题.计算机技术的发展使运算速度.存储能力.地理数据的空间分辨率等大大提高.为了更有效地利用GIS,人们面临的问题之一是栅格和矢量数据结构的选择. 2.5.1 矢量与栅格数据结构的比较 地理信息系统的

统计栅格数据内的矢量点的属性

现有遥感影像分类后的栅格数据以及矢量点数据(如下图)----我需要知道矢量点落在哪种栅格类型中 尝试用了 spatial joint ,右键图层 join and relate----都不行 因为一个是栅格数据,一个是矢量数据 问了皮皮同学,,,得知了新的方法---zonal(她还说可以按照栅格值转成矢量面再统计,我没试) 然后尝试了一下 Tabulate Area 会得到矢量和栅格相交的部分并返回矢量点所在的栅格 zonal statistics as table 可以输入矢量,然后输入栅格,

介绍ArcGIS中各种数据的打开方法——tin(栅格文件)

4.加载栅格文件 栅格数据是GIS中重要的数据源之一,如卫星图像.扫描的地图.照片等. 栅格数据常见的格式有Bmp.Tiff.Jpg.Grid等. 添加栅格数据主要使用Rasterlayer 组件类,以及IMap.ILayer.IRasterLayer接口等.Rasterlayer组件类实现了ILayer.IRasterlayer.TTable.IDataset等接口,主要用于栅格数据的打开.显示.操作状态等设置. 介绍一种打开栅格文件的方法 核心代码: #region 添加TIN数据 priv