求详解ArcGIS软件的各种数据格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求详解ArcGIS软件的各种数据格式相关的知识,希望对你有一定的参考价值。

ArcGIS 的数据存储格式有 Coverage 、Shapefile、Geodatabase 和 E00,详解一下这几种格式

《ArcGIS软件与应用(第2版)》实验数据及PPT(PDF版),免费下载

链接:https://pan.baidu.com/s/1pZprMy2uM0qLDZQjUgaIGw

提取码:7r1f

以培养GIS工程应用人才为目标,运用“迭代与协同”教学与人才培养思想,帮助ArcGIS初学者实现从软件认知到功能应用,再到综合与创新应用。

参考技术A e00:后缀为E00的文件是ESRI的一种通用交换格式文件。这种文件通过明码的方式表达了Arc/Info中几乎所有的矢量格式以及属性信息,广泛应用于与其他软件之间进行数据交换。但是ESRI没有提供有关的格式说明。可以用于通过E00格式文件建立与ESRI系列软件之间的数据交换。

coverage:一种拓扑数据结构,一般的GIS原理书中都有它的原理论述。数据结构复杂,属性缺省存储在Info表中。目前ArcGIS中仍然有一些分析操作只能基于这种数据格式进行操作。Coverage 是ArcInfo workstation 的原生数据格式。之所以称之为“基于文件夹的存储”,是因为在windows资源管理器下,它的空间信息和属性信息是分别存放在两个文件夹里。例如,在我的电脑E:\MyTest\example 文件夹中,有 3 个coverage,它们在 windows 资源管理器下的状态所有信息都以文件夹的形式来存储。空间信息以二进制文件的形式存储在独立的文件夹中,文件夹名称即为该 coverage 名称,属性信息和拓扑数据则以 INFO表的形式存储。Coverage将空间信息与属性信息结合起来,并存储要素间的拓扑关系。 然而,通过 ArcCatalog,我们能将存储空间信息的文件夹中的 coverage二进制文件与存储属性信息的 INFO 文件夹中的 INFO表联合表达为 coverage,当使用 ArcCatalog 对 coverage 进行创建、移动、删除或重命名等操作时,ArcCatalog 将自动维护他们的完整性,将 coverage和 INFO文件夹中的内容同步改变。所以对 coverage进行操作,一定要在 ArcCatalog 中进行。 coverage 是一个非常成功的早期地理数据模型,二十多年来深受用户欢迎,很多早期的数据都是 coverage 格式的。ESRI 不公开 coverage 的数据格式,但是提供了 coverage 格式转换的一个交换文件(interchange file,即 E00),并公开数据格式,这样就方便了 coverage 数据与其他格式的数据之间的转换。 Coverage 是一个集合,它可以包含一个或多个要素类。

shp:一个ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表。主文件是一个直接存取,变量记录长度文件,其中每个记录描述一个有它自己的vertices列表的shape。在索引文件中,每个记录包含对应主文件记录离主文件头开始的偏移,dBASE表包含一feature一个记录的feature的特征。几何和属性间的一一对应关系是基于记录数目的。在dBASE文件中的属性记录必须和主文件中的记录是相同顺序的。命名习惯所有文件名都符合8.3命名习惯。主文件,索引文件和dBASE文件有相同的前缀。前缀必须是由字符或数字(a-Z,0-9)开始,后跟0到7个字符(a-Z,0-9,_,)主文件的后缀是.shp,索引文件的后缀是.shx,dBASE表的后缀是.dbf。文件名中的所有字母在对文件名敏感的操作系统中都是小写的。

geodatabase:Geodatabase是一个存储数据集的容器,同时将空间数据和属性绑定起来。拓扑数据也能够存储在Geodatabase中并对特性进行建模,比如说在表示道路交叉时可以对道路之间的相关性进行设定。在使用Geodatabase时,很重要的一点就是要理解要素类(Feature Classes)就是就是一系列要素,它以点、线或多边形的形式呈现。在使用Shapefile格式时每个文件只能存储一类要素然而Geodatabase却能够在一个文件中存储多个要素或者是多种类型的要素。本回答被提问者采纳
参考技术B   e00:后缀为E00的文件是ESRI的一种通用交换格式文件。这种文件通过明码的方式表达了Arc/Info中几乎所有的矢量格式以及属性信息,广泛应用于与其他软件之间进行数据交换。但是ESRI没有提供有关的格式说明。可以用于通过E00格式文件建立与ESRI系列软件之间的数据交换。

