MapXtreme创建扇形
来源:互联网 发布:如何利用qq群做淘宝客 编辑:程序博客网 时间:2024/05/17 09:09
/// <summary> /// 顺时针正北0度->逆时针正东0度 /// </summary> /// <param name="azimuth"></param> /// <returns></returns> public static int AngleConvertN2E(int azimuth) { return ((360 - azimuth) + 90) % 360; }
/// <summary> /// 创建扇形 /// </summary> /// <param name="coordSys">坐标系</param> /// <param name="pt">中心点</param> /// <param name="radius">半径</param> /// <param name="startAngle">起始角</param> /// <param name="endAngle">终止角</param> /// <returns></returns> internal static FeatureGeometry CreateSector(CoordSys coordSys, DPoint pt, double radius, int startAngle, int endAngle) { FeatureGeometry ftr; if (startAngle == 0 && endAngle == 360) ftr = new MapInfo.Geometry.Ellipse(coordSys, pt, radius * 0.75, radius * 0.75, DistanceUnit.Meter, DistanceType.Spherical);//因为是经纬度坐标系,所以只能用Spherical else { int a2 = AngleConvertN2E(startAngle); int a1 = AngleConvertN2E(endAngle);//因为LegacyArc是用的逆时针坐标轴,所以转换后起始位置要交换一下 var arc = new MapInfo.Geometry.LegacyArc(coordSys, pt, radius, radius, DistanceUnit.Meter, DistanceType.Spherical, a1, a2); var mc = arc.CreateMultiCurve(100); var arcPts = mc[0][0].SamplePoints(); var linePts = new[] { mc[0].EndPoint, pt, mc[0].StartPoint }; var pts = new MapInfo.Geometry.DPoint[arcPts.Length - 1 + 3]; for (int i = 0, j = 0; i < arcPts.Length - 1 + 3; i++) { if (i < arcPts.Length - 1) pts[i] = arcPts[i]; else pts[i] = linePts[j++]; } ftr = new MultiPolygon(coordSys, CurveSegmentType.Linear, pts); } return ftr; }
效果预览:
- MapXtreme创建扇形
- 创建一个扇形Mesh
- Unity 创建一个扇形Mesh
- 用MapXtreme创建仿三维地图【转】
- MapXtreme 2005学习(1):创建临时图层
- 如何创建基于MapXtreme 6.6 的Web 应用程序
- MapXtreme 2005学习(1):创建临时图层
- Silverlight - Tip: 使用Expression Blend 创建一个扇形
- ios创建两色线性径向渐变扇形
- MapxTreme收藏
- mapxtreme概述
- mapxtreme交流
- Mapxtreme符号化
- mapxtreme相关
- asp+mapxtreme的示例代码-通过layerinfo创建图层并画矩形
- MapXtreme 图层操作 创建临时图层-添加图元-加图层标注-清除图元
- MapXtreme 2005 在地图上创建点/线并显示标注(五)
- MapXtreme 2005 学习心得 在地图上创建点/线并显示标注(五)
- stl中迭代器和逆向迭代器互相转换
- leetcode 119: Path Sum II
- windows 如何查看端口占用情况?
- 指向成员函数的指针
- 装甲逆袭-资源加载
- MapXtreme创建扇形
- 【学习笔记】常用的ascii码
- linux 定时器
- 各种工具正则表达式的区别
- Oracle ebs R12 SLA 后台技术
- TOMCAT配置数据源
- PHP数据类型转换(字符转数字,数字转字符)
- Android中解析XML
- CentOS5.5 删除文件和文件夹的命令