GIS / Earth 文件配置

 

目  录

1 .fearth文件格式说明... 1

2 .fearth文件格式定义... 1

2.1 典型配置... 1

2.2 主要字段说明... 5

2.3 自定义配置... 6

2.4 图层参考表 (data/ layer) 7

 

 

1  .fearth文件格式说明

.fearth文件采用xml标记语言进行配置,方便用户自行修改使用。

2  .fearth文件格式定义

 

2.1  典型配置

1.fearth典型配置

配置

内容

Http读取影像

<?xml version='1.0' encoding='utf-8' ?>

<root start="-180,-90" end="180,90" level="0" mode="3D" >

  <layers prj="WGS84">

    <layer type         =   "image"

           name         =   "Fast Earth" 

           format       =   ""

           ownerTaskSys =   "1"

           threadNumber =   "8"

           ownerTexMgr  =   "">

      <tileSource

        type    =   "image"

        dll     =   ""

        url     =   "http://www.abc.com?col={col(0)}&row={row(0)}&lev={lev(0)}"

        absPath =   "1"

        user    =   ""

      />

    </layer>

  </layers>

</root>

磁盘读取影像

<?xml version='1.0' encoding='utf-8' ?>

<root start="-180,-90" end="180,90" level="0" mode="3D" >

  <layers prj="WGS84">

    <layer type         =   "image"

           name         =   "Fast Earth" 

           format       =   ""

           ownerTaskSys =   "1"

           threadNumber =   "8"

           ownerTexMgr  =   "">

      <tileSource

        type    =   "image"

        dll     =   ""

        url     =   "d:/gis/data/{lev(1)}/{col(0)}/{row(0)}.jpg"

        absPath =   "1"

        user    =   ""

      />

    </layer>

  </layers>

</root>

Debug图层

<?xml version="1.0" encoding="utf-8"?>

<root>

  <layer type         =   "image"

         name         =   "Debug" 

         format       =   "dxt5"

         ownerTaskSys =   "1"

         threadNumber =   "1"

         ownerTexMgr  =   "">

    <tileSource

      type    =   "image"

      dll     =   ""

      url     =   "DEBUG/{lev(1)}/{col(0)}/{row(0)}.debug"

      absPath =   "1"

      user    =   ""

      />

  </layer>

</root>

本地影像

Debug图层

<?xml version='1.0' encoding='utf-8' ?>

<root start="-180,-90" end="180,90" level="0" mode="3D" >

  <layers prj="WGS84">

    <layer

      type          =   "image"

      name          =   "Layer0" 

      format        =   "dxt5"

      ownerTaskSys  =   "1"

      threadNumber  =   "8"

      ownerTexMgr   =   "">

      <tileSource

        type    =   "image"

        dll     =   ""

        url     =   "d:/images/{lev(1)}/{col(0)}/{row(0)}.jpg"

        absPath =   "1"

        user    =   ""

      />

    </layer>

    <layer

      type          =   "image"

      name          =   "Layer1"

      format        =   "rgba"

      ownerTaskSys  =   "1"

      threadNumber  =   "1"

      ownerTexMgr   =   "">

      <tileSource

        type    =   "image"

        dll     =   ""

        url     =   "DEBUG/{lev(1)}/{col(0)}/{row(0)}.debug"

        absPath =   "1"

        user    =   ""

      />

    </layer>

  </layers>

</root>

高程图层

<?xml version='1.0' encoding='utf-8' ?>

<root start="-180,-90" end="180,90" level="0" mode="3D" >

  <layers prj="WGS84">

    <layer

    type          =   "dem"

    name          =   "cesium"

    ownerTaskSys  =   "1"

    threadNumber  =   "4"

    home          =   "103.5,31.0,20000">

      <tileSource

        url     =   "D:\dem\{lev(0)}/{col(0)}/{rrow(0)}.terrain"

        absPath =   "1"

      />

    </layer>

  </layers>

</root>

影像+高程

<?xml version='1.0' encoding='utf-8' ?>

