精华内容
下载资源
问答
  • 栅格数据进行格式导出

    千次阅读 2020-04-14 21:22:52
    栅格数据进行格式导出 思路:栅格转要素,要素再转栅格。 原始数据包括Area、emissions、value三个属性,现在要导出仅有emissions属性的raster文件。 首先,将raster转为shp文件。 然后再转为raster ...

    对栅格数据进行格式导出

    思路:栅格转要素,要素再转栅格。
    原始数据包括Area、emissions、value三个属性,现在要导出仅有emissions属性的raster文件。
    在这里插入图片描述
    首先,将raster转为shp文件。

    在这里插入图片描述
    然后再转为raster
    在这里插入图片描述

    展开全文
  •  现在有两个包含栅格数据的txt文件dem1.txt、dem2.txt,要实现对两个文件的读取,并且将两个文件中的数据对应相加,输出结果。文件格式如下:  步骤: 1.通过InputStream读取数据,用字节数组存贮,再将字节...

    问题:

          现在有两个包含栅格数据的txt文件dem1.txt、dem2.txt,要实现对两个文件的读取,并且将两个文件中的数据对应相加,输出结果。文件格式如下:     

    步骤:

    1.通过InputStream读取数据,用字节数组存贮,再将字节数组转为字符串;

    2.字符串按换行符分割,再将每行按空格分割,分割后的数据转为整型存储到二维数组;

    3.将两个二维数组相加并输出。

    实现代码:

    import java.io.*;
    import java.util.ArrayList;
    
    public class DemReader {
        public static void main(String[] args){
            System.out.println("读取栅格文件");
            try {
                InputStream dem1 = new FileInputStream(new File("D:/IdeaProjects/hello/src/data/dem1.txt"));
                InputStream dem2 = new FileInputStream(new File("D:/IdeaProjects/hello/src/data/dem2.txt"));
                String str1 = bytesToStr(dem1);
                String str2 = bytesToStr(dem2);
                dem1.close();
                dem2.close();
                int matrix1[][] = strToMatrix(str1);
                int matrix2[][] = strToMatrix(str2);
                int matrixSum[][] = new int[8][8];
                for(int row=0;row<matrix1.length;row++){
                    for(int col=0;col<matrix1[0].length;col++){
                        matrixSum[row][col] = matrix1[row][col] + matrix2[row][col];
                    }
                }
                for (int i = 0; i < matrixSum.length; i++) {
                    for (int j = 0; j < matrixSum[0].length; j++) {
                        System.out.print(matrixSum[i][j]);
                        System.out.print(" ");
                    }
                    System.out.println();
                }
    
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        //输入流转字符串
        public static String bytesToStr(InputStream is) throws IOException{
            //先定义一个字节数组存放数据
            byte[] bytes = new byte[1024];
            int i = 0;
            int index = 0;
            while((i=is.read())!=-1){//把读取的数据放到i中
                bytes[index]=(byte) i;
                index++;
            }
            //把字节数组转成字符串
            String str1 = new String(bytes);
            return str1;
        }
    
        //字符串转矩阵(二维数组)
        public static int[][] strToMatrix(String str){
            String rowArr[] = str.split("\r\n");
            int matrix[][] = new int[8][8];
            int rowIndex = 0;
            for (String row : rowArr) {
                String valueArr[] = row.split("\\s+");
                int colIndex = 0;
                for (String item:valueArr) {
                    matrix[rowIndex][colIndex] = Integer.parseInt(item.trim());
                    colIndex++;
                }
                rowIndex++;
            }
            return matrix;
        }
    }
    

    结果输出:

     

    展开全文
  • 利用Python脚本,调用ArcGIS的数据转换工具,实现批量读取给定路径下的栅格文件,并转换为ASCII(文本可以打开)格式文件,该工具支持PY2.6以上版本,可以通过修改路径、转换方法及参数,进行扩展,进而能够支持对于...
  • ​GIS概念中有相当多的数据文件格式,我们经常接触到的数据格式可以大致分为“栅格数据”与“矢量数据”这两类。在前两天的分享中我们说过矢量数据格式,今天来跟大家说一下栅格数据格式。 栅格数据就是将空间...

    ​GIS概念中有相当多的数据文件格式,我们经常接触到的数据格式可以大致分为“栅格数据”与“矢量数据”这两类。在前两天的分享中我们说过矢量数据格式,今天来跟大家说一下栅格数据格式。

    栅格数据就是将空间分割成有规律的网格,每一个网格称为一个单元,并在各单元上赋予相应的属性值来表示实体的一种数据形式。空间数据库是对地理栅格数据进行有效管理的一个极为重要的手段。

    GIS系统的栅格数据格式有很多种,其中常用的有.jpg、.png、.tif等。我们在一些工作任务中会利用一些电子地图下载器来获取研究范围内的卫星地图,下载得到的格式就是.jpg或者.png。.tif格式的数据不同之处在于它具有空间地理坐标,我们在TransCAD中通常导入.tif作为底图,进行配准后,再进行路网等交通地理要素的绘制。

     

    栅格结构的特点

    数据直接记录属性的指针或属性本身,而其所在位置则根据行列号转换成相应的坐标给出。也就是说,定位是根据数据在数据集合中的位置得到的。

    点实体由一个栅格像元来表示;

    线实体由一定方向上连接成串的相邻栅格像元表示;

    面实体(区域)由具有相同属性的相邻栅格像元的块集合来表示。

     

    栅格数据组织方式

    栅格结构是用有限的网格逼近某个图形,因此用栅格数据表示的地表是不连续的是近似离散的数据。栅格单元的大小决定了在一个象元所覆盖的面积范围内地理数据的精度 ,网格单元越细栅格数据越精确,但如果太细则数据量太大。尤其按某种规则在象元内提取的值,如对长度、面积等的度量,主成分值、均值的求算等,其精度由象元的大小直接决定。由于栅格结构中每个代码明确地代表了实体的属性或属性值,点实体在栅格结构中表示为一个象元,线实体表示为具有方向性的若干连续相邻象元的集合,面实体由聚集在一起的相邻象元表示,这就决定了网格行列阵列易为计算机存储、操作、显示与维护,因此,这种示意图结构易于实现,算法简单,易于扩充、修改,直观性强,特别是容易与遥感影像的联合处理。

     

    栅格数据单元大小

    栅格所表示的内容的详细程度(要素现象)通常取决于栅格的单元(像素)大小或空间分辨率。

    1. 单元必须足够小,这样才可以捕获到所需的详细信息;

    2. 而单元又必须足够大,这样才可以提高计算机存储和分析的执行效率。

    栅格可以使用更小的单元大小在要素的范围内表示更多的要素、更小的要素或更详细的内容。不过,更多通常未必更好。单元大小如果较小,则在表示整个表面时会造成栅格数据集较大;因此,会需要更大的储存空间,而且通常会使处理时间更长。

    空间分辨率与比例

     空间分辨率是指单元大小所表示的在地面上覆盖面积的尺寸。因此,如果一个单元的覆盖面积为 5 x 5 米,则分辨率为 5 米。栅格的分辨率越高,单元大小越小,从而详细程度便越高。这和比例相反。比例越小,显示的细节越少。例如,以比例1:2,000 显示的正射影像(呈放大样式)会比以比例 1:24,000 显示的(呈缩小样式)影像更加详细。但是,如果此相同正射影像的单元大小为5 米,则不管以什么比例来显示,相应的分辨率将始终保持不变,因为实际的单元大小(在地面上覆盖的并由一个单独的单元表示的面积)并未发生改变。

    在下方,左侧影像中所使用的数据的空间分辨率比右侧影像的低。这表示左侧影像中数据的单元大小比右侧影像数据的大,但其中显示的比例却相同。

    获取途径

    ⑴ 栅格法:在待输入的图形上均匀划分栅格单元,逐个栅格地决定其属性代码,最后形成栅格数字地图文件。这是人工编码,当数据量太大时,该法费工费时,工作量相当大。

    转换法:用手扶跟踪数字化或自动跟踪数字化得到矢量结构数据,再转换为栅格结构。栅格数据

    由矢量数据向栅格数据转换是理想的方法。

    扫描数字化:逐点扫描待输入的专题地图,对扫描数据重新采样与再编码,从而得到栅格数据文件。

    ⑷ 分类影像输入:将经过分类解译的遥感影像数据直接或重新采样后输入系统,这是高效获取数据的方法。

     

    编码方法

    在栅格文件中,每个栅格只能赋予一个唯一的属性值,所以属性个数的总数是栅格文件的行数乘以列数的积,而为了保证精度,栅格单元分得一般都很小,这样需要存储的数据量就相当大了。通常一个栅格文件的栅格单元数以万计。但许多栅格单元与相邻的栅格单元都具有相同的值,因此使用了各式各样的数据编码技术与压缩编码技术。主要的编码技术有:直接栅格编码、链式编码弗里曼链码或世界链码)、游程编码、块式编码四叉树数据结构八叉树与十六叉树结构

    栅格数据优势

    1. 数据结构更加简单,即由像元组成矩阵结构,其中的像元值表示坐标,有时与属性表相关联;

    2. 格式更加强大,高级的空间和统计分析较容易实现;

    3. 表示连续表面以及执行表面分析;

    4. 点、线、面和表面都可同样存储;

    5. 对复杂数据集也可执行快速叠置;

    6. 有利于遥感数据的匹配应用和分析;

    栅格数据不足

    1. 由于栅格数据集的像元尺寸具有局限性,所以可能会带来空间误差;

    2. 栅格数据集可能会非常大,冗余度较高,需要压缩处理。虽然分辨率会随着栅格像元大小的减小而提高,但这会占用更多的磁盘空间,而且会拖慢处理速度。对于给定区域,将栅格像元大小更改为现有大小的一半时,所需的存储空间会增大为原来的四倍,具体情况取决于所使用的数据类型和存储技术;

    3. 将数据重建到固定间距的栅格像元边界时也会损失一定的精度;

    4. 定位精度比矢量低,拓扑关系难以表达;

    ---------------The End---------------

     

    微信关注  奔跑的GISer  获取更多GIS学习资源

     

    展开全文
  • 转自原文 ArcGIS 10 影像、栅格数据格式批量转换 在做三维场景的时候,经常会涉及多种不同格式DEM数据或者影像的转换,如ASCII、GRID、IMG、TIFF等等,遇到大数据量时,我们就需要批量转换功能了。 下面使用...

    转自原文 ArcGIS 10 影像、栅格数据格式批量转换

     

    在做三维场景的时候,经常会涉及多种不同格式DEM数据或者影像的转换,如ASCII、GRID、IMG、TIFF等等,遇到大数据量时,我们就需要批量转换功能了。

    下面使用Python脚本来实现批量转换,把f:\\test文件夹下的*.grd栅格文件转换为*.TIFF文件并存于其下的TIFF子文件夹中:

    # Import system modules  
    import sys, string, os  
      
    dir = 'F:\\test'  
      
    # Import arcpy module  
    import arcpy  
      
    files = os.listdir(dir)  
    for f in files:  
        if os.path.splitext(f)[1] == '.grd':  
            # Script arguments...  
            Input_raster_file = dir + os.sep + f  
      
            # Local variables...  
            Output_data_type = "FLOAT"  
            Raster_Format = "TIFF"  
            Output_Workspace = "f:\\test\\TIFF"  
      
            # =============== file name process ======================  
            basename = os.path.splitext(f)[0];  
            Output_raster = Output_Workspace + os.sep + basename + ".tif";  
      
            if os.path.exists(Output_raster) == False:  
                print Input_raster_file  
                # Process: Raster To Other Format (multiple)...  
                arcpy.RasterToOtherFormat_conversion(Input_raster_file,   
                            Output_Workspace, Raster_Format)  
      
                print Output_raster 

     

    转载于:https://www.cnblogs.com/arxive/p/6709042.html

    展开全文
  • 需要引入DataSourceRaster命名空间。 具体步骤如下: ①:利用工作控件工厂抽象类定义接口变量,利用工作空间工厂的子类RatserWorkspaceFactory对应的...③:定义栅格数据集,并利用所选栅格数据文件进行实例化,
  • 请问有人用Java解析过img文件数据吗?求助。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  • 栅格数据AE

    2017-04-19 21:29:00
    栅格数据一般可以存储为ESRI GRID(由一系列文件组成),TIFF格式(包括一个TIF文件和一个AUX文件),IMAGINE Image格式 在AE中一般调用ISaveAs接口来保存栅格数据 2、栅格数据集和栅格编目的区别 一...
  • AE 栅格数据接口

    2021-01-04 15:32:01
    栅格数据一般可以存储为ESRI GRID(由一系列文件组成),TIFF格式(包括一个TIF文件和一个AUX文件),IMAGINE Image格式 在AE中一般调用ISaveAs接口来保存栅格数据 2、栅格数据集和栅格编目的区别 一个栅格数据集...
  • 为什么在arcgis中导出栅格数据时,无法选择格式 这是因为你在这里选择的是数据库文件,导出到数据库文件中无法选择格式 只要把你想导出的栅格,选择一个文件夹就可以啦 简单处理操作过程给初学者!!! ...
  • OptimizeRasters是用于完成三个任务的一组工具:将栅格数据转换为优化的文件格式,将数据移至云存储以及创建栅格代理。 结果是具有更低的存储成本的更有效,可伸缩和弹性的数据访问。 将栅格数据转换为优化格式 ...
  • MATLAB中自定义栅格数据地理坐标并写出数据到tiff文件场景描述:问题描述:原因分析:解决方法: 场景描述: 有时候将nc格式的数据转成tiff,或者是将一个矩阵输出成带有地理坐标信息tiff数据时,常常涉及到空间参考...
  • 栅格数据开发

    2011-04-10 00:06:00
    栅格数据一般可以存储为ESRI GRID(由一系列文件组成),TIFF格式(包括一个TIF文件和一个AUX文件),IMAGINE Image格式 在AE中一般调用ISaveAs接口来保存栅格数据 2、栅格数据集和栅格编目的区别 一个栅格数据集...
  • Python+GDAL栅格数据基本操作

    千次阅读 多人点赞 2020-08-10 11:02:57
    如何对栅格数据进行读取栅格数据行列号和地理坐标相互转换如何写入到栅格数据文件 什么是栅格数据? 最简形式的栅格由按行和列(或格网)组织的像元(或像素)矩阵组成,其中的每个像元都包含一个信息值(例如温度)...
  • 栅格数据一般可以存储为ESRI GRID(由一系列文件组成),TIFF格式(包括一个TIF文件和一个AUX文件),IMAGINE Image格式 在AE中一般调用ISaveAs接口来保存栅格数据 2、栅格数据集和栅格编目的区别 一个栅格数据集由...
  • PostGIS批量导入栅格数据

    千次阅读 2017-02-14 15:40:00
    (单个数据的导入参见我上篇博文:PostGIS导入导出栅格数据)我的实验环境如下: OS: Ubuntu 16.04 LTS PostgreSQL:9.5.5 PostGIS: 2.2 我的实验数据是全球气象数据(不过,我只下载了中国部分19区的平均气温数据...
  • arcengine栅格数据使用总结

    千次阅读 2018-08-17 11:32:14
    arcengine栅格数据使用总结 ... 栅格数据一般可以存储为ESRI GRID(由一系列文件组成),TIFF格式(包括一个TIF文件和一个AUX文件),IMAGINE Image格式 在AE中一般调用ISaveAs接口来保存栅格数据 2、栅格...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 373
精华内容 149
关键字:

栅格数据文件格式