coverage:一种拓扑数据结构,一般的GIS原理书中都有它的原理论述。数据结构复杂,属性缺省存储在Info表中。目前ArcGIS中仍然有一些分析操作只能基于这种数据格式进行操作。Coverage 是ArcInfo workstation 的原生数据格式。之所以称之为“基于文件夹的存储”,是因为在windows资源管理器下,它的空间信息和属性信息是分别存放在两个文件夹里。例如,在我的电脑E:\MyTest\example 文件夹中,有 3 个coverage,它们在 windows 资源管理器下的状态所有信息都以文件夹的形式来存储。空间信息以二进制文件的形式存储在独立的文件夹中,文件夹名称即为该 coverage 名称,属性信息和拓扑数据则以 INFO表的形式存储。Coverage将空间信息与属性信息结合起来,并存储要素间的拓扑关系。 然而,通过 ArcCatalog,我们能将存储空间信息的文件夹中的 coverage二进制文件与存储属性信息的 INFO 文件夹中的 INFO表联合表达为 coverage,当使用 ArcCatalog 对 coverage 进行创建、移动、删除或重命名等操作时,ArcCatalog 将自动维护他们的完整性,将 coverage和 INFO文件夹中的内容同步改变。所以对 coverage进行操作,一定要在 ArcCatalog 中进行。 coverage 是一个非常成功的早期地理数据模型,二十多年来深受用户欢迎,很多早期的数据都是 coverage 格式的。ESRI 不公开 coverage 的数据格式,但是提供了 coverage 格式转换的一个交换文件(interchange file,即 E00),并公开数据格式,这样就方便了 coverage 数据与其他格式的数据之间的转换。 Coverage 是一个集合,它可以包含一个或多个要素类。

shp:一个ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表。主文件是一个直接存取,变量记录长度文件,其中每个记录描述一个有它自己的vertices列表的shape。在索引文件中,每个记录包含对应主文件记录离主文件头开始的偏移,dBASE表包含一feature一个记录的feature的特征。几何和属性间的一一对应关系是基于记录数目的。在dBASE文件中的属性记录必须和主文件中的记录是相同顺序的。命名习惯所有文件名都符合8.3命名习惯。主文件,索引文件和dBASE文件有相同的前缀。前缀必须是由字符或数字(a-Z,0-9)开始,后跟0到7个字符(a-Z,0-9,_,)主文件的后缀是.shp,索引文件的后缀是.shx,dBASE表的后缀是.dbf。文件名中的所有字母在对文件名敏感的操作系统中都是小写的。

