97金点子小程序_基于openlayers完成角度测量功用

  • 栏目:行业动态 时间:2021-01-05 10:39 分享新闻到:
<返回列表

基于openlayers实现角度测量功能       这篇文章主要为大家详细介绍了基于openlayers实现角度测量功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

基于openlayers的测量功能,官网提供了长度测量和角度测量,但是没有角度测量,在此写一下基于openlayers的角度测量功能,主要方法如下:

var formatAngle = function (line) {
 var coordinates = line.getCoordinates();
 var angle=0;
 var sourceProj = map.getView().getProjection();
 for (var i =0, ii = coordinates.length - 1; i ++i) {
 var c1 = ol.proj.transform(coordinates[i], sourceProj, 'E凡科抠图G:4326');
 var c2 = ol.proj.transform(coordinates[i + 1], sourceProj, 'E凡科抠图G:4326');
 var c3=0
 //当绘制两个及以上点的时候,将c1的值传给C3,C2的值传给C1
 if(i =1){
 c3=ol.proj.transform(coordinates[i-1], sourceProj, 'E凡科抠图G:4326');
 var disa=wgs84Sphere.haversineDistance(c3, c1);
 var disb=wgs84Sphere.haversineDistance(c1, c2);
 var disc=wgs84Sphere.haversineDistance(c2, c3);
 //由于绘制结束的时候双击会导致c1=c2,从而disb=0,而分母不能为零,导致angle=NAN值,所以需要取双击的前一次值。
 //当有三个以上的点的时候,形成了角度,需要对角度进行测量输出。
 if(disb===0 i =2){
 c1 = ol.proj.transform(coordinates[i-1], sourceProj, 'E凡科抠图G:4326');
 c2 = ol.proj.transform(coordinates[i], sourceProj, 'E凡科抠图G:4326');
 c3 = ol.proj.transform(coordinates[i-2], sourceProj, 'E凡科抠图G:4326');
 disa=wgs84Sphere.haversineDistance(c3, c1);
 disb=wgs84Sphere.haversineDistance(c1, c2);
 disc=wgs84Sphere.haversineDistance(c2, c3);
 var cos=(disa*disa+disb*disb-disc*disc)/(2*disa*disb); //利用余弦定理公式计算cos值
 angle=Math.acos(cos)*180/Math.PI; //求反余弦值,得到弧度制,并将弧度值转角度值
 angle=angle.toFixed(2)+"度"; //对计算完成的角度,保留两位小数
 //由于绘制结束的时候双击会导致c1=c2,从而disb=0,而分母不能为零,导致angle=NAN值,所以需要取双击的前一次值。
 //当只有两个点的时候,只是一条线,并不形成角度,需要提示继续绘制。
 if(disb===0 i 2){
 angle="请继续绘制形成角度";
 //当只是绘制一个点的时候,提示继续绘制。
 else{
 angle="请继续绘制形成角度";
 var output;
 output=angle;
 return output;//返回
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。


分享新闻到:

更多阅读

97金点子小程序_基于openlayers完成角度测量

行业动态 2021-01-05
根据openlayers完成视角精确测量作用 本文关键为大伙儿详尽详细介绍了根据openlayers完成视...
查看全文

广州凡科互联网科技股份有限公司招聘运

行业动态 2021-01-05
招聘人数:27职位信息1、对接电商平台运营人员,记录每天的订单情况,并向仓库反馈,跟踪...
查看全文

电子商务企业网站建设-西双版纳企业网站

行业动态 2021-01-05
云南省西双版纳企业网站建设企业,潜心网站程序制作设计方案产品研发客户遍布在全国性...
查看全文
返回全部新闻


区域站点: 南丰县长图制作   南宫市在线编辑图片   囊谦县图片加文字怎么制作   南和县怎样抠图   南华县长图制作   南江县在线编辑图片   南京市图片加文字怎么制作   南靖县怎样抠图   南康市长图制作   南乐县在线编辑图片   南陵县图片加文字怎么制作   南宁市怎样抠图   南平市长图制作   南皮县在线编辑图片   南市区图片加文字怎么制作   南通市怎样抠图   南投县长图制作   南雄市在线编辑图片   南溪县图片加文字怎么制作   南阳市怎样抠图   南漳县长图制作   南召县在线编辑图片   南郑县图片加文字怎么制作   那坡县怎样抠图   那曲县长图制作   纳雍县在线编辑图片   讷河市图片加文字怎么制作   内黄县怎样抠图   内江市长图制作   内丘县在线编辑图片   内乡县图片加文字怎么制作   嫩江市怎样抠图   聂荣县长图制作   尼玛县在线编辑图片   尼木县图片加文字怎么制作   宁安市怎样抠图   宁波市长图制作   宁城县在线编辑图片   宁德市图片加文字怎么制作   宁都县怎样抠图   宁国市长图制作   宁海县在线编辑图片   宁化县图片加文字怎么制作   宁晋县怎样抠图   宁陵县长图制作   宁明县在线编辑图片   宁南县图片加文字怎么制作   宁强县怎样抠图   宁陕县长图制作   宁武县在线编辑图片   宁乡市图片加文字怎么制作   宁阳县怎样抠图   宁远县长图制作   农安县在线编辑图片   磐安县图片加文字怎么制作   盘锦市怎样抠图   盘山县长图制作   磐石市在线编辑图片   盘州市图片加文字怎么制作   蓬安县怎样抠图   澎湖县长图制作   蓬莱市在线编辑图片   彭山县图片加文字怎么制作   蓬溪县怎样抠图   彭阳县长图制作   彭泽县在线编辑图片   彭州市图片加文字怎么制作   偏关县怎样抠图   平安县长图制作   平昌县在线编辑图片   平定县图片加文字怎么制作   屏东县怎样抠图   平度市长图制作   平果县在线编辑图片   平和县图片加文字怎么制作   平湖市怎样抠图   平江县长图制作   平乐县在线编辑图片   平凉市图片加文字怎么制作   平利县怎样抠图   平罗县长图制作   平陆县在线编辑图片   屏南县图片加文字怎么制作   平泉市怎样抠图   屏山县长图制作   平顺县在线编辑图片   平塘县图片加文字怎么制作   平潭县怎样抠图   平武县长图制作   萍乡市在线编辑图片   平乡县图片加文字怎么制作   平阳县怎样抠图   平遥县长图制作   平阴县在线编辑图片   平邑县图片加文字怎么制作   平远县怎样抠图   平舆县长图制作   皮山县在线编辑图片   普安县图片加文字怎么制作   浦北县怎样抠图   浦城县长图制作   普洱市在线编辑图片   普格县图片加文字怎么制作   浦江县怎样抠图   普兰县长图制作   普宁市在线编辑图片   莆田市图片加文字怎么制作   迁安市怎样抠图   乾安县长图制作   潜江市在线编辑图片   潜山市图片加文字怎么制作  

友情链接: 贴图软件 在线免费抠图 制作图片加文字的 在线一键抠图

Copyright © 2002-2020 图片加文字怎么制作_怎样抠图_长图制作_在线编辑图片_如何制作水印图片logo 版权所有 (网站地图) 备案号:粤ICP备10235580号