资源简介
拓扑代码,空间数据库中拓扑关系的代码,有用到的可以拿去看看。
代码片段和文件信息
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
- 上一篇:Spring
- 下一篇:北航历年机试题自做代码06-18
评论
共有 条评论