geodatabase:Geodatabase是一个存储数据集的容器,同时将空间数据和属性绑定起来。拓扑数据也能够存储在Geodatabase中并对特性进行建模,比如说在表示道路交叉时可以对道路之间的相关性进行设定。在使用Geodatabase时,很重要的一点就是要理解要素类(Feature Classes)就是就是一系列要素,它以点、线或多边形的形式呈现。在使用Shapefile格式时每个文件只能存储一类要素然而Geodatabase却能够在一个文件中存储多个要素或者是多种类型的要素。
参考技术C ArcGIS 支持的数据格式列表
ArcInfo coverage
ArcIMS 要素服务
ArcIMS 地图服务
DGN
DWG
DXF
地理数据库
地理网络连接
OLE DB 表
PC ArcInfo coverage
栅格: ADRG 影像 (.IMG)
ADRG Overview (.OVR)
ADRG 图例 (.LGG)
ArcSDE 栅格
BSB 图表
压缩的 ARC 数字化栅格图形 (CADRG)
控制的影像底图 (CIB)
数字地理信息交换标准 (DIGEST)
数字地形高程数据 (DTED) 级别 0、1 和 2 (.DT*)
ER Mapper (.ERS)
ER Mapper 增强的小波压缩 (.ECW)
ERDAS GIS (.GIS) ERDAS Lan (.LAN)
ERDAS IMAGINE (.IMG)
ERDAS Raw (.RAW)
ESRI 波段按行交叉格式 (.BIL)
ESRI 波段按像元交叉格式 (.BIP)
ESRI 波段顺序格式 (.BSQ)
ESRI GRID 、ESRI 格网栈(<目录>)、ESRI 格网栈文件 (.STK)
ESRI 栅格目录(影像目录)
图形交换格式 (.GIF)
层次数据格式 (HDF)
Idrisi 栅格格式 (RST)
Intergraph 栅格文件(.CIT 或 .COT)
JPEG 文件交换格式(JIFF,.JPG)和 JPEG 2000(.JP2,JPIP)
LizardTech MrSID 和 MrSID Gen 3 (.SID)
国家影像传输格式(NITF,.NTF)
PC 栅格 (.MAP)
PCI Geomatica (.PIX)
可移植网络图形 (.PNG)
栅格产品格式 (RPF)
S-57
标记图像文件格式(TIFF,.TIF)
USGS DEM (.DEM)
Windows 位图 (.BMP)
XPixMap (.XPM)
SDC SDE 图层
Shapefile
文本文件 (.TXT)
Excel 文件 (.XLS)
TIN
VPF
ADS
AGF
DFAD
DIME
DLG
ETAK
GIRAS
IGDS
IGES
MIF
MOSS
SDTS(点、栅格和矢量)
SLF TIGER(v2002 中)
Sun Raster

BLE 加密详解

文章目录


BLE 协议里面的加密,可以用硬件实现,也可以用软件实现。本文讨论如何用软件实现,借用开源代码。

求 MIC

MIC 占 4 个字节。先说如何计算 MIC。

B0

B0 = 0x49 || nonce || length

B0 的格式是协议规定的

注意:||表示串联,左边是低字节,右边是高字节

length 占 2 个字节

Nonce

低 39 bits 是 packetCounter,然后是 1 bit 的方向位(M 到 S 是 1,S 到 M 是 0),最后是 8 字节的 IV

B1

B1 = 0x0001 || headermasked || 0x00000000000000000000000000

headermasked 是什么,其实就是 2 bits 的 LLID

B2 和 B3

B2 contains the payload data from octets 0 to 15.

B3 contains the payload data from octets 16 to 26.

计算公式

弄明白了 B0-B3,就能看懂协议上的数据了。

补充一下,B0 中的 packetCounter 是 0,方向是 1;B1 中的 03 表示 LLID;B2 中的 06 是 payload,是 START_ENC_RSP 的明文。

计算 MIC 的公式是:

因为没有 B3,所以只用计算前 3 行。公式中的 X0 是协议里面的 X1,公式中的 X1 是协议里面的 X2,公式中的 X2 是协议里面的 X3,只是叫法不一样。

先把结果摆出来,看看怎么编程实现。

代码

char *SK_str = "99AD1B5226A37E3E058E3B8E27C2C666";  // MS-LS
char *B0_str = "49000000008024ABDCBABEBAAFDE0001";  // LS-MS
char *B1_str = "00010300000000000000000000000000";  // LS-MS
char *B2_str = "06000000000000000000000000000000";  // LS-MS


int hex_string_to_u8(const char *hex_str, char *out)

    if(strlen(hex_str) & 1)
        printf("字符串的长度是奇数!");
        return -1;
    
    
    char byte[3] = 0;
    const char *p = hex_str;
    int j = 0;
       
    for(int i=0; i<strlen(hex_str); i+=2)
        memcpy(byte, &p[i], 2);
        out[j++] = strtol(byte, NULL, 16);
     
    return 0;


int main(void)
    
    uint8_t temp[16] = 0;
    uint8_t X1[16] = 0;
    uint8_t X2[16] = 0;
    uint8_t X3[16] = 0;
  
    hex_string_to_u8(SK_str, SK);
    hex_string_to_u8(B0_str, B0);
    hex_string_to_u8(B1_str, B1);
    hex_string_to_u8(B2_str, B2);
    
