OsgGIS 项目解析
来源:互联网 发布:黄牛软件下载 编辑:程序博客网 时间:2024/06/06 01:00
本文对project所使用的xml定义文件做基本的解释.
项目文件:
有两种方式都可以创建一个项目:通过编程或者通过xml文件.我们选择使用xml文件作为project文件的框架是因为:1)xml便于人们阅读和理解2)很多人都很熟悉xml文件的语法格式3)已经存在大量的工具来读写和装换xml数据.
project文件类似于Makefile,它定义了一些列的构建目标和规则.下面是一个基本的project文件:
- <?xml version="1.0" ?>
- <project name="sample">
- <!-- A layer is a primary build target: -->
- <layer name="roads" source="roads" target="out/roads.ive">
- <slice min_range="0" max_range="1e6" graph="roads"/>
- </layer>
- <!-- A source references a vector GIS source layer: -->
- <source name="roads">
- <uri>source/roads.shp</uri>
- </source>
- <!-- A filter graph defines the assembly pipeline for turning features into 3D geometry: -->
- <graph name="roads">
- <filter type="Transform">
- <property name="localize" value="true"/>
- </filter>
- <filter type="BuildGeom">
- <property name="color" value="vec4(1,.6,.4,1)"/>
- </filter>
- <filter type="Collect"/>
- <filter type="BuildNodes"/>
- </graph>
- </project>
所有的元素都定义在<project>下.其中<layer> <source>和<graph>分别定义了project中的不同的组件.下面我们来一一说明.
语法规则
下面是project文件中的一些语法规则:
1.次序性:元素在xml文件中出现的次序是不重要的。有更多元素通过name来引用其他元素.被引用的元素在xml文件中的位置是不重要的.
2.独特性:元素的name只要求在相同元素类型的所有元素中唯一.例如:每一个source元素的名字应该是所有的source中是唯一的.一个source和一个layer同名是可以的。
3.路径分割符:在所有平台上,路径分隔符都是前斜线("/").
4.属性名称:在属性名称中连字符(-)和下划线(_)是被认为是同一个字符.也就是说,use-terrain-srs和user_terrain_srs是同一个名称.
包含文件(include file)
project文件有可能会很巨大而且很复杂,比如:
1.需要编译好几十个图层
2.同一组数据源(datasource)需要在不同的项目中共享
3.同一组资源文件需要在不同的项目中共享
可以通过include元素来合并project文件.被include的文件自己本身也需要有project元素.
下面是范例代码:
- <project name="sample">
- <include>data/source.xml</include>
- <include>resources.xml</include>
- ...
- </project>
include元素可以在文档中的任何位置出现,和其它元素一样,其位置不构成任何影响.
路径和URI(Paths and URIs)
许多元素都会引用外部文件,例如数据文件或者其他需要include的项目文件.文件的路径可以是绝对路径也可以是相对路径。如果是相对路径,那么相对是指相对于包含此引用的项目文件自身的路径.(应该是指直接包含) 下面是范例代码:
- ...
- <source name="trees">
- <uri>c:/data/trees.shp</uri>
- </source>
- <source name="roads">
- <uri>source_data/roads.shp</uri>
- </source>
- ...
在树元素(name="trees")中uri引用了一个绝对路径.而在道路元素(name="roads")中,uri引用了一个相对路径。这个相对路径是相对于包含此source界面的项目文件的位置的.
Project Elements
下面是project文件中的主要元素
- <project> - 顶级元素
- <layer> - 编译一个图层的起点
- <graph> -将图层组合为场景图的管道
- <source> - 引用矢量数据源
- <terrain> - 引用地形数据源
- <resource> - 引用外部的纹理、模型或者其他资源
- <include>? - 引用外部文件
- <script>? - 嵌入式的Lua代码
- <map> - 运行时地图定义
- OsgGIS 项目解析
- OsgGIS 项目解析
- OSGGIS安装
- osgGIS工具简介
- OsgGIS工具简介-2
- OsgGIS 如何准备数据
- VS2005编译OSGGIS
- osgGIS工具简介
- osggis中重新投影数据
- OSGGIS的介绍与下载链接
- lrc 歌词解析项目
- 解析项目需求变更
- rails3项目架构解析
- android项目结构解析
- Android项目文件夹解析
- 项目路径解析
- .Net项目的解析
- rails3项目解析
- Oracle 包锁,解锁
- ubuntu apt-get
- ACMSTEP 2.3.8 小兔的棋盘 //高精度 卡特兰数
- c#调用数据库的WebService
- Linux 下 Qt Creator 的安装使用
- OsgGIS 项目解析
- ANDROID源码编译2 - 下载源代码
- OGNL的用法
- oracle SQL 查询锁表Session
- 编译器开关
- Eclipse调试Android工具集锦之五:猴子
- Unicode文件名中的陷阱
- Asp.net MVC学习日记六(过滤黑名单,使其无法访问)
- IT项目管理的六种错误思维