L Liulang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #1 大家怎么控制坐标越界呢? 就算我们选用64bit整数作为坐标系,当计算两个点之间的距离的时候,用公式"公号下X的平方加Y的平方"的话,也会有个平方的过程,当坐标很大的时候,很容易数就越界啦?
Y yostgxf Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #2 GIS的坐标一般采用Double型变量的,不会出现你说的情况
L Liulang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #3 但是double计算效率不是很高啊,long和double相比,在加减乘下面,long的计算速度是double的30倍,除法持平,如果用long的话,速度应该会快很多的啊
Y yostgxf Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-15 #4 首先你的类型来回转换, 还有,在GIS求距离可不是Sqrt(X*X+Y*Y)噢。
L Liulang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-16 #5 yousgxf大哥,距离公式怎么求的呢,我一直都是这样求的,哈哈,有什么关于这方面的资料推荐给我看吗?
Y yostgxf Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-16 #6 求距离的公式跟你的地图投影方式有关,如果MapX,它自己有求距离的函数。 还有在GIS中的距离定义也很多的。 在Mapinfo网站有个gps的例子里(VB的)就有一个常见地图投影方式的求距离的公式。
L Liulang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-16 #7 我的是2维的,没有涉及到3维,不需要投影那些了吧?
Y yostgxf Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-16 #8 呵呵,老兄,看样子你GIS的基础知识还需要努力。我说的投影是指地图坐标与平面坐标的投影。
L Liulang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-16 #9 这个知道,因为我们做的不是严格意义上的gis,所以那些东西都简化了,hoho
Y yostgxf Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-16 #10 噢,既然是平面坐标,你求距离的方法当然就没问题喽。:)
H hye4 Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-19 #11 我们公司是开发电信资源系统的。。用的Gis平台是Geomedia5.0,,,,现在我刚进入公司,,天天叫我做防Gemedia的部分功能。。。呵呵。。。不过核心还是不懂。。。
Z zxygraphics Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-19 #12 如果是平面直角坐标系的话,用勾股定理就行呀。再累加,很简单的。
吕 吕雪松 Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-20 #13 理论上说,没一有种数值类型能保证不越界,因为就算是double类型,也有它所不能表达的数值范围。所以,一个GIS软件或系统的基础坐标系统的选择和定义就非常重要。如果你用54坐标系统,或某此地方坐标系,在离中心原点很远的地方,就会有很大的数值出现。所以很多坐标系统定义都有一个分带的概念。 我们的方法是采用WGS 84经纬度坐标系统,无论坐标如何转化,其核心数据的表达和计算都是基于360度以内的数值计算,然后再通过一定的84到54或84到80的转换,再显示或打印到界面上。
理论上说,没一有种数值类型能保证不越界,因为就算是double类型,也有它所不能表达的数值范围。所以,一个GIS软件或系统的基础坐标系统的选择和定义就非常重要。如果你用54坐标系统,或某此地方坐标系,在离中心原点很远的地方,就会有很大的数值出现。所以很多坐标系统定义都有一个分带的概念。 我们的方法是采用WGS 84经纬度坐标系统,无论坐标如何转化,其核心数据的表达和计算都是基于360度以内的数值计算,然后再通过一定的84到54或84到80的转换,再显示或打印到界面上。
L Liulang Unregistered / Unconfirmed GUEST, unregistred user! 2004-04-20 #14 zxygraphics, 能把你的公式写一下吗?