// X1 = E(B0)
// X2 = E(X1 xor B1)
// X3 = E(X1 xor B2)

	aes128_calc_cyphertext(SK, B0, X1);
    hexdump("X1", X1, 16);
    
    xor(X1, B1, temp, 16);
    aes128_calc_cyphertext(SK, temp, X2);  
    hexdump("X2", X2, 16);
    
    xor(X2, B2, temp, 16);
    aes128_calc_cyphertext(SK, temp, X3);
    hexdump("X3", X3, 16);
    
	hexdump("MIC", X3, 4);

hex_string_to_u8 这个函数的作用是把十六进制的字符串转成数字,解释见我的博文:C语言16进制字符串转数字_车子(chezi)-CSDN博客

SK_str 经这样转换后,其实是大端序,低地址存放着高字节;

B0_str 等转换后是小端序;

aes128_calc_cyphertext 这个函数是别人的代码,注释是我加的。

/**
 * @brief Calculate ciphertext with AES-128
 * @key: [in] note: big endian
 * @plaintext :[in]  little endian
 * @cyphertext:[out] little endian
 * @returns void
 */
void aes128_calc_cyphertext(uint8_t key[16], 
                            uint8_t plaintext[16], uint8_t cyphertext[16])

	uint32_t rk[RKLENGTH(KEYBITS)];
	int nrounds = rijndaelSetupEncrypt(rk, &key[0], KEYBITS);
	rijndaelEncrypt(rk, nrounds, plaintext, cyphertext);

xor 这个函数是我写的,用来求异或。文末会附上完整的代码。

hexdump 是一个简单的打印函数。

运行结果是:

X1: 71 2E AA AA E6 06 03 52 1D 24 5E 50 78 6E EF E4 
X2: DE BC 43 78 2A 02 26 75 FC A0 AA 6F 08 54 F1 AB 
X3: 63 99 91 3F ED E5 FA 11 1B DB 99 3B BF B9 BE 06 
MIC: 63 99 91 3F 

和协议相符。

求加密数据

Ai

对照协议中的

A0 = 01000000008024ABDCBABEBAAFDE0000
A1 = 01000000008024ABDCBABEBAAFDE0001

注意:

  • counter i 是块计数器,在加密净荷的前 16 字节时,块计数器应设为 0x0001
  • 在加密净荷的后 11 字节时,块计数器应设为 0x0002
  • 对 MIC 进行加密的时候,块计数器应设为 0x0000

因为要加密的净荷只有 1 个字节,所以没有 A2

计算公式

协议给出:

S0 = ae3e6577f64a8f25408c9c10d53acf8e
S1 = 99190d88f4aa1b60b97ecfe6f5fee777

S0 = E(A0)

S1 = E(A1)

公式中的 CMIC 应该是 S0 的低 4 个字节

公式中的 CBlock1 就是 S1

第二个公式中的 Block1 表示净荷的前 16 字节,就是前文的 B2;Block2 表示净荷的后 11 字节,就是前文的 B3

综上,计算出 S0 和 S1 是关键

代码

// S0 = E(A0)    
// S1 = E(A1)      
    uint8_t S0[16] = 0;
    uint8_t S1[16] = 0;
    hex_string_to_u8(A0_str, A0);   
    hex_string_to_u8(A1_str, A1);
    
    aes128_calc_cyphertext(SK, A0, S0);
    hexdump("S0", S0, 16);
    
    aes128_calc_cyphertext(SK, A1, S1);
    hexdump("S1", S1, 16);   
    
    // encrypted MIC = S0 xor X3
    xor(S0, X3, temp, 4);
    hexdump("encrypted MIC", temp, 4);
    // encrypted packet payload  = S1 xor B2
    xor(S1, B2, temp, 4);
    hexdump("encrypted packet payload", temp, 1);

执行结果是:

S0: AE 3E 65 77 F6 4A 8F 25 40 8C 9C 10 D5 3A CF 8E 
S1: 99 19 0D 88 F4 AA 1B 60 B9 7E CF E6 F5 FE E7 77 
encrypted MIC: CD A7 F4 48 
encrypted packet payload: 9F 

和协议的结果比较一下:

So, encrypted packet payload = 9F
    encrypted MIC = CDA7F448