<root start="-180,-90" end="180,90" level="0" mode="3D" >

  <layers prj="WGS84">

    <layer type         = "image"

           name         = "Fast Earth" 

           format       = ""

           ownerTaskSys = "1"

           threadNumber = "8"

           ownerTexMgr  = "1">

      <tileSource

        type    =   "image"

        dll     =   ""

        url     =   "http://127.0.0.1:8088/x={col(0)}&y={row(0)}&z={lev(0)}"

        absPath =   "1"

        user    =   ""

      />

    </layer>

    <layer

          type          =   "dem"

          name          =   "cesium"

          ownerTaskSys  =   "1"

          threadNumber  =   "4"

          home          =   "103.5,31.0,20000">

      <tileSource

        url     =   "D:\dem\{lev(0)}/{col(0)}/{rrow(0)}.terrain"

        absPath =   "1"

      />

    </layer>

  </layers>

</root>

 

离线包

<?xml version='1.0' encoding='utf-8' ?>

<root start="-180,-90" end="180,90" level="0" mode="3D" >

  <layers prj="WGS84">

    <layer

          name          = "FEPK"

          type          = "image"

          format        = "dxt5"

          home          = "0.000000,0.000000,0.000000"

          ownerTaskSys  = "1"

          threadNumber  = "4"

          >

      <tileSource

          type      = "image"

          url       = "E:\world.fepk?{lev(0)}/{col(0)}/{row(0)}.fepk"

          absPath   = "1"

          user      = ""/>

    </layer>

  </layers>

</root>

全球离线配置

 

实时图层

<?xml version='1.0' encoding='utf-8' ?>

<root start="-180,-90" end="180,90" level="0" mode="3D" >

  <layers prj="WGS84">

    <root>

      <layer type="vector" name="rtt" />

    </root>

  </layers>

</root>

配置森林图层

<?xml version="1.0" encoding="utf-8"?>

<root>

  <layer name="forest" type="forest" home="116.000000,40.000000,0.000000">   

  </layer>

</root>

标会图层

<?xml version="1.0" encoding="utf-8"?>

<root>

  <layer type="mark" home="116,40,10000" range="0,16">

  </layer>

</root>

 

 

2.2  主要字段说明

2.fearth字段属性说明

节点

字段

说明

root

start

描述整个地图的经纬度最小坐标
(-180,-90)~(+180,+90)

end

描述整个地图的经纬度最大坐标
(-180,-90)~(+180,+90)

level

金字塔开始级别0-18,可以指定从哪一个级别开始加载数据

mode

绘制模式
1.2D
2.2.5D
3.3D

layers

prj

投影支持
1.WGS84
2.Mercator

layer

type

1.image
2.dem
3.vector
4.rtt

home

经纬高(角度描述),主要用于定位使用

name

图层的名称,系统中唯一标识

format

1.rgb
2.rgba
3.dxt5

ownerTaskSys

0或者1

threadNumber

如果为0,则使用系统的任务系统

ownerTexMgr

建议值1

tileSource 

 

 

type

1.image
2.dem
3.vector
4.rtt

dll

 

url

可以是是网络路径,也可以是本地路径

absPath

说明url使用的是相对路径,还是绝对路径

cache.reader.enabled

是否启用cache.reader,可以从本地图文件中读取小部分数据

cache.reader.url

数据的路径,只能是本地路径

cache.reader.abs

是否是绝对路径,目前支持0,1,2

0,绝对

1,相对

2,相对.fearth文件路径

cache.reader.startLev

数据开始级别

cache.reader.endLev

数据结束级别

user

该值将传递到插件中,插件自行解释

 

2.3  自定义配置

用户可以根据数据源类型自由配置数据源类型,下表提供一些辅助函数给用户使用。

3.fearth自定配置数据源

函数名

参数

意义

row(int)

获取行号,参数默认是0
row(0) 输出0
row(n) 输出n

FE行号是从0开始计算,有些GIS系统是从1开始计算,那么需要进行转换

