资源简介
基于SharpMap的HeatLayer调用和封装源码。不包含SharpMap.DLL和SharpMap.HeatLayer.DLL
代码片段和文件信息
/***************************************************************
*
* 文 件 名: SharpMapHeatlayerHelper
*
* 作 者: 毛健
*
* 创作日期: 2016/11/16 17:21:35
*
* 备 注: 静态类,用于热图(heatlayer)的相关操作。
*
***************************************************************/
using DCMS.Maps;
using DCMS.Maps.WindowsForms;
using DCMS.Maps.WindowsForms.Markers;
using GeoAPI.Geometries;
using SharpMap.Data.Providers;
using SharpMap.layers;
using SharpMap.Rendering.Thematics;
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Windows.Forms;
namespace WebMap
{
///
/// SharpMap的热图辅助类
///
internal static class SharpMapHeatlayerHelper
{
///
/// 检查数据表合法性
///
/// 数据表
/// true为合法,false为非法
private static bool CheckHeatDataVarification(List heatPoints)
{
var pointsCount = heatPoints.Count;
//数据行数合法性
if (pointsCount <= 0)
{
MessageBox.Show(“您的数据表中没有数据,请检查“);
return false;
}
//①这个方法不是很好,因为类型有可能变动。
//Int32 fieldCount = typeof(HeatPoints).GetFields().Length;
//②在确保泛型中有元素的情况下使用反射。
Dictionary dictionary = new Dictionary();
dictionary.Add(“Lng“ typeof(double));
dictionary.Add(“Lat“ typeof(double));
dictionary.Add(“Value“ typeof(int));
string[] defaultPropertyNames = dictionary.Keys.ToArray();
//字段对象结合
Type typeHeatPoints = heatPoints[0].GetType();
var properties = typeHeatPoints.GetProperties();
var propertiesCount = properties.Length;
//构造外来参数字段集合
List outFieldNames = new List();
foreach (PropertyInfo propertyInfo in properties)
{
outFieldNames.Add(propertyInfo.Name);
}
//字段判断
if (propertiesCount <= 0)
{
MessageBox.Show(“您的TDOA数据中没有任何字段,请添加字段“);
return false;
}
else
{
foreach (string defaultPropertyName in defaultPropertyNames)
{
if (!outFieldNames.Contains(defaultPropertyName))
{
MessageBox.Show(“您的TDOA数据中不包含“ + defaultPropertyName + “字段,请添加该字段“);
return false;
}
}
}
//双游标模式下的被动索引
int index = 0;
//遍历数据行。
for (int i = 0; i < pointsCount; i++)
{
//默认字段游标索引
string currentPropert
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18800 2016-12-06 09:15 heatla
文件 310 2016-12-06 09:23 heatla
目录 0 2016-12-06 09:15 heatla
- 上一篇:u-boot-ar9341
- 下一篇:IOCP服务器、客户端终极网络聊天室代码
评论
共有 条评论