遗留问题

对于 5.0,payload 的长度可以是 255,那是不是还有 B4,B5,B6,…?

参考资料

【1】《Bluetooth Core Specification v 5.0》 P2699

【2】http://www.efgh.com/software/rijndael.htm

【3】《Bluetooth Low Energy :The Developer’s Handbook》7.9. Encryption

完整代码

rijndael.h

// =============================== RIJNDAEL.H   ===============================
// from http://www.efgh.com/software/rijndael.htm,
// License: Public Domain, 
// Author:  Philip J. Erdelsky

#ifndef H__RIJNDAEL
#define H__RIJNDAEL

#include <stdint.h>

int rijndaelSetupEncrypt(uint32_t *rk, const uint8_t *key, int keybits);
int rijndaelSetupDecrypt(uint32_t *rk, const uint8_t *key, int keybits);
void rijndaelEncrypt(const uint32_t *rk, int nrounds, const uint8_t plaintext[16], uint8_t ciphertext[16]);
void rijndaelDecrypt(const uint32_t *rk, int nrounds, const uint8_t ciphertext[16], uint8_t plaintext[16]);
	
#define KEYBITS 128

#define KEYLENGTH(keybits) ((keybits)/8)
#define RKLENGTH(keybits)  ((keybits)/8+28)
#define NROUNDS(keybits)   ((keybits)/32+6)

#endif

rijndael.c

//=============================== RIJNDAEL.C   ===============================
// from http://www.efgh.com/software/rijndael.htm,
// License: Public Domain, 
// Author:  Philip J. Erdelsky

#define FULL_UNROLL
//#include <stdio.h>
#include "rijndael.h"

typedef uint32_t u32;
typedef uint8_t   u8;

