1. 要素样式字符串

以前的OGR版本样式定义存储为一个字符串的形式,有时存储在每个数据集,每个图层,甚至直接存储在要素中。下面介绍几个样式字符串的示例:

⑴、5个像素宽的一条红线:

"PEN(c:#FF0000,w:5px)"

⑵、黑色边缘蓝色填充的多边形:

"BRUSH(fc:#0000FF);PEN(c:#000000)"

⑶、点符号:

"SYMBOL(c:#00FF00,id:"points.sym-45,ogr-sym-7")"

⑷、文本标签,标签内容为“text_string”,尺寸为12个像素,字体为Times New Roman:

"LABEL(f:"Times New Roman",s:12pt,t:{text_string})"

一个样式表描述一个地理要素:

道路:      PEN(c:#FF0000,w:5px)

湖泊:      BRUSH(fc:#0000FF);LINE(c:#000000)

营地:      SYMBOL(c:#00FF00,id:"points.sym-45,ogr-sym-7")

标签:      LABEL(f:"Times New Roman",s:12pt,t:{text_string})

然而,要素引用样式表样式时,前面加上了一个“@”字符,后面添加样式名称。

例如:一个要素样式设置为“@道路”,那么将绘制一条红色的线。

2. 样式字符串语法

每个要素都有一个样式属性(一个字符串):

<style_property> = "<style_def>" | "" | "@<style_name>" | "{<field_name>}"

l "<style_def>"在下面会给予说明;

l 要素样式属性为空,意味着要素继承该层的样式。

l "@<style_name>"参照图层或者数据集的样式表中预先定义的样式。根据样式名称首先在图层样式表中查找,如果没有找到,在到数据集样式表中查找。

l 最后,"{<field_name>}"意味着这个样式属性应该从空间属性字段中读取。

<style_def>样式的定义。它是有一个或者多个样式部件组成,部件之间使用分号分开。每个样式部件使用了一个绘图工具去定义完成绘图的一部分。

<style_def> =    <style_part>[;<style_part>[;...]]

<style_part> =   <tool_name>([<tool_param>[,<tool_param>[,...]]])

<tool_name> =    绘图工具名称, 现在有: PEN | BRUSH | SYMBOL | LABEL

<tool_param> =   <param_name>:<param_value>

<param_name> =   见每个绘图工具列表(以后会列出)

<param_value> =  <value> | <value><units>

<value> =        "<string_value>" | <numeric_value> | {<field_name>}

<units> =        g | px | pt | mm | cm | in

所有的绘制工具参数是可选的,所以它原则上有一个空的绘制参数列表("PEN()"等)。对于每个参数都没有任何指定的值,要素属性使用应用程序给定的默认值。OGR给定的默认值,不是应用程序必须使用的默认值。

当{<field_name>}用于工具参数的值时,有些选项可能要使用单位,而单位位于字段名称的后面例如:PEN(c:#FF0000,w:{line_width}pt)或者不指明单位,例如:PEN(c:#FF0000,w:{line_width})。第一种情况下,默认单位为点(pt),但是如果属性字段line_width值之后有一个单位的缩写(例如:“5px”,等),在属性字段中指明的单位具有优先权(在这种情况下单位为像素)。记录属性字段中不包含单位的情况大概占多数。

工具参数单位有:

g:  地图基本单位 (自定义单位,需要指定转换比例)

px: 像素

pt:  点(1/72英寸)

mm: 毫米

cm: 厘米

in: 英寸

GDAL/OGR 地理要素样式(二)相关推荐

  1. GDAL/OGR 地理要素样式

    文章转自:https://blog.csdn.net/zhouschina/article/details/8763950 1 符号工具参数 应用的地理要素类型: · 点:符号在点上的位置 · 线:沿 ...

  2. GDAL/OGR 地理要素样式(四)

    1 符号工具参数 应用的地理要素类型: · 点:符号在点上的位置 · 线:沿线放置符号,在每俩个点之间,或者等间距放置. · 多边形:在多边形轮廓内放置符号. 符号工具参数当前列表.记录这个列表最新扩 ...

  3. GDAL / OGR 学习手册 [02] :栅格数据读取

    目录 一.栅格数据驱动 二.gdal.Open 三.gdal.Dataset 四.获取影像的基本信息 1. 获取影像元数据 2. 获取影像基本信息 一.栅格数据驱动 GDAL 通过数据驱动来识别各种类 ...

  4. Java环境下GDAL / OGR环境配置与入门

    Java环境下GDAL / OGR环境配置与入门 0.概述 1.环境配置 1.1 开发环境下载 1.2 环境变量配置 1.3java工程配置 1.3.1新建Java工程 1.3.2添加GDAL的jar ...

  5. C#环境下GDAL / OGR环境配置与入门

    C#环境下GDAL.OGR环境配置与入门 0.概述 1.环境配置 2.类库介绍 3.代码实践 4. 总结 0.概述 由于需要进行一些Shapefile文件的读取和管理,但是ArcGIS的二次开发工具又 ...

  6. [Python] GDAL/OGR操作矢量数据(shp、GeoJSON)

    GDAL项目旨于地理数据抽象模型对地理数据文件进行读写管理:而其项目下有两大类模块:GDAL和OGR OGR提供操作矢量数据的API,GDAL模块提供栅格数据的API [相关链接] 1.GDAL/OG ...

  7. gdal java shp_【GDAL/OGR】利用GDAL/OGR读取shp文件并转换为json文件(Java版)

    前言: 对于GIS开发者来说,GDAL/OGR是最熟悉不过的开源GIS库了,GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间 ...

  8. java gdal postgresql_使用GDAL/OGR操作Postgresql数据库

     GDAL(Geospatial Data AbstractionLibrary)是一个在X/MIT许可协议下的开源栅格空间数据转换库.它利用抽象数据模型来表达所支持的各种文件格式.它还有一系列命 ...

  9. GDAL/OGR 1.9.0获取shp文件中中文字段值和属性值乱码文件解决

    GDAL/OGR 1.9.0又一个新的版本发布,但是又发现了一个对中文支持的问题,在之前的1.8.1版本开始,GDAL开始逐渐加入了对宽字节的支持,或者说是对各种编码的支持,GDAL在默认处理中,将所 ...

最新文章

  1. JQuery 给DOM控件绑定和移除事件的方法
  2. 一脸懵逼学习hadoop之HDFS的java客户端编写
  3. The application was unable to start correctly (0xc000007b)
  4. quartus 修改 时钟_FPGAQuartusII时钟约束.doc
  5. ABAP OLE相关的应用
  6. 2.1.2 操作系统之进程的状态(运行、就绪、阻塞、创建、终止)及转换(就绪-运行、运行-就绪、运行-阻塞、阻塞-就绪)
  7. win7下安装IIS7.0及部署VS2010 ASP.NET程序网站的相关问题
  8. 接口测试用例模板_ITest:京东数科接口自动化测试实践
  9. C语言按下列公式计算 求A20的值,2011年全国计算机二级C语言模拟试题及答案(10)...
  10. mysql 分片 数据迁移_简述MySQL分片中快速数据迁移_MySQL
  11. 服务间的通信 RestTemplate和Feign
  12. 巧用Delegate在Silverlight多个页面、控件中传递回调方法
  13. jquery的图片轮播 模板类型
  14. jQuery文档处理程序
  15. DM6437 OSD调试记录
  16. 美化字体 css3,美化你空间的文字:20种CSS字体镜像特效
  17. LoRa开发|LoRa无线传输技术介绍
  18. 直击2018互联网大裁员:繁花落地,一地鸡毛
  19. linux man shell,Linux Shell man 命令详细介绍
  20. java中级程序员面试题_51CTO下载-JAVA中级程序员面试题

热门文章

  1. Autoencoders
  2. oracle rac lrm 00109,ORA-01078LRM-00109解决方案RACASM
  3. android手势识别总结
  4. Android开发丶使用RxJava来完成倒计时功能
  5. PyScript运行Python第三方库
  6. 哈啰顺风车出师:人车匹配难,用户期待更好打车体验
  7. C++函数与结构体——哥德巴赫猜想
  8. “专利”这些好处你知道吗?
  9. 【嵌入式知识07】借助stm32CubeMX,使用STM32F103C8T6点亮LED流水灯
  10. CSS3实现三角小图标