zoukankan      html  css  js  c++  java
  • flex 生成多边形时内、外环计算

    //顺时钟                                      
                    var pA:Array = [{x:"2969925.6674000006",y:"476254.4874999998"},{x:"2969991.6831",y:"476503.1002000002"},{x:"2969581.7171",y:"476502.3365000002"},
                                                       {x:"2969582.1823999994",y:"476253.8409000002"},{x:"2969925.6674000006",y:"476254.4874999998"}];                                                                                    
                    //大于0法向量向外(逆时针 、外环) 小于0      (顺时钟、内环)                               
                    var total:Number = 0;
                    for(var i:int = 0; i < pA.length - 1; i++){
                       total += (Number(pA[i+1].x) - Number(pA[i].x))*(Number(pA[i+1].y) + Number(pA[i].y)) * 0.5; 
                    }

    二、通过点生成多边形代码(可以显示环状图斑)

         var str1:String = "1,2963645.3619999997,475138.83210000023,7,2975656.2609,475162.4922000002,8,2975642.649,483438.3672000002,9,2966401.804199999,483426.2240000004,18,2971952.3038999997,476814.8313999995,23,2963642.2057000007,476799.56379999965";    
                     var str2:String = "1,2969925.6674000006,476254.4874999998,2,2969582.1823999994,476253.8409000002,3,2969581.7171,476502.3365000002,4,2969991.6831,476503.1002000002";          
                     var str2Arr:Array = str2.split(",");
                     var str1Arr:Array = str1.split(",");
                     var points1:Array = new Array();
                     var points2:Array = new Array();
                      for(var i:int =0;i<str2Arr.length;i+=3){
                          var mapPoint:MapPoint = new MapPoint(str2Arr[i+2],str2Arr[i+1]);
                          points2.push(mapPoint);
                      }                                    
                      for(var j:int = 0;j<str1Arr.length;j+=3){
                          var mapPoint:MapPoint = new MapPoint(str1Arr[j+2],str1Arr[j+1]);
                          points1.push(mapPoint);
                      }                                    
                       var rings:Array = new Array();
                       rings.push(points1);   
                       rings.push(points2);                               
                       var tempPoly:Polygon = new Polygon(rings);
                       var graphicPoly:Graphic = new Graphic(tempPoly);
    多看一行书,就少写一行代码,记录点滴,用心生活。
  • 相关阅读:
    2017.5.8下午
    2017.5.8上午
    2017.5.5下午
    2017.5.5上午
    2017.5.4下午
    WPF DataGrid LoadingRow style 滚动失效
    centos nginx 环境变量
    Kettle-03-定时转换
    Kettle-02-转换
    Kettle-01-安装(CentOS 7 离线)
  • 原文地址:https://www.cnblogs.com/aegisada/p/4444314.html
Copyright © 2011-2022 走看看