static const u32 Te0[256] =

  0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU,
  0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U,
  0x60303050U, 0x02010103U, 0xce6767a9U, 0x562b2b7dU,
  0xe7fefe19U, 0xb5d7d762U, 0x4dababe6U, 0xec76769aU,
  0x8fcaca45U, 0x1f82829dU, 0x89c9c940U, 0xfa7d7d87U,
  0xeffafa15U, 0xb25959ebU, 0x8e4747c9U, 0xfbf0f00bU,
  0x41adadecU, 0xb3d4d467U, 0x5fa2a2fdU, 0x45afafeaU,
  0x239c9cbfU, 0x53a4a4f7U, 0xe4727296U, 0x9bc0c05bU,
  0x75b7b7c2U, 0xe1fdfd1cU, 0x3d9393aeU, 0x4c26266aU,
  0x6c36365aU, 0x7e3f3f41U, 0xf5f7f702U, 0x83cccc4fU,
  0x6834345cU, 0x51a5a5f4U, 0xd1e5e534U, 0xf9f1f108U,
  0xe2717193U, 0xabd8d873U, 0x62313153U, 0x2a15153fU,
  0x0804040cU, 0x95c7c752U, 0x46232365U, 0x9dc3c35eU,
  0x30181828U, 0x379696a1U, 0x0a05050fU, 0x2f9a9ab5U,
  0x0e070709U, 0x24121236U, 0x1b80809bU, 0xdfe2e23dU,
  0xcdebeb26U, 0x4e272769U, 0x7fb2b2cdU, 0xea75759fU,
  0x1209091bU, 0x1d83839eU, 0x582c2c74U, 0x341a1a2eU,
  0x361b1b2dU, 0xdc6e6eb2U, 0xb45a5aeeU, 0x5ba0a0fbU,
  0xa45252f6U, 0x763b3b4dU, 0xb7d6d661U, 0x7db3b3ceU,
  0x5229297bU, 0xdde3e33eU, 0x5e2f2f71U, 0x13848497U,
  0xa65353f5U, 0xb9d1d168U, 0x00000000U, 0xc1eded2cU,
  0x40202060U, 0xe3fcfc1fU, 0x79b1b1c8U, 0xb65b5bedU,
  0xd46a6abeU, 0x8dcbcb46U, 0x67bebed9U, 0x7239394bU,
  0x944a4adeU, 0x984c4cd4U, 0xb05858e8U, 0x85cfcf4aU,
  0xbbd0d06bU, 0xc5efef2aU, 0x4faaaae5U, 0xedfbfb16U,
  0x864343c5U, 0x9a4d4dd7U, 0x66333355U, 0x11858594U,
  0x8a4545cfU, 0xe9f9f910U, 0x04020206U, 0xfe7f7f81U,
  0xa05050f0U, 0x783c3c44U, 0x259f9fbaU, 0x4ba8a8e3U,
  0xa25151f3U, 0x5da3a3feU, 0x804040c0U, 0x058f8f8aU,
  0x3f9292adU, 0x219d9dbcU, 0x70383848U, 0xf1f5f504U,
  0x63bcbcdfU, 0x77b6b6c1U, 0xafdada75U, 0x42212163U,
  0x20101030U, 0xe5ffff1aU, 0xfdf3f30eU, 0xbfd2d26dU,
  0x81cdcd4cU, 0x180c0c14U, 0x26131335U, 0xc3ecec2fU,
  0xbe5f5fe1U, 0x359797a2U, 0x884444ccU, 0x2e171739U,
  0x93c4c457U, 0x55a7a7f2U, 0xfc7e7e82U, 0x7a3d3d47U,
  0xc86464acU, 0xba5d5de7U, 0x3219192bU, 0xe6737395U,
  0xc06060a0U, 0x19818198U, 0x9e4f4fd1U, 0xa3dcdc7fU,
  0x44222266U, 0x542a2a7eU, 0x3b9090abU, 0x0b888883U,
  0x8c4646caU, 0xc7eeee29U, 0x6bb8b8d3U, 0x2814143cU,
  0xa7dede79U, 0xbc5e5ee2U, 0x160b0b1dU, 0xaddbdb76U,
  0xdbe0e03bU, 0x64323256U, 0x743a3a4eU, 0x140a0a1eU,
  0x924949dbU, 0x0c06060aU, 0x4824246cU, 0xb85c5ce4U,
  0x9fc2c25dU, 0xbdd3d36eU, 0x43acacefU, 0xc46262a6U,
  0x399191a8U, 0x319595a4U, 0xd3e4e437U, 0xf279798bU,
  0xd5e7e732U, 0x8bc8c843U, 0x6e373759U, 0xda6d6db7U,
  0x018d8d8cU, 0xb1d5d564U, 0x9c4e4ed2U, 0x49a9a9e0U,
  0xd86c6cb4U, 0xac5656faU, 0xf3f4f407U, 0xcfeaea25U,
  0xca6565afU, 0xf47a7a8eU, 0x47aeaee9U, 0x10080818U,
  0x6fbabad5U, 0xf0787888U, 0x4a25256fU, 0x5c2e2e72U,
  0x381c1c24U, 0x57a6a6f1U, 0x73b4b4c7U, 0x97c6c651U,
  0xcbe8e823U, 0xa1dddd7cU, 0xe874749cU, 0x3e1f1f21U,
  0x964b4bddU, 0x61bdbddcU, 0x0d8b8b86U, 0x0f8a8a85U,
  0xe0707090U, 0x7c3e3e42U, 0x71b5b5c4U, 0xcc6666aaU,
  0x904848d8U, 0x06030305U, 0xf7f6f601U, 0x1c0e0e12U,
  0xc26161a3U, 0x6a35355fU, 0xae5757f9U, 0x69b9b9d0U,
  0x17868691U, 0x99c1c158U, 0x3a1d1d27U, 0x279e9eb9U,
  0xd9e1e138U, 0xebf8f813U, 0x2b9898b3U, 0x22111133U,
  0xd26969bbU, 0xa9d9d970U, 0x078e8e89U, 0x339494a7U,
  0x2d9b9bb6U, 0x3c1e1e22U, 0x15878792U, 0xc9e9e920U,
  0x87cece49U, 0xaa5555ffU, 0x50282878U, 0xa5dfdf7aU,
  0x038c8c8fU, 0x59a1a1f8U, 0x09898980U, 0x1a0d0d17U,
  0x65bfbfdaU, 0xd7e6e631U, 0x844242c6U, 0xd06868b8U,
  0x824141c3U, 0x299999b0U, 0x5a2d2d77U, 0x1e0f0f11U,
  0x7bb0b0cbU, 0xa85454fcU, 0x6dbbbbd6U, 0x2c16163aU,
