地图符号,几何图形样式

地图符号(cartographic symbol)表示地图要素的空间位置、质量和数量特征的特定图形记号或文字。

构成特点

地图内容是通过符号来表达的,地图符号是表示地图内容的基本手段,它由形状不同,大小不一,色彩有别的图形和文字组成。因此符号具有如下特点:

1.符号应与实际事物的具体特征有联系,以便于根据符号联想实际事物;

2.符号之间应有明显的差异,以便相互区别;

3.同类事物的符号应该类似,以便分析各类事物总的分布情况,以及研究各类事物之间的相互联系;

4.简单、美观、便于记忆、使用方便。

符号的空间分布情况。

有四种类型:点位分布、线状分布、面积分布、体积分布。

点位分布可以表现为:存在于一个独立位置的事物、离散的空间现象、一个测量控制点、一座城市等,代表一个地区的国民经济统计图形,也算做点位分布。因此,点状符号在地图上算作是一个定位点。

线状分布指存在于空间的有序现象,如河流、河堤、道路、运输线,他们可能扩散成一个宽带,以具有相对长度和路线为主要特征。因此线状符号在地图上是一个线段。

面积分布指事物的占有范围、连续的空间现象。因此面状符号在地图上是一块图斑。

体积分布可以推想为从某一基准面向上下延伸的空间体,例如人口或一座城市,可以表示具有体积量度特征的有形实物或概念产物,这些空间现象可以构成一个光滑曲面。因此体积符号在地图上可以表现为点状、线状、面状三维模型。(体积分布在本教程中不做讲解)

地图符号基类

