
正文
gis测量两点距离 gis测量两点距离怎么测量
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
您好,请教一个arcgis求两点距离的问题,谢谢
你应当是求 球面上两点之间的最短距离吧,即2点在大圆弧线上的距离。
投影系北京54,西安80,WGS84.
public static double DistanceOfTwoPoints(double lng1,double lat1, double lng2, double lat2, GaussSphere gs)
{
double a = Rad(lat1) - Rad(lat2);
double b = Rad(lng1) - Rad(lng2);
double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a / 2), 2) +
Math.Cos(radLat1) * Math.Cos(radLat2) * Math.Pow(Math.Sin(b / 2), 2)));
s = s * (gs == GaussSphere.WGS84 ? 6378137.0 : (gs == GaussSphere.Xian80 ? 6378140.0 : 6378245.0));
s = Math.Round(s * 10000) / 10000;
return s;
}
private static double Rad(double d)
{
return d * Math.PI / 180.0;
}
GaussSphere 为自定义枚举类型 /// summary /// 高斯投影中所选用的参考椭球 /// /summary public enum GaussSphere { Beijing54, Xian80, WGS84, }
====
9000个点和8个点的距离,用循环语句循环就是了。9000个点可以用数据文件循环中读入。8个点的距离存放在程序里就是了,计算结果可以用输出文件。这样省内存。
相关问答
Q1: arcgis里在经纬度坐标的文件测点之间距离,如何得到以米为单位的距离?
你的数据是经纬度格式的,要想得到实际米为单位的距离,首先要把数据投影变换为平面坐标。工具箱里的project工具就是进行投影变换的,转换后的投影参数选择projected coordiane system ,高斯可吕个投影,西安80或者北京54根据数据选择, 选择度带等信息。然后再进行测距。
Q2: arcgis测量距离工具怎么添加
添加方法如下:
1、启动Arcgis10.2中的Arcmap。
2、右键点击图层,单击添加数据选项,添加相关数据。
3、点击Arcgis10.2工具栏中的“测量”功能下的测量线,在地图中点击线段即可查看。
Q3: Arcgis点间距离计算
我有一个想法,但没条件试,你试试
假设经过一条线段的所有点依次的FID为1、2、3、4、5........。
用你刚才所得“点距离“计算出每个点到所有其他点的距离,会生出一个表格,如:
INPUT_FID
NEAR_FID
DISTANCE
1
3
50
1
6
100
1
2
50
....
....
....
2
4
50
2
6
50
2
3
50
INPUT_FID为
原点FID,
NEAR_FID
为相邻点FID,
DISTANCE为距离
下一步把表格导出为ecxl,
在ecxl中提取
NEAR_FID
列比
INPUT_FID大1的行
,
Q4: 请问你那个ArcGIS中求两点距离,总是小于1的问题解决了吗,可不可以详细跟我说说,麻烦了,多谢
我在点距离的时候也遇到过这个问题,主要原因在于没有区分投影和定义投影,具体的参考网页链接
说下我的解决过程:1、添加了一个包含经纬度的CSV格式数据
2、显示XY坐标值,定义地理坐标系,我的坐标是WSG1984,所以我就直接选择了对应的地理坐标系
3
4、定义投影
5、投影,我的投影坐标系是自定义的Albert投影坐标系,参数就是红色框中的三个值
6、点距离计算结果就是米了
gis测量两点距离的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于gis测量两点距离怎么测量、gis测量两点距离的信息别忘了在本站进行查找喔。








