zuilang
路人甲
路人甲
  • 注册日期2004-09-29
  • 发帖数78
  • QQ
  • 铜币356枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3051回复:11

[原创]问题一箩筐,总有一个你能回答,超经典!!开发详细过程!

楼主#
更多 发布于:2004-10-20 10:58
<P>本人新手,在开发过程碰到了一箩筐的问题,应该是新手碰到的经典问题,不一定每个人都会碰到,因此,总有一个你能回答,也盼望版主关注!
要做一个gps导航系统,从开发过程开始:
手头上有若干幅地图,均为:坐标系统:北京1954,高程系统:黄海高程1956,文件格式*.dwg。
1:用什么办法把这几幅图接起来?我用autocad,不知道有没有问题?</P><img src="images/post/smile/dvbbs/em12.gif" />
喜欢0 评分0
mygis001
路人甲
路人甲
  • 注册日期2004-09-30
  • 发帖数73
  • QQ
  • 铜币301枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-01-18 16:40
<P>怎么啦</P>
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2005-01-15 17:37
<P>真的是个好贴,可惜没人来看哦</P><P>既然楼猪用mapinfo转换数据 ,用mapinfo也可以接图和设置坐标系投影等,具体的操作,可以在论坛搜索下,以前说过很多</P><P>下面的贴你可以参考下</P><P><a href="http://gisempire.com/bbs/dispbbs.asp?BoardID=14;ID=27706" target="_blank" >http://gisempire.com/bbs/dispbbs.asp?BoardID=14;ID=27706</A></P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
zuilang
路人甲
路人甲
  • 注册日期2004-09-29
  • 发帖数78
  • QQ
  • 铜币356枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-01-15 16:03
我自己都忘了这个帖子了,cad转换为tab应该先把dwg文件转换为dxf文件,然后在mapinfo导入
举报 回复(0) 喜欢(0)     评分
wisherbob
路人甲
路人甲
  • 注册日期2004-08-16
  • 发帖数14
  • QQ
  • 铜币148枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-01-14 10:46
哎,真的不容易
举报 回复(0) 喜欢(0)     评分
zuilang
路人甲
路人甲
  • 注册日期2004-09-29
  • 发帖数78
  • QQ
  • 铜币356枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-10-23 09:36
版主路过都不回答??
举报 回复(0) 喜欢(0)     评分
zuilang
路人甲
路人甲
  • 注册日期2004-09-29
  • 发帖数78
  • QQ
  • 铜币356枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-10-22 10:28
这都是很基本得问题啊,怎么就没人回答?????
举报 回复(0) 喜欢(0)     评分
zuilang
路人甲
路人甲
  • 注册日期2004-09-29
  • 发帖数78
  • QQ
  • 铜币356枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-10-20 11:04
<P>6:在MapX中坐标系定义由基准面、投影两部分参数组成,方法如下:
 CoordSys.Set(Type, [Datum], [Units], [OriginLongitude], [OriginLatitude],
     [StandardParallelOne], [StandardParallelTwo], [Azimuth], [ScaleFactor], [FalseEasting], [FalseNorthing], [Range], [Bounds], [AffineTransform]) 
