引入源:http://hi.baidu.com/earthworm
(原创)ARCGIS中遇到的问题-列表
1.Shape文件字段长度不能超过10个字节,英文10个,汉字5个。原因:DBF数据库的限制
解决方法:可以将其转入geodatabase,就不再有这个限制了。
2.如上图,shape中Alias(别名)修改后在再次载入时丢失,可以将其转为.lyr格式,便可以存储下来。
3.转换e00格式的入口:
a. ArcCatalog中:tools-extentions载入Data Interoperability
b.左侧列表中便可看到
c.双击后 可以进行数据格式转换了
4. e00格式是不能显示的,通常还要再转成coverage才能显示
5.为什么vs2003.net不能访问arcgis9.2的组件库?
因为使用arcgis9.2的组件库必须安装vs2005.net才行。
6.增加ArcToolbox的功能
6.1ArcToolbox树根节点点右键,弹出菜单中Add Toolbox
6.2 选择下拉菜单中的Toolboxes,选择相应系统未添加和自己添加的功能。
7.转出E00格式
1.载入要转换的feature
2.设置转换参数
3.要转换的类型,这里选了E00
4.输出路径
5.设置
6.设置投影信息
参考资料:
Arcinfo作为全球GIS领域的主流软件,它的数据格式(如E00、shp等)也日渐成为行业中的通用格式,广大MAPGIS用户也经常需要在Arcinfo和MAPGIS之间进行数据转换。从MAPGIS5.0版本以来,MAPGIS就增加了与E00数据之间相互转换的功能,MAPGIS6.5版本则新增与shp格式之间的转换,这些极大得方便了用户对于数据保存、交换的要求。
由于软件和数据结构存在的差异,因此转换过程需要注意一些要点,才能最大程度的保证转换结果的完整性,以下事项仅针对E00数据转换。
一、 MAPGIS点、线、区到E00的转换
1. 属性字段名称长度不超过10个字符(5个汉字)
超过10个字符在mapgis转换到E00时没有异常现象,但在Arcinfo中导入成coverage时就会出现报错信息,无法导入成功。此外注意,区文件转换的时候还要保证弧段属性字段也不能超过10个字符。
2. MAPGIS数据压缩存盘
3. 在“文件转换”模块中,执行“500点自动打断”和“ID重设”功能,其中“500点自动打断”针对线和区文件。
4. 区文件转为E00数据后,在ARCINFO中导入后有时会发生少区的情况,此时需要在ARCINFO中重建build或clean,则缺少的区将产生并保持原有属性。
5. 如何在mapgis到arcinfo转换中保持原有图形参数(符号、线型、颜色等)
和mapgis不同,arcinfo中coverage格式默认并不带有参数信息,如果要看到线型、颜色、符号等变化,需要进行类似mapgis中“属性赋参数”或“统改参数”的功能。所以,如果想看到与mapgis相同的参数,可以在mapgis中增加一个整型属性字段,该属性记录某一类型参数(在 mapgis中“根据参数赋属性”)。转换到arcinfo后,即可利用该字段选择合适图形参数来进行显示了。
二、 E00转换为MAPGIS点、线、区格式
E00转换为点、线、区时,基本上都能够保证数据的完整性,在转换的时候,可以指定属性字段作为转换后文件的颜色值,相当于批量属性赋参数的功能了。
以上是个人做E00数据转换时的点滴经验,仅供参考,广大用户在实际工作中如碰到E00转换问题,也非常欢迎进行交流
1.Shape文件字段长度不能超过10个字节,英文10个,汉字5个。原因:DBF数据库的限制
解决方法:可以将其转入geodatabase,就不再有这个限制了。
2.如上图,shape中Alias(别名)修改后在再次载入时丢失,可以将其转为.lyr格式,便可以存储下来。
3.转换e00格式的入口:
a. ArcCatalog中:tools-extentions载入Data Interoperability
b.左侧列表中便可看到
c.双击后 可以进行数据格式转换了
4. e00格式是不能显示的,通常还要再转成coverage才能显示
5.为什么vs2003.net不能访问arcgis9.2的组件库?
因为使用arcgis9.2的组件库必须安装vs2005.net才行。
6.增加ArcToolbox的功能
6.1ArcToolbox树根节点点右键,弹出菜单中Add Toolbox
6.2 选择下拉菜单中的Toolboxes,选择相应系统未添加和自己添加的功能。
7.转出E00格式
1.载入要转换的feature
2.设置转换参数
3.要转换的类型,这里选了E00
4.输出路径
5.设置
6.设置投影信息
参考资料:
Arcinfo作为全球GIS领域的主流软件,它的数据格式(如E00、shp等)也日渐成为行业中的通用格式,广大MAPGIS用户也经常需要在Arcinfo和MAPGIS之间进行数据转换。从MAPGIS5.0版本以来,MAPGIS就增加了与E00数据之间相互转换的功能,MAPGIS6.5版本则新增与shp格式之间的转换,这些极大得方便了用户对于数据保存、交换的要求。
由于软件和数据结构存在的差异,因此转换过程需要注意一些要点,才能最大程度的保证转换结果的完整性,以下事项仅针对E00数据转换。
一、 MAPGIS点、线、区到E00的转换
1. 属性字段名称长度不超过10个字符(5个汉字)
超过10个字符在mapgis转换到E00时没有异常现象,但在Arcinfo中导入成coverage时就会出现报错信息,无法导入成功。此外注意,区文件转换的时候还要保证弧段属性字段也不能超过10个字符。
2. MAPGIS数据压缩存盘
3. 在“文件转换”模块中,执行“500点自动打断”和“ID重设”功能,其中“500点自动打断”针对线和区文件。
4. 区文件转为E00数据后,在ARCINFO中导入后有时会发生少区的情况,此时需要在ARCINFO中重建build或clean,则缺少的区将产生并保持原有属性。
5. 如何在mapgis到arcinfo转换中保持原有图形参数(符号、线型、颜色等)
和mapgis不同,arcinfo中coverage格式默认并不带有参数信息,如果要看到线型、颜色、符号等变化,需要进行类似mapgis中“属性赋参数”或“统改参数”的功能。所以,如果想看到与mapgis相同的参数,可以在mapgis中增加一个整型属性字段,该属性记录某一类型参数(在 mapgis中“根据参数赋属性”)。转换到arcinfo后,即可利用该字段选择合适图形参数来进行显示了。
二、 E00转换为MAPGIS点、线、区格式
E00转换为点、线、区时,基本上都能够保证数据的完整性,在转换的时候,可以指定属性字段作为转换后文件的颜色值,相当于批量属性赋参数的功能了。
以上是个人做E00数据转换时的点滴经验,仅供参考,广大用户在实际工作中如碰到E00转换问题,也非常欢迎进行交流
mapgis到arcgis转换问题 wp到shapefile
国土调查的数据大部分为mapgis的wt\wl\wp格式
而现在做空间分析比较常使用的是arcgis平台
首先需要将mapgis文件转至arcgis或arcview支持的shapefile文件
在转换的过程中,一般比较关注的空间属性和几何属性的正确性
至于图例等信息也可以实现,有人做了专门研究,但必须开发较为复杂的转换程序,在此不详谈此方面
常见的问题解释:
mapgis文件转换过去后属性丢失严重:
原因有:
1.使用的mapgis转换工具版本不同,效果也不同,我使用mapgis6.5 0303版本好像好些;
2.是否拓扑通过,因为shapefile文件是没有拓扑,所以相应的在mapgis平台下应该做详细的拓扑检查;
3.大文件的mapgis文件需要比较大的磁盘空间,最好C盘空闲大些,而且在转换里尽量不要再做其它操作,否则文件可能丢失较多;
转换完成后还可能有的问题:
arcgis空间分析时出现错误,证明文件有问题,应该进行check geometry;
Question
Why does the Check Geometry tool sometimes find errors in ArcSDE feature classes?
Answer
All feature geometries in ArcSDE must pass a series of validation rules before they are stored in the RDBMS. These rules ensure that they meet the fundamental definitions of their spatial geometry type. However, the Check Geometry command in ArcToolbox will sometimes report back with "short segments" and "self intersections" for line and polygon features in ArcSDE. What do these errors mean, if by definition geometries stored in ArcSDE are spatially valid?
Short segments and self overlaps occur when vertices within a geometry are considered coincident. Though ArcSDE's shape validation rules ensure that no two vertices within a geometry are stored with the exact same coordinates, the Check Geometry command looks for topological coincidence rather than exact coincidence. The distance within which coordinates are considered to be topologically coincident is based on a cluster tolerance factor, which in turn is based on the precision of the feature class's spatial reference. This cluster tolerance is the same as the default value defined for a topology in a feature dataset of the same precision, which is approximately:
2/precision (map units)
e.g. for a dataset with a precision of 1000 and map units of meters, the default cluster tolerance is approximately 0.002 meters.
It's important to keep in mind that while the errors reported by the Check Geometry command do not indicate violations of ArcSDE's shape validation rules, they should not be ignored since they indicate conditions in which topological operations based on the same cluster tolerance may not give the expected results. Therefore if the Check Geometry command finds short segments or self intersections in ArcSDE data, this indicates that the source data was imported at too low a precision.
The Repair Geometry command can be used to fix these errors. However, this command is not intended for use on data in ArcSDE and is only enabled for data in personal geodatabases and shapefiles. The Repair Geometry command fixes short segments and self-intersections by snapping topologically coincident vertices together. This a valid method for repairing errors in source data for ArcSDE, since these errors are generally due to issues with the data collection technologies or methodologies. In fact, it is recommended that errors found by the Check Geometry command be repaired in the source data before it is imported into ArcSDE. If however, the Check Geometry finds additional errors in the data after it is imported into ArcSDE, this indicates that the data was imported at too low a precision. The correct way to resolve these errors is to re-import the data at a higher precision.
For more information about precision, and how to choose an appropriate value for your data, refer to the ArcGIS Desktop Help and browse from the Contents tab to: Building a Geodatabase > Creating New Items in a Geodatabase > Setting an appropriate Geodatabase Spatial Domain.
For more information about ArcSDE's shape validation rules, use the following link to the ArcSDE Developer Help and browse from the Contents tab to: Getting Started > Geometry > Introducing Geometry > Shape Validation.
坐标系专题-修改中
坐标是GIS数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标。
ArcGIS自带了多种坐标系统,在${ArcGISHome}\Coordinate Systems\目录下可以看到三个文件夹,分别是Geographic Coordinate Systems、Projected Coordinate Systems、Vertical Coordinate Systems,中文翻译为地理坐标系、投影坐标系、垂直坐标系。
关于地理坐标系和投影坐标系的区别,网络上有相关的文章介绍--地理坐标系与投影坐标系的区别,简而言之,投影坐标系=地理坐标系+投影过程。
1 Geographic Coordinate Systems
在Geographic Coordinate Systems目录中,我们可以看到已定义的许多坐标系信息,典型的如Geographic Coordinate Systems\World目录下的WGS 1984.prj,里面所定义的坐标参数:
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
里面描述了地理坐标系的名称、大地基准面、椭球体、起始坐标参考点、单位等。
2 Projected Coordinate Systems
在Projected Coordinate Systems目录中同样存在许多已定义的投影坐标系,我国大部分地图所采用的北京54和西安80坐标系的投影文件就在其中,它们均使用高斯-克吕格投影,前者使用克拉索夫斯基椭球体,后者使用国际大地测量协会推荐的IAG 75地球椭球体。如Beijing 1954 3 Degree GK CM 75E.prj定义的坐标参数:
PROJCS["Beijing_1954_3_Degree_GK_CM_75E",GEOGCS["GCS_Beijing_1954",DATUM["D_Beijing_1954",SPHEROID["Krasovsky_1940",6378245.0,298.3]],PRIMEM
["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",500000.0],PARAMETER
["False_Northing",0.0],PARAMETER["Central_Meridian",75.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]
可以看出,参数里除了包含地理坐标系的定义外,还有投影方式的信息。
北京54和西安80是我们使用最多的坐标系,在ArcGIS文件中,对于这两种坐标系统的命名有一些不同,简单看去很容易让人产生迷惑。在此之前,先简单介绍高斯-克吕格投影的基本知识,了解就直接跳过,我国大中比例尺地图均采用高斯-克吕格投影,其通常是按6度和3度分带投影,1:2.5万-1:50万比例尺地形图采用经差6度分带,1:1万比例尺的地形图采用经差3度分带。具体分带法是:6度分带从本初子午线开始,按经差6度为一个投影带自西向东划分,全球共分60个投影带,带号分别为1-60;3度投影带是从东经1度30秒经线开始,按经差3度为一个投影带自西向东划分,全球共分120个投影带。为了便于地形图的测量作业,在高斯-克吕格投影带内布置了平面直角坐标系统,具体方法是,规定中央经线为X轴,赤道为Y轴,中央经线与赤道交点为坐标原点,x值在北半球为正,南半球为负,y值在中央经线以东为正,中央经线以西为负。由于我国疆域均在北半球,x值均为正值,为了避免y值出现负值,规定各投影带的坐标纵轴均西移500km,中央经线上原横坐标值由0变为500km。为了方便带间点位的区分,可以在每个点位横坐标y值的百千米位数前加上所在带号,如20带内A点的坐标可以表示为YA=20 745 921.8m。
在Coordinate Systems\Projected Coordinate Systems\Gauss Kruger\Beijing 1954目录中,我们可以看到四种不同的命名方式:
Beijing 1954 3 Degree GK CM 75E.prj
Beijing 1954 3 Degree GK Zone 25.prj
Beijing 1954 GK Zone 13.prj
Beijing 1954 GK Zone 13N.prj
对它们的说明分别如下:
三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前不加带号
三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前加带号
六度分带法的北京54坐标系,分带号为13,横坐标前加带号
六度分带法的北京54坐标系,分带号为13,横坐标前不加带号
在Coordinate Systems\Projected Coordinate Systems\Gauss Kruger\Xian 1980目录中,文件命名方式又有所变化:
Xian 1980 3 Degree GK CM 75E.prj
Xian 1980 3 Degree GK Zone 25.prj
Xian 1980 GK CM 75E.prj
Xian 1980 GK Zone 13.prj
西安80坐标文件的命名方式、含义和北京54前两个坐标相同,但没有出现“带号+N”这种形式,为什么没有采用统一的命名方式?让人看了有些费解。
举个例子,野外采集gps数据,数据是用大地坐标表示的,也就是用经纬度和高程表示。而采集的数据要在地图上显示出来,就需要将经纬度转化为平面坐标,也就是通常说的x,y坐标。因为我国地形图一般采用高斯投影,所以通常转化成高斯平面坐标显示到地图上。而在经纬度向平面坐标转化的过程中,需要用到椭球参数,因此要考虑所选的坐标系,我国常用的坐标系有北京54,西安80,WGS-84坐标系,不同的坐标系对应的椭球体是不一样的(这些名称是定义椭球体的),这里你可能会不明白跟椭球体有啥关系,是这样的,我们所说的地理数据都是为了描述大地水准面上的某一个点,而大地水准面是不规则的,我们用一个规定的椭球面去拟合这个水准面,用椭球面上的点来近似表示地球上的点。每个国家地理情况不同,采用的椭球体也不尽相同。北京54坐标系采用的是克拉索夫斯基(Krassovsky)椭球体,而西安80采用的是IAG 75地球椭球体。
在这讲的坐标系是大地坐标系,不是数学、物理学中的直角坐标系或空间坐标系。
大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系。地面点的位置用大地经度、大地纬度和大地高度表示。大地坐标系的确立包括选择一个椭球、对椭球进行定位和确定大地起算数据。一个形状、大小和定位、定向都已确定的地球椭球叫参考椭球。参考椭球一旦确定,则标志着大地坐标系已经建立。注:这句话意味着,只要确定参考椭球,就可建立大地坐标,就是说大地坐标系可以人为确定,不是只有一种标准。
WGS-84坐标系:
WGS-84(World Geodetic System,1984年)是美国国防部研制确定的大地坐标系,其坐标系的几何定义是:原点在地球质心,z轴指向 BIH 1984.0定义的协议地球极(CTP)方向,X轴指向 BIH 1984.0 的零子午面和 CTP赤道的交点。Y轴与 Z、X轴构成右手坐标系(如图所示)。
WGS-84椭球及有关常数:
对应于 WGS-8大地坐标系有一个WGS-84椭球,其常数采用 IUGG第 17届大会大地测量常数的推荐值。下面给出WGS-84椭球两个最常用的几何常数:
长半轴: 6378137± 2(m)
扁 ?率: 1:298.257223563
高斯-克吕格坐标系:
高斯-克吕格投影是按分带方法各自进行投影,故各带坐标成独立系统。以中央经线投影为纵轴(x), 赤道投影为横轴(y),两轴交点即为各带的坐标原点。纵坐标以赤道为零起算,赤道以北为正,以南为负。我国位于北半球,纵坐标均为正值。横坐标如以中央经线为零起算,中央经线以东为正,以西为负,横坐标出现负值,使用不便,故规定将坐标纵轴西移500公里当作起始轴,凡是带内的横坐标值均加500公里。在地形图上为了区别某一坐标系统属于哪一带,在靠近图廓西边的第一条坐标网纵线和东边的第一条坐标网纵线的坐标值之前,需加注这一图幅所在的带号,例如,第一条纵线的横坐标值是 6370公里,设该图幅属于第十四带,则应写成146370。三角测量中大地点的坐标亦应加注带号。
高斯-克吕格投影分带规定:该投影是我国国家基本比例尺地形图的数学基础,为控制变形,采用分带投影的方法,在比例尺 1:2.5万-1:50万图上采用6°分带,对比例尺为 1:1万及大于1:1万的图采用3°分带。
6°分带法:从格林威治零度经线起,每6°分为一个投影带,全球共分为60个投影带,东半球从东经0°-6°为第一带,中央经线为3°,依此类推,投影带号为1-30。其投影代号n和中央经线经度L0的计算公式为:L0=(6n-3)°;西半球投影带从180°回算到0°,编号为31-60,投影代号n和中央经线经度L0的计算公式为L0=360-(6n-3)°。
3°分带法:从东经1°30′起,每3°为一带,将全球划分为120个投影带,东经1°30′-4°30′,178°30′-西经178°30′,1°30′-东经1°30′。
东半球有60个投影带,编号1-60,各带中央经线计算公式:L0=3°n ,中央经线为3°、6°180°。
西半球有60个投影带,编号1-60,各带中央经线计算公式:L0=360°-3°n ,中央经线为西经177°、3°、0°。
我国规定将各带纵坐标轴西移500公里,即将所有y值加上500公里,坐标值前再加各带带号。以18带为例,原坐标值为y=243353.5m,西移后为y=743353.5,加带号通用坐标为y=18743353.5 。
北京54坐标系:
采用克拉索夫斯基椭球参数,又称北京坐标系。
新中国成立后,很长一段时间采用1954年北京坐标系统,它与苏联1942年建立的以普尔科夫天文台为原点的大地坐标系统相联系,相应的椭球为克拉索夫斯基椭球。到20世纪80年代初,我国已基本完成了天文大地测量,经计算表明,54坐标系统普遍低于我国的大地水准面,平均误差为29米左右。
( 1 )建立坐标系原因:
新中国成立后,由于当时缺乏椭球定位必要资料,把我国东北三个基线网与苏联大地网相联,从而将苏联 1942 年坐标系延伸到我国定名为 1954 年北京坐标系,其坐标原点并不在北京,而在苏联。
该坐标系采用克拉索夫斯基椭球,长半径 a=6378245 米,扁率α =1/298.3
( 2 )1954 年北京坐标产生
从 1954 年至 1979 年分级布设国家一、二、三、四等三角控制网,先按一等三角锁分区局部平差,然后再进行二等网平差,逐级控制平差。主要受计算机容量的限制。
( 3 )存在的问题
由于局部地区平差和再逐级平差,平差地区的大地网受到明显的误差积累影响,特别在两平差区接边处误差较大。这就是 54 系存在的一个较大的问题。
西安80坐标系:
采用国际地理联合会( IGU )第十六届大会推荐的椭球参数,大地坐标原点在陕西省泾和县永乐镇的大地坐标系,又称西安坐标系。
( 1 )、建立坐标系原因:
在克服 54 系存在的问题,充分发挥我国大地网的潜在精 度, 80 年前后对我国天文大地网进行了整体平差。
大地原点:陕西省径阳县(离西安不远)
椭球采用: 1975 年国际大的测量协会第十六届大会推荐的数据,
长半径:a=6378140 扁率:α=1/298.257
( 2 )国家一、二、三、四等三角网控制点 80 坐标为 1980 西安坐标系的基础。
( 3 )80坐标系的精度:点位误差一般离大地原点距离愈远点位误差愈大,一般在分米级。塔里木盆地正负1 米。
( 4 )54系与80系比较
a. 由于新旧坐标系参考椭球的大小形状及定位不同,并受整体平差改正数的影响,使得大地网各大地点的新、旧坐标
值不同,总差值140米之间,随着离大地原点距离增大而增大,其差值对一般地形图图廓线和公里线都 产生不同程度
的影响,这就需要坐标系转换问题。
b. 两椭球长半径相差一百多米,75椭球要小。
参考资料:
http://www.daydreaming.com.cn/article/2007-5-9/1537-1.htm
http://www.cnblogs.com/flyingis/archive/2007/03/02/661085.html
AE中编程实现:http://www.blogjava.net/flyingis/archive/2007/05/10/113267.html