E00格式分析 GIS

 

 

E00格式分析--图形数据
2007-11-15 09:30

引用:http://blog.sina.com.cn/s/blog_4ac2a65901000bko.html 作者:太初有道

    昨天完成了E00到Shapefile文件格式的转换工作。由于E00不是公开格式,所以没有官方文档。目前可以拿到的关于这个文档的最全面的资料是一个不知名的作者写的。其内容也是他推测的。具体链接如下:Arc/Info Export (E00) Format Analysis. 依靠这份文档我编写除了一个程序,经过测试基本上没有什么问题。

   但是上面提到的这个文档写的比较随意。尤其在术语上前后不统一。而且关于文件各个部分自之间的关系也没有描述的比较清楚。所以我才认为将我编写代码过程中的理解总结下来。如果你需要编写将E00转换为Shapefile的程序。一定要首先参考上面的文档,然后再参考我写的补充说明。或者可以直接通过我的MSN找我要代码。
    好了,下面是关于E00文件的内容:
    1.术语
     节:E00文件由很多部分组成,我们称每一个部分为一个节(Section).例如:ARC节、CNT节、LAB节.(在上面的文档的称为文件。感觉很别扭。)在下面的文档中我肯能会称其为段(Segment)。这二者是一个含义。请大家注意。
     块:每一个节中都是数据块有规律的排列。这个数据单位称为快(Block)
      id: E00文件中各个节的数据之间是有引用关系的。引用的使用通过id来引用。下文中我所提到的id都是这个含义。
    编号:E00文件中还有其它一些编号,他们本身没有id的作用。或者其作用不明确,称为编号(NO)
    2.需要关注的节.
      E00文件的节很多,但是在一般情况下我们只需要关注下面的几个节就可以了:ARC节、LAB节、PAL节、PRJ节、.AAT节和.PAT节。一共六个主要的节。下面分别分写他们的结构.
    2.1 ARC节
     ARC 节中保存的是弧段,如果这是一个点文件,那么应该没有此节,或者此节没有数据。如果是一个线文件,那么这里就是线图形存储的地方。如果是一个面文件,那么面的边界就是由这里的弧段链接而成。
   ARC节以ARC 2或者ARC 3开始。以-1 0 0 0 0 0 0结束。注意这里描述各种标记的时候我会将多个空格压缩为一个,以便于书写。在编写实际代码的时候,建议自己编写一个这样的压缩工具,在有必要的时候将数据行压缩有再分析。
   ARC节中的数据块的格式是这样的:
   第一行 1.Arc的id 2.Arc的NO 3.Arc的起点id 4.Arc的终点id 5.Arc 的左多边形的id 6.Arc的右多边形的id.7.Arc中所包括的点的个数。
   接下来是Arc中的点坐标数据,注意每行是两个坐标点。如果点的个数是奇数那么最后一行只有一个点。
   其中Arc的id是很重要的,应为多边形使用这个id来引用弧段.Arc中所包括的点数也很重要。这决定了接下来还有多少数据属于这个块。
2.2 LAB节
     LAB节中记录的是点的信息。在点文件中,它就是图形信息。而在线或者面文件中,这个节的数据基本上没有用。
    下面给出这个节的格式:
     以LAB 2或者LAB 3开始.对应的以-1 0 0.0000000E+00 0.0000000E+00结束或者以-1 0 0.00000000000000E+00 0.00000000000000E+00结束。
     第一行 1.点的id 2.点所在的多边形的id 3.点的x坐标 4.点的y坐标。
     第二行 已经宣布废弃的数据 将点的x、y坐标重复两遍.
   
     这一节的格式特别简单