;

static const u32 Te1[256] =

  0xa5c66363U, 0x84f87c7cU, 0x99ee7777U, 0x8df67b7bU,
  0x0dfff2f2U, 0xbdd66b6bU, 0xb1de6f6fU, 0x5491c5c5U,
  0x50603030U, 0x03020101U, 0xa9ce6767U, 0x7d562b2bU,
  0x19e7fefeU, 0x62b5d7d7U, 0xe64dababU, 0x9aec7676U,
  0x458fcacaU, 0x9d1f8282U, 0x4089c9c9U, 0x87fa7d7dU,
  0x15effafaU, 0xebb25959U, 0xc98e4747U, 0x0bfbf0f0U,
  0xec41adadU, 0x67b3d4d4U, 0xfd5fa2a2U, 0xea45afafU,
  0xbf239c9cU, 0xf753a4a4U, 0x96e47272U, 0x5b9bc0c0U,
  0xc275b7b7U, 0x1ce1fdfdU, 0xae3d9393U, 0x6a4c2626U,
  0x5a6c3636U, 0x417e3f3fU, 0x02f5f7f7U, 0x4f83ccccU,
  0x5c683434U, 0xf451a5a5U, 0x34d1e5e5U, 0x08f9f1f1U,
  0x93e27171U, 0x73abd8d8U, 0x53623131U, 0x3f2a1515U,
  0x0c080404U, 0x5295c7c7U, 0x65462323U, 0x5e9dc3c3U,
  0x28301818U, 0xa1379696U, 0x0f0a0505U, 0xb52f9a9aU,
  0x090e0707U, 0x36241212U, 0x9b1b8080U, 0x3ddfe2e2U,
  0x26cdebebU, 0x694e2727U, 0xcd7fb2b2U, 0x9fea7575U,
  0x1b120909U, 0x9e1d8383U, 0x74582c2cU, 0x2e341a1aU,
  0x2d361b1bU, 0xb2dc6e6eU, 0xeeb45a5aU, 0xfb5ba0a0U,
  0xf6a45252U, 0x4d763b3bU, 0x61b7d6d6U, 0xce7db3b3U,
  0x7b522929U, 0x3edde3e3U, 0x715e2f2fU, 0x97138484U,
  0xf5a65353U, 0x68b9d1d1U, 0x00000000U, 0x2cc1ededU,
  0x60402020U, 0x1fe3fcfcU, 0xc879b1b1U, 0xedb65b5bU,
  0xbed46a6aU, 0x468dcbcbU, 0xd967bebeU, 0x4b723939U,
  0xde944a4aU, 0xd4984c4cU, 0xe8b05858U, 0x4a85cfcfU,
  0x6bbbd0d0U, 0x2ac5efefU, 0xe54faaaaU, 0x16edfbfbU,
  0xc5864343U, 0xd79a4d4dU, 0x55663333U, 0x94118585U,
  0xcf8a4545U, 0x10e9f9f9U, 0x06040202U, 0x81fe7f7fU,
  0xf0a05050U, 0x44783c3cU, 0xba259f9fU, 0xe34ba8a8U,
  0xf3a25151U, 0xfe5da3a3U, 0xc0804040U, 0x8a058f8fU,
  0xad3f9292U, 0xbc219d9dU, 0x48703838U, 0x04f1f5

以上是关于求详解ArcGIS软件的各种数据格式的主要内容,如果未能解决你的问题,请参考以下文章

为啥将Jpg格式的图放入arcgis10.2中却看不到图呢

Arcgis10.1融合栅格出现错误,求解答。

ArcGIS风暴如何将矢量数据(点线面)折点坐标转为GeoJSON格式?

ArcGIS风暴如何将矢量数据(点线面)折点坐标转为GeoJSON格式?

GIS 软件ArcGis文件如何导出为dwg格式的文件啊?

MAPGIS的WL\WP\WT数据可否成批转换成ARCGIS数据格式?转换后是不是可用