在arcgis中通过当前点、角度和距离获得新的点坐标
Get new point Coordinate by Current Point and Angle and Distance in arcgis js
我正在开发一个使用arcgis javascript Api的Web GIS应用程序,我需要从点1按距离和角度绘制线。第一步,用这个公式计算point2
point2X = point1.x + distance * Math.cos(angle)
point2Y = point1.y + distance * Math.sin(angle)
距离单位为"米",角度单位为"弧度"
第二步:与点t1和点t2画直线。如果输入距离为1000米,用arcgis测量工具测量时,绘制的线显示长度为866米。这个公式中的坐标系有影响吗?
功能:
function GetNewPoint(x, y, distance, angle) {
var alpha = ToRadian(angle);
var cos = Math.cos(alpha);
var sin = Math.sin(alpha);
var x2 = (cos * distance)+x ;
var y2 = (sin * distance)+y ;
return esri.geometry.xyToLngLat(x2, y2);
}
function ToRadian(angle) {
return (Math.PI / 180) * angle;
}
地图投影(由坐标系统定义的东西)绝对会影响测量结果。
"每次地图投影都会导致形状、面积、方向和/或距离的扭曲。一些预测,如罗宾逊或温克尔·特里佩尔,试图通过对所有这些因素的妥协,将全球的扭曲程度降到最低。其他投影(如UTM和State Plane)是为全球的重点区域设计的,以保持最小的失真。"来源:https://blogs.esri.com/esri/arcgis/2010/03/05/measuring-distances-and-areas-when-your-map-uses-the-mercator-projection/
幸运的是,您正在使用的Web API有一些方法可以在您进行任何测量之前重新投影您的数据。
如果你对重新投影地图的特定特征感兴趣,你可以使用这样的东西:
var sr = new esri.SpatialReference({wkid:32610})
// assuming you already referenced geometryService
geometryService.project([graphic], sr, function(projectedGraphic){
geometryService.areasAndLengths(projectedGraphic, function(result){
var perimeter = result.lengths[0];
var area = result.areas[0];
});
});
前面的例子假设使用了一个几何服务(你可以在ArcGIS Online或你的ArcGIS for Server Instance中找到它),并被远程处理。
您可以在此链接找到有关几何服务的更多信息。
如果这些信息有助于解决您的问题,请告诉我。
检查这个网站,他把你需要的所有方程与坐标和在这里是我的解决方案,以获得新的点的坐标。
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 如何在d3.js中返回路径的y坐标
- 在谷歌地图上获取事件的x,y坐标
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何在JS Leatflet绘图插件中获取圆的坐标
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- 坐标之间的音差地理位置距离
- 将 GPS 坐标转换为距离,并以十进制度为单位将距离转换为半径
- javascript中两个画布坐标之间的距离
- AngularJS获取多个坐标之间的距离
- 使用数组计算坐标之间的距离,并设置Y轴和比例- D3.js
- 加载坐标时的距离误差
- 使用Javascript有效地从坐标数组中获得距离最短的一对坐标
- 在arcgis中通过当前点、角度和距离获得新的点坐标
- 根据提示存储坐标并计算距离
- 如何在驱动模式下使用javascript查找两个坐标之间的距离
- 在坐标数组上循环并计算距离javascript
- 谷歌地图v3neneneba API-计算边界给定的中心坐标和距离
- 计算距离一定米的两个坐标之间的经纬度