2.3 PAL节
     PAL节中存储的是多边形的图形。多边形是通过链接ARC节中的弧段来构造的。下面是其格式:
   以PAL 2或者PAL 3开始以-1 0 0 0 0 0 0 结束
   第一行:1.弧段的个数2.Envelope的XMin 3.Envelope的ymin 4.Envelope的XMax 5.Envelope的YMax。
   接下来:就是弧段信息。弧段信息的格式是这样的:
   每一行两个弧段,如果弧段数目是奇数个,那么最后一行只有一个弧段。
   每个弧段由三个数据组成1.Arc的id 2.弧段的起点 3.弧段的终点.
   需要注意的是:1.如果Arc的id为负数,表示这个弧段在参与这个多边形的时候要反向。
                 2.第一个多边形是多余的数据,用来表示整个图层的范围。没有属性对应。
   2.4 PRJ节
    这一节存储的是投影信息。其结构特别简单
    1.以PRJ 2或者 PRJ 3开始,以EOP结束
    2.每一块数据占两行:第一行1.参数名称 2.参数取值
                         第二行默认为~ .没用用处。
    我自己写的数据转换代码实际上不读取这个数据。主要是不知道其中的关键字有多少格。具体参考ADS和MOSS所支持的投影类型。
关于E00文件中的图形数据,基本上就是这些内容。下一篇写如何读取属性数据。

类别:gis文档 | 添加到搜藏 | 浏览( 575) | 评论 (0) <script></script>
 

 

 

 

 

在线GIS资料阅读


GIS网络资源

目前共发布95个数据集的信息,涉及的总数据量超过25GB (不包括遥感影像数据集)。大部分数据为带密级的数据,不能通过网络直接获取。其中共有49个数据集的数据和24个样例数据可以直接免费下载,数据量达210MB。对于其中带密级的数据,分别给出了数据获取途径、程序以及需要遵照的法规。

该网站提供FreeGIS平台索引,国际上主要的FreeGIS平台都可以在这里找到

该网站提供开放源代码的GIS资源

国际开放GIS标准的制订者,ESRI,Intergraph,Mapinfo,Oracle,Sun,BEA等都是OGC成员

MySQL从4.1开始支持空间数据库,遵循OGC规范,目前正式版本是5.0

PostgreSQL是和MySQL齐名的开放源码数据库,最新版本8.0,通过PostGIS中间件可以让PostgreSQL(7.4及以下版本)支持空间数据库

Oracle从8i开始支持空间数据库,目前在商业空间数据库领域占有绝对优势。

 

几种流行WebGIS软件的比较

产品名称

Mapxtrem

GeoMedia Web Map, GeoMedia Web Enterprese

Arc IMS, MapObjects IMS

MapGuide

GeoSurf

客户端是否需要插件或控键

不需要

需要

不需要

需要

不需要

网络传递的图像格式

JPEG(栅格图)

ActiveCGM(栅格图或矢量图)

ActiveCGM(栅格图或矢量图)

MpaGuide SDF矢量数据或JPEG栅格图

GeoSurf DH M矢量数据

与数据库连接方式

ODBC

ODBC

ODBC

ODBC

JDBC

地图预出版处理

动态生成地图

动态生成地图

动态生成地图

需要进行数据格式转换处理

需要进行数据格式转换处理

可发布的数据格式

MapInfo地图文件

MGE工程,MicroStation DGN文件, Frame文件,MGEDM文件,ArcView Shape文件,ArcInfo Coverage,Autodesk DWG文件,Mapinfo TAB文件

ArcView Shape 文件,AecInfo Coverage,SDE地图

ArcView Shape 文件,AecInfo Coverage,SDE地图, ,Autodesk DWG文件, MicroStation DGN文件, Mapinfo TAB文件

ArcView Shape 文件,AecInfo Coverage,SDE地图, ,Autodesk DWG文件, MicroStation DGN文件, Mapinfo TAB文件

 

地图服务观摩 

名称 数据格式 客户端 网址 备注 公司
国外
Google Earth卫星影像

http://earth.google.com/ 估计是java技术Google
Microsoft Live Local卫星影像、栅格http://preview.local.live.com/ Microsoft
WorldWind卫星影像

http://worldwind.arc.nasa.gov/ 智能客户端技术NASA
Google Map栅格地图

http://maps.google.com
http://www.google.com/apis/maps/
可叠加卫星影像,提供APIGoogle
Yahoo栅格地图

http://developer.yahoo.net/maps/ 提供APIYahoo
MSN Virtual Earth未知

 

http://www.virtualearth.com/  Microsoft
feedmap栅格地图

http://www.feedmap.net/BlogMap/   
国内
Go2Map栅格地图

http://www.go2map.com/down/freemap/ 提供城市地图服务和APISohu
新浪爱问栅格地图

http://local.sina.com.cn/ 地图搜索服务Sina
Mapabc栅格地图

