• 大小: 15KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: 拓扑代码  

资源简介

拓扑代码,空间数据库中拓扑关系的代码,有用到的可以拿去看看。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Lib.Topology.Repository;

namespace Lib.Topology.DAL
{
    public class Common
    {
        /// 
        /// 判断正负数
        /// 

        /// 
        /// 
        public static double GetNmSign(double x)
        {
            return x > 0 ? 1 : -1;
        }
        /// 
        /// 求有向线段的测量方位角    
        /// 

        /// 
        /// 
        /// 起点-终点的测量方位角(0-360度),从北方向顺时针计算
        public static double Azimuth(Point StartP Point EndP)
        {
            double dX dY dAZ;
            dX = EndP.X - StartP.X;
            dY = EndP.Y - StartP.Y;
            if (Math.Abs(dY) < 1E-10)
            {
                return ((dX > 0) ? 0 : 180);
            }
            dAZ = 180 - 90 * Common.GetNmSign(dY) - Math.Atan(dX / dY) * 180 / dPI;
            if (Math.Abs(dAZ) < 1E-10)
            {
                dAZ = 0;
            }
            return dAZ;
        }
        /// 
        /// 计算两条直线逆时针方向的夹角 
        /// 

        /// 起点
        /// 拐点
        /// 终点
        /// 两条直线之间的夹角(0-360度)
        public static double AngleOfTwoArcs(Point StartP Point InflectionP Point EndP)
        {
            double az1 az2 angle;
            az1 = Azimuth(InflectionP StartP);
            az2 = Azimuth(InflectionP EndP);

            angle = az1 - az2;
            if (angle < 0)
                angle += 360;

            return angle;
        }
        /// 
        /// 求最小角度
        /// 

        /// 
        /// 
        public static Angle GetMinAngle(List Angs)
        {
            Angle min;
            double tem = Angs[0].Angle;
            min = Angs[0];

            for (int i = 1; i < Angs.Count; i++)
            {
                if (Angs[i].Angle < tem)//求逆时针最小角
                {
                    tem = Angs[i].Angle;
                    min = Angs[i];
                }
            }
            return min;
        }
        /// 
        /// 面积为正可以判断多边型正面,面积为负表示多边形背面
        /// 

        /// 
        /// 
        public static double GetArea(List Pts)
        {
            double S = 0;
            int nNum = (int)Pts.Count;
            for (int i = 0; i < nNum - 1; i++)
                S += Pts[i].X * Pts[i + 1].Y - Pts[i + 1].X * Pts[i].Y;

            S += Pts[nNum - 1].X * Pts[0].Y - Pts[0].X * Pts[nNum - 1].Y;
            S /= 2.0;
            return S;
        }
        /// 
        /// 查找点-弧关系
        /// 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4646  2014-04-12 16:17  Lib.Topology\DAL\DAL.Common.cs

     文件      19877  2014-04-12 22:41  Lib.Topology\DAL\DAL.CreatePolygon.cs

     文件      14799  2014-04-12 22:43  Lib.Topology\DAL\DAL.CreateTopology.cs

     文件        534  2014-04-12 22:43  Lib.Topology\Docs\ReadMe.txt

     文件        181  2014-03-25 19:54  Lib.Topology\FACADE\Facade.CreatePolygon.cs

     文件       2582  2014-03-25 20:29  Lib.Topology\Lib.Topology.csproj

     文件       5745  2014-04-12 22:42  Lib.Topology\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       1456  2014-03-23 23:47  Lib.Topology\Properties\AssemblyInfo.cs

     文件       4034  2014-04-12 20:44  Lib.Topology\Repository\Model.cs

     文件       1631  2014-03-25 19:53  Lib.Topology\Repository\PolygonRep.cs

     目录          0  2014-03-23 23:47  Lib.Topology\obj\Debug\TempPE

     目录          0  2014-03-23 23:47  Lib.Topology\bin\Debug

     目录          0  2014-03-23 23:49  Lib.Topology\bin\Release

     目录          0  2014-03-23 23:47  Lib.Topology\obj\Debug

     目录          0  2014-03-23 23:49  Lib.Topology\bin

     目录          0  2014-03-25 19:37  Lib.Topology\DAL

     目录          0  2014-04-12 22:42  Lib.Topology\Docs

     目录          0  2014-03-25 19:49  Lib.Topology\FACADE

     目录          0  2014-03-23 23:47  Lib.Topology\obj

     目录          0  2014-03-23 23:47  Lib.Topology\Properties

     目录          0  2014-03-25 19:50  Lib.Topology\Repository

     目录          0  2014-04-12 22:41  Lib.Topology

----------- ---------  ---------- -----  ----

                55485                    22


评论

共有 条评论

相关资源