其中参数:Type表示投影类型,Type为1时地图坐标以经纬度表示,它是必选参数,它后面的参数都为可选参数;
     Datum为大地基准面对象,如果采用非地球坐标(NonEarth)无需定义该参数;
     Units为坐标单位,如Units为7表示以米为单位;
     OriginLongitude、OriginLatitude分别为原点经度和纬度;
     StandardParallelOne、StandardParallelTwo为第一、第二标准纬线;
     Azimuth为方位角,斜轴投影需要定义该参数;
     ScaleFactor为比例系数;
     FalseEasting, FalseNorthing为东伪偏移、北伪偏移值;
     Range为地图可见纬度范围;
     Bounds为地图坐标范围,是一矩形对象,非地球坐标(NonEarth)必须定义该参数AffineTransform为坐标系变换对象。
   相应高斯-克吕格投影、兰勃特投影、墨卡托投影需要定义的坐标系参数序列如下:
   高斯-克吕格:投影代号(Type),基准面(Datum),单位(Unit),
         中央经度(OriginLongitude),原点纬度(OriginLatitude),
         比例系数(ScaleFactor),
         东伪偏移(FalseEasting),北纬偏移(FalseNorthing)
 在城市GIS系统中均采用6度或3度分带的高斯-克吕格投影,因为一般城建坐标采用的是6度或3度分带的高斯-克吕格投影坐标。高斯-克吕格投影以6度或3度分带,每一个分带构成一个独立的平面直角坐标网,投影带中央经线投影后的直线为X轴(纵轴,纬度方向),赤道投影后为Y轴(横轴,经度方向),为了防止经度方向的坐标出现负值,规定每带的中央经线西移500公里,即东伪偏移值为500公里,由于高斯-克吕格投影每一个投影带的坐标都是对本带坐标原点的相对值,所以各带的坐标完全相同,因此规定在横轴坐标前加上带号,如(4231898,21655933)其中21即为带号,同样所定义的东伪偏移值也需要加上带号,如21带的东伪偏移值为21500000米。
      假如你的工作区位于21带,即经度在120度至126度范围,该带的中央经度为123度,采用Pulkovo 1942基准面,那么定义6度分带的高斯-克吕格投影坐标系参数为:(8,1001,7,123,0,1,21500000,0)。</P><P>问题:基准面(Datum)是否可以为我上面定义的自定义基准面?这个时候它知道了地图上任意一点的坐标了吗?我到底从哪里告诉它地图的坐标?</P>
举报 回复(0) 喜欢(0)     评分
zuilang
路人甲
路人甲
  • 注册日期2004-09-29
  • 发帖数78
  • QQ
  • 铜币356枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-10-20 11:02
<P>5:MapX中基准面定义方法如下:
Datum.Set(Ellipsoid, ShiftX, ShiftY, ShiftZ, RotateX, RotateY, RotateZ, ScaleAdjust, PrimeMeridian)
其中参数: Ellipsoid为基准面采用的椭球体;
      ShiftX, ShiftY, ShiftZ为平移参数;
      RotateX, RotateY, RotateZ为旋转参数;
      ScaleAdjust为比例校正因子,以百万分之一计;
      PrimeMeridian为本初子午线经度,在我国取0,表示经度从格林威治起算。
其中Ellipsoid为基准面采用的椭球体,mapx中有这些(我用vc):
miNonEarth = 0,
 miLongLat = 1,
 miCylindricalEqualArea = 2,
 miLambertConformalConic = 3,
 miLambertAzimuthalEqualArea = 4,
 miAzimuthalEquidistant = 5,
 miEquidistantConic = 6,
 miHotineObliqueMercator = 7,
 miTransverseMercator = 8,
 miAlbersEqualAreaConic = 9,
 miMercator = 10,
 miMillerCylindrical = 11,
 miRobinson = 12,
 miMollweide = 13,
 miEckertIV = 14,
 miEckertVI = 15,
 miSinusoidal = 16,
 miGall = 17,
 miNewZealandMapGrid = 18,
 miLambertConformalConicBelgium = 19,
 miStereographic = 20,
 miTransverseMercatorDenmarkS34J = 21,
 miTransverseMercatorDenmarkS34S = 22,
 miTransverseMercatorDenmarkS45B = 23,
 miTransverseMercatorFinland = 24,
 miSwissObliqueMercator = 25,
 miMercatorStdParallel = 26,
 miPolyconic = 27,
 miAzimuthalEquidistantOblique = 28,
 miLambertAzimuthalEqualAreaOblique = 29,
 miCassiniSoldner = 30
找不到我要的克拉索夫斯基(Krassovsky)椭球体,怎么办?不管,先选26,继续往下做,其它参数为WGS84向北京54转换的参数,对吧?怎么转换?谁能给出vc的代码就好了</P>
举报 回复(0) 喜欢(0)     评分
zuilang
路人甲
路人甲
  • 注册日期2004-09-29
  • 发帖数78
  • QQ
  • 铜币356枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2004-10-20 11:01
<P>4:在mapinfo中不知道如何自定义基准面,在MapX中坐标系定义由基准面、投影两部分参数组成,是否搞好Datum.Set和CoordSys.Set就ok了?谁能说说具体步骤?</P>
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部