row(int,string)

获取行号
参数1:同上
参数2:格式化说明,参见sprintf(C++)格式化字符串函数
row(0,"%06d")   输出000000
row(11,"%06d") 输出000011

 

rrow(int)

获取行号,参数默认是0@row(int)
rrow(0) 输出 2^lev - 1
rrow(n) 输出2^lev - n

FE行号是从左下角开始计算,有些GIS系统是从左上角计算。

rrow(int,string)

获取行号
参数1:同上
参数2:格式化说明,参见sprintf(C++)格式化字符串函数

 

col(int)

获取列号,参数默认是0
col(0) 输出0
col(n) 输出n

FE列好是从0开始计算,有些GIS系统是从1开始计算,那么需要进行转换

col(int,string)

获取列号
参数1:同上
参数2:格式化说明,参见sprintf(C++)格式化字符串函数
col(0,"%06d")   输出000000
col(11,"%06d") 输出000011

 

rcol(int)

参见rrow(int)

FE行号是从左下角开始计算,有些GIS系统是从右上角计算

rcol(int,string)

参见rrow(int,string)

 

lev(int)

lev(0) 输出0
lev(n) 输出n

 

lev(int,string)

lev(0,"%06d")   输出000000
lev(11,"%06d") 输出000011

 

rand(int,int)

rand(3,7) 输出3~7之间的数字

 

rand(int,int,string)

rand(3,7,dir%d) 输出dir3~dir7之间的数字

 

randList(string...)

randList(a,b,c,d,ee,ff,ggg,xxx,abcde) 输出其中一个字符串

 

 

2.3.1  拼接示例1

字符串:d:/gis/data/{lev(1)}/{col(0)}/{row(0)}.jpg  

输  入:0,0,0

输  出:d:/gis/data/1/0/0.jpg

2.3.2  拼接示例2

字符串:d:/gis/data/{lev(1,%2d)}/{col(0)}/{row(0)}.jpg   

输  入:0,0,0

输  出:d:/gis/data/01/0/0.jpg

 

2.3.3  拼接示例3

字符串:d:/gis/data/{lev(1,L%2d)}/{col(0)}/{row(0)}.jpg 

输  入:0,0,0

输  出:d:/gis/data/L01/0/0.jpg

 

2.3.4  拼接示例4

字符串:d:/gis/data/{lev(1,L%2d)}/{col(0,%6d)}/{row(0)}.jpg 

输  入:1,2,3

输  出:d:/gis/data/L02/0000002/000003.jpg

2.3.5  拼接示例5-rcol

字符串:d:/gis/data/{lev(0)}/{rcol(0)}/{row(0)}.jpg 

输  入:2,0,0

输  出:d:/gis/data/2/3/0.jpg

 

2.3.6  拼接示例6-rrow

字符串:d:/gis/data/{lev(0)}/{ col(0)}/{rrow(0)}.jpg

输  入:2,0,0

输  出:d:/gis/data/2/0/1.jpg

2.3.7  拼接示例7-rand

字符串:d:/gis/data{rand(0,4)}/{lev(0)}/{ col(0)}/{ row(0)}.jpg     

输  入:2,0,0

输  出:d:/gis/data0/2/0/0.jpg

               d:/gis/data1/2/0/0.jpg

               d:/gis/data2/2/0/0.jpg

               d:/gis/data3/2/0/0.jpg

               一次输出上述任意一个

2.3.8  拼接示例7-randList

字符串:d:/ {randList(aa,bb,cc,dd)}/data/{lev(0)}/{ col(0)}/{ row(0)}.jpg   

输  入:2,0,0

输  出:d:/aa/data0/2/0/0.jpg

               d:/bb/data1/2/0/0.jpg

               d:/cc/data2/2/0/0.jpg

               d:/dd/data3/2/0/0.jpg

               一次输出上述任意一个 

 

 

posted @ 2021-04-25 20:21  经纬视界  阅读(452)  评论(0)    收藏  举报