【GIS数据格式】ArcInfo Binary Grid Format
最近在修改项目时发现有些提取的坡度数据在参与了下一步计算后会出错,仔细跟了代码之后发现AE生成的坡度数据和其他一些分析后的栅格都被存储为.adf文件。说起惭愧,并不了解这是什么数据,由于下层算法使用GDAL,这里脑抽了一下先想到把这个数据转成tif或者img数据再参与计算。(当然开始以为GDAL不支持这种数据)开始用AE,但是包括官方代码都有点问题,考虑到实现这个小功能AE创建了一大堆对象觉得不太舒服,决定自己写了。
先查了下,这个数据是ESRI早期的一种二进制Grid数据,其文件结构大约如图:
当然在得知GDAL可以处理这个种数据后,还是出于好奇去写了一个转换工具,其他的处理流程都是差不多的,但是在测试里发现,不论给文件夹地址还是给hdr.adf地址GDAL都能读取出来内容。但是,不清楚什么原因,在遍历像元时我完全不能获取到有效的像元值。猜测在项目里偶尔出现的抛错也是因为读取不到有效值造成的吧。
于是开始查阅资料,想了解这个数据结构。
这里翻到一个老外的博客,做了很详细的调查。【by Frank Warmerdam (warmerdam@pobox.com)】
The Arc/Info Binary Grid format is the internal working format of the Arc/Info Grid product. It is also usable and creatable within the spatial analyst component of ArcView. It is a tiled (blocked) format with run length compression capable of holding raster data of up to 4 byte integers or 4 byte floating data.
在他的博客中特意提醒,这个格式不能和ESRI的ASCII Grid格式混淆。后者是一种GRID交换格式。两种格式可以互转,在ArcInfo中使用【GRIDASCII】、【ASCIIGRID】命令即可(不清楚在ArcGIS Desktop里是否还保留了)。
另外,ESRI BIL格式也与此不同。
文件内容说明:
文件名 | 用途 |
dblbnd.adf | 存储四至信息(LLX、LLY、URX、 URY) |
hdr.adf | 头文件,存储数据的大小信息、切片信息等 |
sta.adf | 存储数据的统计分析信息如最大最小值、均值和标准差等 |
vat.adf | 存储数据的属性表信息 |
w001001.adf | 该文件用于存储真实的栅格数据(DataValues) |
w001001x.adf | 空间索引文件 |
prj.adf | ESRI标准的投影信息文件 |
剩下的内容等继续研究后追加。
【GIS数据格式】ArcInfo Binary Grid Format的更多相关文章
- GIS数据格式:Coverage
转自:http://www.cnblogs.com/w2william/archive/2009/10/15/1583954.html 我之前做了一个模块,基本实现了ArcCatalog中左边树状结构 ...
- GIS数据格式:Shapefile
转自:http://lab.osgeo.cn/2449.html Shapefile是ESRI提出的数据格式,随着ArcView GIS 3.x发布,属于简单要素类.Shapefile由于其数据结构简 ...
- GIS数据格式:Geodatabase
转自:http://www.cnblogs.com/quansixiang/archive/2010/09/17/1829286.html 1 Geodatabase概念 Geodatabase是A ...
- 更小的GIS数据格式-Geobuf
背景 我们经常遇到直接传输gis数据到前端展示的时候,有时候数据量一稍微多点,传输速度就减慢,因为我们用于传输的json格式比较大. Geobuf介绍 Geobuf是一种用于地理数据的紧凑二进制编码. ...
- gis数据格式转换(数据导入)ConvertFeaCls
本文主要对数据导入等里 常用的不同格式数据创建.转换等 进行代码示例.主要用到IFeatureDataConverter.ConvertFeatureClass方法. 代码如下,难度不大,只是个技巧问 ...
- GIS数据格式topojson
Topojson源自于GeoJson,是D3中描述地理数据的格式,D3的作者觉得GeoJson太繁琐.同样的数据,TopoJson是GeoJson的1/5. 这里有一个转换TopoJson,GeoJs ...
- [MySQL复制异常]'Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.'
MySQL复制错误]Last_Errno: 1666 Last_Error: Error executing row event: 'Cannot execute statement: imposs ...
- 开源GIS软件初探
谈到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不 ...
- ArcGIS几种数据格式
ArcGIS几种数据格式 ArcInfo常用以下格式的数据:shp.Coverage..Raster CAD和Geodatabase.各种数据的组织形式不一样,其中shp.Coverage.Raste ...
随机推荐
- 用jmeter监控服务器资源
jmeter可以监控服务器CPU.内存等性能参数,只需要安装一些插件,比其他方法更简单 1.下载需要的jmeter插件 如图上面两个是jmeter插件,可以再下面的链接中下载: https://jm ...
- [19/05/04-星期六] 正则表示式(Regular Expression)
一.概念 语法: \D :就是不是0-9数字的其它字符: \W:与\w相反: a\d?b:表示在字符a和b之间可以有一个数字或者没有数字都可以:如:ab .a3b a\d+b:表示在字符a和b之间至少 ...
- CodeForces.1174D.ArraySplitting.(后缀和数组 + 贪心)
题目链接 参考代码: #include <cstdio> #include <algorithm> using namespace std; typedef long long ...
- <每日一题> Day2:CodeForces-1141C.PolycarpRestoresPermutation(思维题)
原题链接 参考代码: #include <iostream> #include <cstring> using namespace std; + , INF = 0x3f3f3 ...
- 基本数据类型间的运算(不包括boolean)
一 基本数据类型的间的运算 (不包括boolean) 1.自动类型提升 : 小容量的变量和大容量的变量做运算结果用大容量的变量的类型来接收. byte , short , char -> in ...
- HDU 6631 line symmetric(枚举)
首先能想到的是至少有一对相邻点或者中间间隔一个点的点对满足轴对称,那么接下来只需要枚举剩下的点对是否满足至多移动一个点可以满足要求. 第一种情况,对于所有点对都满足要求,那么Yes. 第二种情况,有一 ...
- 回溯--- Permutations
46.Permutations (Medium)](https://leetcode.com/problems/permutations/description/) [1,2,3] have the ...
- Scala本地安装
一.下载 https://www.scala-lang.org/download/ 这里我选择Scala2.10.4版本 二.安装 安装比较简单 和jdk类似 点击一路安装: 选择自己的路径 完成 ...
- 微信小程序request(ajax)接口请求封装
微信小程序request(ajax)接口请求封装 最近在进行小程序的编写,需要调用后端接口,经常要用到wx.request方法,所以就自己封装了一下,简化一下代码,如果能给大家提供帮助更好,在封装的时 ...
- c# Winform 调用可执行 exe 文件
c#是一个写windows桌面小工具的好东西,但有个时候,我们需要在 winform 程序中调用其他的 exe 文件,那么该如何实现呢? 如果只是拉起一个 exe 文件,可以参考如下方法实现: str ...