`

MapxTreme2005 画扇区

阅读更多
public MapInfo.Geometry.Geometry DrawSector(double x, double y, int middle, int angle, double radius)
        {
            if ((angle == 0) || (radius == 0))
                return null;
            MapInfo.Geometry.DPoint center = new MapInfo.Geometry.DPoint(x, y);           
            //创建一段弧线
            double beginAngle, endAngle;
            if (middle < 90)
            {
                beginAngle = 90 - middle - angle / 2;
                endAngle = 90 - middle + angle / 2;
            }
            else if (middle == 90)
            {
                beginAngle = 360 - angle / 2;
                endAngle = angle / 2;
            }
            else if (middle == 360)
            {
                beginAngle = 0;
                endAngle = 360;            
            }
            else
            {
                beginAngle = 450 - middle - angle / 2;
                endAngle = 450 - middle + angle / 2;
            }

            MapInfo.Geometry.LegacyArc sector = new LegacyArc(map.GetDisplayCoordSys(), center, radius, radius,
            MapInfo.Geometry.DistanceUnit.Kilometer, MapInfo.Geometry.DistanceType.Spherical, beginAngle, endAngle);

            MultiCurve mc = sector.CreateMultiCurve(100);

            MapInfo.Geometry.DPoint[] tmpPoints = mc[0][0].SamplePoints();

            MapInfo.Geometry.DPoint[] dPoints = new MapInfo.Geometry.DPoint[3];
            dPoints[0] = mc[0].EndPoint;
            dPoints[1] = new MapInfo.Geometry.DPoint(x, y);
            dPoints[2] = mc[0].StartPoint;

            MapInfo.Geometry.DPoint[] mPoints = new MapInfo.Geometry.DPoint[tmpPoints.Length - 1 + 3];
            for (int i = 0, j = 0; i < tmpPoints.Length - 1 + 3; i++)
            {
                if (i < tmpPoints.Length - 1)
                    mPoints[i] = tmpPoints[i];
                else
                    mPoints[i] = dPoints[j++];
            }

            MapInfo.Geometry.MultiPolygon mp = new MultiPolygon(map.GetDisplayCoordSys(), CurveSegmentType.Linear, mPoints);
            mp.EditingComplete();
            return mp;          
        }


分享到:
评论

相关推荐

    MapXtreme2005开发指南

    ### MapXtreme2005开发指南 #### MapXtreme2005概述 MapXtreme2005是一款由PBMapInfoCorporation开发的地图制作和地理信息系统(GIS)应用软件,该软件提供了强大的地图绘制、地理编码、路径规划等功能,适用于Web与...

    mapxtreme2005

    ### MapXtreme2005 知识点解析 #### 概述 MapXtreme2005是一款由MapInfo Corporation开发的地理信息系统(GIS)软件开发工具包(SDK),版本号为6.5。它为开发者提供了一套全面的API,用于创建高度定制化的GIS应用...

    mapxtreme2005 开发帮助手册中文版

    mapxtreme2005 DevelopmentReference mapxtreme2005 开发帮助手册中文版

    MapXtreme2005_67开发手册

    《MapXtreme2005_67开发手册》是专为软件开发者设计的一份详尽指南,旨在帮助他们理解和应用MapXtreme2005版本6.7的各项功能与特性。MapXtreme2005是一款由PB MapInfo Corporation(现隶属于FME)开发的GIS(地理...

    MapXtreme2005产品介绍

    MapXtreme 2005是MapInfo公司推出的一款基于位置的开发产品,它主要致力于为开发者提供一套全面的工具来构建和定制地图应用程序。该产品在2005年的版本中进行了诸多改进,使其在功能和性能上都有显著提升。 首先,...

    MapXtreme2005开发人员指南

    ### MapXtreme2005开发人员指南 #### 概述 《MapXtreme 2005 开发人员指南》是一本详细介绍MapXtreme 2005开发环境及其命名空间的手册。它旨在帮助开发人员了解如何使用MapXtreme 2005来开发与MapInfo强大的地图...

    c# mapxtreme 图层上画线

    在.NET Framework 2008环境下,我们可以利用C#语言和MapXtreme的功能来实现地图的加载以及在图层上画线的操作。本文将详细讲解如何在MapXtreme图层上绘制线段,涉及的主要知识点包括地图对象的初始化、图层的管理、...

    MapXtreme2005_DevGuide中文版

    MapXtreme2005_DevGuide中文版

    mapxtreme2005-map-demo.rar_DEMO_map_mapxtreme2005_webgis_面积

    这个“mapxtreme2005-map-demo.rar”压缩包提供了一个基于 Visual Studio 2005 和 MapXtreme 2005 的小型演示程序,旨在帮助初学者理解和探索 WebGIS 的基本功能。 首先,让我们详细了解一下 MapXtreme 2005。这是...

    MapXtreme2005_DevGuide.pdf

    MapXtreme 2005 是一款由 Autodesk 公司开发的专业地图应用程序开发工具,主要面向开发者,用于构建地理信息系统(GIS)和位置感知应用。MapXtreme 2005 开发指南(DevGuide)是为帮助开发者理解和使用这款产品而...

    Mapxtreme2005 v6.6破解文件

    仅供个人学习使用,一切法律后果本人概不负责!

    MapXtreme 2005 技术手册

    ### MapXtreme 2005 技术手册知识点概览 #### 一、MapXtreme 2005 概述 - **版本信息**:MapXtreme 2005,版本号为6.7,是PB MapInfo Corporation发布的一款用于地理信息系统(GIS)开发的专业软件。 - **版权信息*...

    MapXtreme2005_DevGuide

    《MapXtreme 2005 开发指南》是一份专为C#和VB开发者设计的详尽文档,旨在帮助他们充分利用MapXtreme 2005这一强大的地图开发工具。MapXtreme是杰仕登科技(GeoTango Inc.,后被Microsoft收购)推出的一款GIS(地理...

    vs2005+mapxtreme2005例子

    《基于VS2005与MapXtreme2005的地图应用开发实例解析》 在信息技术领域,地图服务已经成为不可或缺的一部分,尤其在地理信息系统(GIS)中扮演着重要角色。Visual Studio 2005(简称VS2005)作为微软推出的强大开发...

    基于MapXtreme2005的WebGIS设计与实现

    ### 基于MapXtreme2005的WebGIS设计与实现 #### 一、引言 随着互联网技术的迅速发展,WebGIS(Web Geographic Information System)作为一种结合了GIS(Geographic Information System)技术和互联网技术的新型...

    MapXtreme 2005 6.7.1破解文件

    MapXtreme 2005 6.7.1破解文件,复制到*Common Files\MapInfo\MapXtreme\6.7.1文件夹下

    MapXtreme2005 v6.6

    MapXtreme 2005 v6.6是一款由杰仕登科技(Jasc Software)开发的专业地理信息系统(GIS)软件,它主要用于构建和管理地理数据,提供地图服务和地理信息解决方案。这款软件在2005年推出时,是GIS领域的先进工具,能够...

    C#开发基于Mapxtreme2005的GIS系统

    在本文中,我们将深入探讨如何使用C#编程语言与MapXtreme 2005进行集成,构建一个功能丰富的GIS(地理信息系统)系统。MapXtreme 2005是一款强大的地图开发工具,提供了丰富的API和控件,允许开发者创建具有地图基本...

    mapxtreme2005中文开发手册.part1

    mapxtreme2005中文开发手册1

Global site tag (gtag.js) - Google Analytics