http://www.mapabc.com 地图搜索服务,提供地图名片 
Mapbar栅格地图

http://www.mapbar.com 地图搜索服务,提供博客地图 
我要地图栅格地图

http://www.51ditu.com 地图搜索服务 
搜狗地图栅格地图

http://map.sogou.com/ Sohu收购Go2Map后推出的地图搜索服务Sohu  
baidu栅格地图

http://map.baidu.comMapBar为baidu提供地图服务 

开源WebGIS平台

向您介绍国际开源WebGIS项目,它们具有共同特点:免费使用,开放源代码(具体使用规则请参看各个平台的 Lisense文件),希望借此带您进入广阔的开源GIS世界。

采用Java开发的几个主要开源WEBGIS项目列表(由于时间有限,只选取部分)

平台当前版本生成日期项目地址授权协议支持格式和接口
ESRI ShapeMapinfo MID/MIFOracleMySQLPostGIS其他格式*2OGC*8 WMS*9 ServerOGC WFS*10 ServerOGC WCS*11 ServerMS .Net
Deegree2.02005-2-3http://deegree.sourceforge.netLGPLGML2.1.1√*4√*5√*6 
OpenMap4.6.32006-2-1http://openmap.bbn.comOpenMap License√*1√*3 VPF RPF DTED  √*7
GeoServer*141.32006-2-16http://docs.codehaus.org/display/GEOS/HomeGPL 2.0GML2.1.1 ArcSDE DB2 VPF√*9√*10  
GeoTools2.1.12006-1-26http://www.geotools.orgLGPLGML2.1.1 ArcSDE   
uDig*121.0.62005http://udig.refractions.net/confluence/display/UDIG/HomeLGPLGML2.1.1 ArcSDE DB2    
mapbuilder-lib*131.0rc12005-12http://mapbuilder.sourceforge.net/LGPL     GML 
*1 仅支持点实体
*2 光栅格式JPEG, GIF, PNG, (Geo)TIFF, PNM , BMP没有列出
*3 需要单独的支持类
*4 兼容OGC WMS 1.1.1
*5 兼容OGC WFS 1.0.0
*6 兼容OGC WCS 1.0.0
*7 有限支持
*8 Open Geospatial Consortium(OGC)
*9 Web Map Service (WMS) 基于Web的光栅和矢量图形服务
*10 Web Feature Service (WFS) 基于Web采用GML格式传输的矢量图形数据服务
*11 Web Coverage Service (WCS) 基于Web采用光栅格式传输的光栅图形数据服务
*12 采用Eclipse框架开发的桌面GIS软件
*13 基于AJAX模型的WEBGIS客户端软件,支持GeoServer, MapServer, quickWMS服务器
*14 基于J2EE架构的WEBGIS服务器,已测试JBoss, Jetty, Tomcat, Resin

Deegree示例(读取、显示、格式转换 支持SHP、GML、数据库、WMS、WFS C/S)下载 程序包(V0.91)  GML测试文件
OpenMap示例(中国铁路 B/S) 网页浏览(非宽带用户请勿访问)
注: 以上示例需要安装Sun J2SE 1.4以上版本才能正常运行

采用C/C++开发的开放源代码的GIS平台列表(由于时间有限,只选取部分平台)
平台当前版本生成日期项目地址授权协议支持格式和接口开发语言
GRASS6.0.22006-2-22http://grass.itc.itGPLESRI E00, Shape, DXF, GPS-ASCII, USGS-DEM,IDRISI, OSS, MapInfo MIF,TIGER, RML Raster ARC/GRID, E00, GIF,TIF, PNG, ERDAS LANC
MapServer4.62005-6-14http://mapserver.gis.umn.edu/index.htmlMapServer LicenseESRI Shape, Mapinfo, PostGIS, ArcSDE (通过OGR*1支持) TIFF/GeoTIFF, EPPL7(通过GDAL*2支持)WMS (client/server), WFS (client/server)C
*1 OGR http://gdal.velocet.ca/projects/opengis 提供读取ESRI Shape, Mapinfo mid/mif and TAB的C++库,属于GDAL项目的子集
*2 GDAL http://www.gdal.org/index.html C/C++编写的光栅地理数据格式转换库

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值