对于这些地图符号,可以抽象出一个基类,用来存储样式的公共属性,这个基类取名为Symbol(中文解释:符号,里面只包含一个枚举型变量SymbolType(符号类型),用来存储扩展子类的样式类型。

符号类型枚举

namespace GIS.HJ.Symbol

{

///<summary>

///地图符号类型枚举

///</summary>

public enum SymbolType

{

None,

///<summary>

///点符号

///</summary>

PointSymbol,

///<summary>

///线符号

///</summary>

LineSymbol,

///<summary>

///面符号

///</summary>

PolygonSymbol

}

}

地图符号基类

namespace GIS.HJ.Symbol

{

///<summary>

///地图符号基类

///</summary>

public abstract class SymbolClass

{

///<summary>

///符号类型

///</summary>

public SymbolType SymbolType { get; set; }

}

}

点符号类

作用:描述地图上离散的点状空间对象。

类:   点状符号类型,除了继承基类的符号类型属性外,还新增了点的颜色和半径属性。

namespace GIS.HJ.Symbol

{

///<summary>

///点符号

///</summary>

public class PointSymbolClass:SymbolClass

{

///<summary>

///构造函数

///</summary>

publicPointSymbolClass()

{

base.SymbolType= SymbolType.PointSymbol;

}

///<summary>

///带参数的构造函数

///</summary>

///<paramname="pointColor">点颜色</param>

///<paramname="radius">点半径</param>

publicPointSymbolClass(Color pointColor,float radius)

: this()

{

PointColor = pointColor;

Radius = radius;

}

///<summary>

///默认点符号

///</summary>

privatestaticPointSymbolClass_Default;

///<summary>

///默认点符号

///</summary>

public static PointSymbolClassDefault

{

get

{

if(_Default == null)

_Default = newPointSymbolClass(Color.Black, 1);

return_Default;

}

}

///<summary>

///点颜色

///</summary>

public Color PointColor { get;set; }

///<summary>

///点半径

///</summary>

public float Radius { get; set; }

}

}

线符号类

作用:描述地图上连续的线状空间对象。

类:   线状符号类型,除了继承基类的符号类型属性外,还新增了线的颜色、宽度和线型属性。

namespace GIS.HJ.Symbol

{

///<summary>

///线符号

///</summary>

public class LineSymbolClass:SymbolClass

{

///<summary>

///构造函数

///</summary>

publicLineSymbolClass()

{

this.SymbolType= SymbolType.LineSymbol;

}

///<summary>

///带参数的构造函数

///</summary>

///<paramname="LineColor">线颜色</param>

///<paramname="Width">线宽度</param>

///<paramname="LineStyle">线型</param>

publicLineSymbolClass(Color lineColor,float width,DashStylelineStyle)

{

LineColor = lineColor;

Width = width;

LineStyle = lineStyle;

}

///<summary>

///默认线符号

///</summary>

privatestaticLineSymbolClass_Default;

///<summary>

///默认线符号

///</summary>

public static LineSymbolClassDefault

{

get

{

if(_Default == null)

_Default = newLineSymbolClass(Color.Black, 1,DashStyle.Solid);

return_Default;

}

}

///<summary>

///线颜色

///</summary>

public Color LineColor { get;set; }

///<summary>

///线宽度

///</summary>

public float Width { get; set; }

///<summary>

///线型

///</summary>

public DashStyle LineStyle { get;set; }

}

}

面状符号类

作用:描述地图上片状的空间对象。

类: 面状符号类型,除了继承基类的符号类型属性外,还新增了边界颜色和填充颜色属性。

namespace GIS.HJ.Symbol

{

///<summary>

///面符号

///</summary>

public class PolygonSymbolClass:SymbolClass

{

///<summary>

///构造函数

///</summary>

publicPolygonSymbolClass()

{

base.SymbolType= SymbolType.PolygonSymbol;

}

///<summary>

///带参数的构造函数

///</summary>

///<paramname="borderColor">边界颜色</param>

///<paramname="fillColor">填充颜色</param>

publicPolygonSymbolClass(Color borderColor,Color fillColor)

:this()

{

BorderColor = borderColor;

FillColor = fillColor;

}

///<summary>

///默认面符号

///</summary>

privatestaticPolygonSymbolClass_Default;

///<summary>

///默认面符号

///</summary>

public static PolygonSymbolClassDefault

{

get

{

if(_Default == null)

_Default = newPolygonSymbolClass(Color.Black,Color.Blue);

return_Default;

}

}

///<summary>

///边界颜色

///</summary>

public Color BorderColor { get;set; }

///<summary>

///填充颜色

///</summary>

public ColorFillColor { get; set;}

}

}

C#.net 地图控件开发(七) 地图符号,几何图形样式Symbol相关推荐

  1. C#.net 地图控件开发 (一) 控件坐标与地图坐标

    1.       控件坐标与地图坐标的转换 控件坐标是以左上角为基准点(原点0,0),往右为X轴正方向,往下为Y轴正方向的.而地图坐标则是以左下角为基准点,往右为X轴正方向,往上为Y轴正方向,并且可以 ...

  2. SAP UI5 应用开发教程之六十 - SAP UI5 地图控件的一些高级用法试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  3. c# AE GIS二次开发学习专题(二) 基本地图控件使用

    GIS二次开发学习专题(二) 基本地图控件使用 学习资料来自<牟乃夏 AE开发教程-基于C#.NET> 发的代码是我整理+老师布置的作业 这一部分是地图基本控件的使用与编写,包括: 一.二 ...

  4. 超图js版 iclient 基本开发 - 加载基本图层(以天地图示例)和基本地图控件

    以超图的在线示例来学习:运行之后如下: 原网址代码比较长一些:先把多的去掉:看一下基本的加载图层和地图控件的概念: <script type="text/javascript" ...

  5. 使用高德JS-API进行基于LBS的开发-地图初始化地图控件

    框架代码: <!DOCTYPE html> <html style="width:100%;height:100%;"> <head><m ...

  6. 高德地图开发手册 php,地图控件-参考手册-地图 JS API | 高德地图API

    在线插件是在基础地图服务上增加的额外功能,您可以根据自己的需要选择添加.插件分为两类:一类是地图控件,它们是用户与地图交互的UI元素,例如缩放控制条(ToolBar)等:一类是功能型插件,用来完成某些 ...

  7. 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

    Dixon 原文  用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方 ...

  8. 【转】Asp.net控件开发学习笔记整理篇 - Asp.net客户端状态管理

    最近一直在做MVC项目,对于WEBFORM 好像快忘记了.周末无聊,顺带看看他人的笔记.再次温习下. 复习大纲: 导航.页面生命周期及其它导论 一.服务器控件生命周期 二.控件开发基础 三.Asp.n ...

  9. Gridview数据控件的七种字段类型

    9.8  数据控件的七种字段类型(Fields Type)的应用 GridView共支持七种字段类型,字段原本应该叫"Column"比较恰当,但ASP.NET 2.0却采用另一个名 ...

最新文章

  1. python神经网络训练效果差_Python与人工神经网络(11)——为什么深度神经网络很难训练...
  2. 中国AI创业公司霸榜NeurIPS-AutoDL竞赛,代码已开源
  3. oracle数据库imp导入失败提示:“不是有效的导出文件, 标头验证失败”解决方法,修改dmp文件里oracle数据库版本号方法
  4. Spring Cloud Netflix Eureka client源码分析
  5. simulink仿真设置
  6. 高考与机器学习训练测试
  7. 【QM-04】Inspection Characteristic(检验特征)
  8. 笔记本移交_创建完美的设计移交
  9. 【PIC18单片机学习笔记】一、程序的烧录
  10. linux更改cxxflags环境变量,在64位的ubuntu 14.04 上开展32位Qt 程序开发环境配置(pro文件中增加 QMAKE_CXXFLAGS += -m32 命令)...
  11. C++编程语言中类的静态成员介绍
  12. 一年级有计算机教学吗,一年级信息技术教学计划范文
  13. 淘宝/天猫API:item_recommend-获取推荐商品列表
  14. 蓄力一纪,可以远矣!十二年的百度地图和他的AI新征程
  15. 谈yolov5车辆识别
  16. Chrome 跨域 请求不携带cookie
  17. Gulp项目报错:AssertionError [ERR_ASSERTION]: Task function must be specified
  18. 共享出行化解城市交通难题(中)
  19. 场效应晶体管与晶体三极管对比,谁能更胜一筹?
  20. 广联达2020秋招测开面试(一面)

热门文章

  1. Win 8中创建系统镜像的方法
  2. PRX 通过LSP实现浏览器Socks5/Tcp代理(从发送数据上着手)
  3. 公历转农历matlab,公历转农历
  4. 使用halo和hexo+github两种方式免费搭建个人博客网站
  5. 基于opencv的车辆检测python_使用OpenCV和Python构建自己的车辆检测模型
  6. 为什么程序员都特别想要一把机械键盘?
  7. 基于ssm的考勤设备和考勤记录管理系统------(二)
  8. AutoHotkey中的变量名 全局与局部冲突问题 - double-ref 双重引用
  9. WPS Office 2019 For Linux 英文版改为中文版
  10. Java中人工智能的框架