行侠何须仗名剑,我自成佛不读经!

不求闻达于网络,但求恭耕于博客;记蒜皮之小事,积程序之点滴,学编程之道,做厚道之人。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

中国联通SPACCESS接口规范

Posted on 2006-04-24 22:27  中原  阅读(2280)  评论(7)    收藏  举报
 

中国联通公司发布

××××-××-××实施

××××-××-××发布

QB/CU ×××—××××

中国联通公司企业标准

 

 

 

中国联通CDMA定位业务SPACCESS接口技术要求

 

 China Unicom CDMA Location Based Service:Technical Requirements of the SPACCESS Interface

V1.0

 

 


 

 


目次

... VI

1     范围... 1

2     规范性引用文件... 1

3     缩略语... 1

4     概述... 2

4.1      SPACCESS接口... 2

4.2      承载方式... 2

4.3      语法... 2

4.3.1       约定... 2

4.3.2       DTD语法... 3

5     接口描述... 3

5.1      消息流程... 3

5.2      服务类型... 4

6     接口协议... 6

6.1      头信息结构... 8

6.1.1       请求头... 8

6.1.2       应答头... 9

6.2      立即定位Location Immediate... 10

6.2.1       立即定位请求(LIR... 10

6.2.2       立即定位应答(LIA... 12

6.2.3       立即定位报告(LIREP... 13

6.3      触发定位(Triggered Location... 13

6.3.1       触发定位请求(LTR... 13

6.3.2       触发定位应答(LTA... 14

6.3.3       触发定位报告(LTREP... 14

6.3.4       触发定位终止请求(LCTR... 15

6.3.5       触发定位终止应答(LCTA... 15

6.4      地图绘制(Mapping... 15

6.4.1       地图绘制请求(MPR... 15

6.4.2       地图绘制应答(MPA) 16

6.5      矢量地图服务(Vector Mapping... 16

6.5.1       矢量地图服务请求(VMR... 16

6.5.2       矢量地图服务应答(VMA... 17

6.6      目录服务(Directory... 17

6.6.1       目录服务请求(DRR... 17

6.6.2       目录服务应答(DRA... 19

6.7      路径搜索(Route... 19

6.7.1       路径搜索请求(RTR) 19

6.7.2       路径搜索应答(RTA) 20

6.8      地理编码(Geocode... 21

6.8.1       地理编码请求(GCR) 22

6.8.2       地理编码应答(GCA) 22

6.9     逆地理编码(ReverseGeocode... 22

6.9.1       逆地理编码请求(RGR) 22

6.9.2       逆地理编码应答(RGA) 23

6.10        测算(Cogo... 23

6.10.1     测算请求(CGR... 23

6.10.2     测算应答(CGA) 24

6.11     元数据(MetaData... 25

6.11.1     元数据请求(MDR... 25

6.11.2     元数据应答(MDA... 25

6.12        公用元素的DTD.. 27

6.12.1     GEOMETRY. 27

6.12.2     UOMUnit of Measure... 29

6.12.3     ADT (Abstract Data Type) 30

7     DTD中的元素和属性... 33

7.1      头信息结构... 33

7.1.1       SESSIONID.. 33

7.1.2       ServiceID.. 33

7.1.3       GISID.. 33

7.1.4       POIProviderID.. 34

7.2      立即定位... 34

7.2.1       MSID.. 34

7.2.2       START_MSID.. 35

7.2.3       STOP_MSID.. 35

7.2.4       QUERYPASSWORD.. 35

7.2.5       PRIO.. 35

7.2.6       RES_TYPE. 36

7.2.7       RESP_TIMER. 36

7.2.8       RESULT. 36

7.2.9       RESP_REQ.. 36

7.2.10     HOR_ACC. 37

7.2.11     ID.. 37

7.2.12     ALT_ACC. 37

7.2.13     POSREQTYPE. 37

7.2.14     COORD_SYS. 37

7.2.15     DATUM.. 38

7.2.16     LL_FORMAT. 38

7.2.17     POSOUR. 38

7.3      触发定位... 39

7.3.1       REQ_ID.. 39

7.3.2       INTERVAL. 39

7.3.3       START_TIME. 39

7.3.4       STOP_TIME. 40

7.3.5       TIME_ REMAINING.. 40

7.3.6       PR_TRIGGER. 41

7.3.7       TRL_POS. 41

7.3.8       TRL_TRIGGER. 41

7.3.9       URL. 42

7.4      地图绘制(Mapping... 42

7.4.1       Output 42

7.4.2       Basemap. 44

7.4.3       Layer 45

7.4.4       Style. 45

7.4.5       Name. 46

7.4.6       stylecontent 46

7.4.7       Overlay. 46

7.5      矢量地图服务(Vector Mapping... 47

7.5.1       VMR. 47

7.5.2       Argument 48

7.5.3       VMA. 48

7.6      目录服务(Directory... 49

7.6.1       sortCriteria. 49

7.6.2       sortDirection. 50

7.6.3       POIProperties 50

7.6.4       POIProperty. 51

7.6.5       POILocation. 51

7.6.6       Nearest 52

7.6.7       WithinDistance. 52

7.6.8       WithinBoundary. 53

7.6.9       POIContext 54

7.7      路径搜索Route... 54

7.7.1       provideRouteHandle. 54

7.7.2       distanceUnit 54

7.7.3       RoutePlan. 55

7.7.4       RoutePreference. 56

7.7.5       BusRoutePreference. 56

7.7.6       WayPointList 56

7.7.7       StartPoint 57

7.7.8       ViaPoint 58

7.7.9       EndPoint 58

7.7.10     AvoidList 58

7.7.11     AvoidFeature. 59

7.7.12     RouteInstructionRequest 59

7.7.13     RouteGeometryRequest 60

7.7.14     RouteMapRequest 61

7.7.15     RouteMap. 61

7.7.16     RouteSummary. 61

7.7.17     TotalTime. 62

7.7.18     TotalDistance. 62

7.7.19     TotalCost 62

7.7.20     BoundingBox. 63

7.8      地理编码Geocode... 63

7.8.1       GeocodeResponseList 63

7.8.2       GeocodedAddress 64

7.9      逆地理编码(ReverseGeocode... 64

7.9.1       ReverseGeocodePreference. 64

7.9.2       SearchArea. 65

7.9.3       ReverseGeocodedLocation. 65

7.9.4       SearchCentreDistance. 65

7.10        测算(Cogo... 66

7.10.1     Reqcalculation. 66

7.10.2     PointToPointDistance. 66

7.10.3     PointInGeometry. 67

7.10.4     Linebuffer 68

7.10.5     ResCalculation. 68

7.10.6     Containment 68

7.11     元数据(MetaData... 69

7.11.1     AvailableSRS. 69

7.11.2     AvailableLayers 69

7.11.3     AvailableFormats 69

7.11.4     AvailableStyles 70

7.11.5     SRS. 70

7.11.6     Format 70

7.11.7     VectorDataInfo. 71

7.12        公用元素的DTD.. 71

7.12.1     pos 71

7.12.2     Point 72

7.12.3     LineString. 73

7.12.4     Polygon. 73

7.12.5     exterior 73

7.12.6     interior 74

7.12.7     LinearRing. 74

7.12.8     MultiPolygon. 74

7.12.9     polygonMember 74

7.12.10       ArcByCenterPoint 75

7.12.11    CircleByCenterPoint 75

7.12.12       CircularArc. 76

7.12.13       startAngle. 77

7.12.14       endAngle. 77

7.12.15       Ellipse. 77

7.12.16       majorAxis 78

7.12.17       minorAxis 78

7.12.18       rotation. 78

7.12.19       boundedBy. 78

7.12.20       Envelope. 79

7.12.21       CompassPoint 79

7.12.22       innerRadius 80

7.12.23       OuterRadius 80

7.12.24       Altitude. 80

7.12.25       Angle. 81

7.12.26       Distance. 82

7.12.27       Speed. 83

7.12.28       Time. 84

7.12.29       Timestamp. 85

7.13    ADT. 86

7.13.1     AOI 86

7.13.2     Map. 86

7.13.3     Content 87

7.13.4     Data. 87

7.13.5     URL. 87

7.13.6     BBoxContext 88

7.13.7     CenterContext 88

7.13.8     DispalyScale. 89

7.13.9     DPI 89

7.13.10       radius 89

7.13.11    POI 90

7.13.12       POIAttributeList 91

7.13.13       POIInfoList 92

7.13.14       POIInfo. 92

7.13.15       ReferenceSystem.. 92

7.13.16       NamedReferenceSystem.. 92

7.13.17       CUCS. 93

7.13.18       Address 94

7.13.19       freeFormAddress 95

7.13.20       StreetAddress 95

7.13.21       StreetIntersection. 95

7.13.22       Place. 95

7.13.23       PostalCode. 96

7.13.24       Street 96

7.13.25       IntersectingStreet 97

7.13.26       Building. 97

7.13.27       Position. 98

7.13.28       Qop. 99

7.13.29       HorizontalAcc. 100

7.13.30       VerticalAcc. 100

7.13.31       Direction. 100

7.13.32       RouteGeometry. 101

7.13.33       RouteHandle. 102

8     结果代码和错误代码... 102

8.1      HAD返回的结果代码... 103

8.2      RESULT元素中的错误代码... 105

 


 

 

前 言

本标准规定了SPLCS中间件之间的接口。该接口协议基于HTTPSSLXML等现有的技术。

 

本标准由中国联合通信有限公司技术部提出并归口。

本标准起草单位:信息产业部电信传输研究所 中国联合通信有限公司 华信邮电咨询设计研究院有限公司

本标准主要起草人:董晓鲁 于鹏 马旭 查旭东

本标准的修改和解释权属于中国联合通信有限公司增值业务部

 


 

 

中国联通CDMA定位业务SPACCESS接口技术要求

1           范围

本标准规定了CDMA数字蜂窝移动通信网中为完成定位业务,LCS 中间件与SP之间消息接口技术要求。

        本标准适用于800MHz数字蜂窝移动系统,供运营、管理、规划以及相关设备的引进与生产时使用。

2           规范性引用文件

      下列文件中的条款通过本标准的引用而称为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本,凡是不注日期的引用文件,其最新版本适用于本部分。

 

LIF TS 101 v2.0.0

Mobile Location Protocol

 

 

 

 

 

 

 

 

 

3           缩略语

CDMA

Code Division Multiple Access

码分多址

DTD

Document Type Definition

文件类型定义

MPC

Mobile Position Center

移动定位中心

MS

Mobile Station

移动台

PDE

Position Determining Entity

定位实体

HTTP   

Hypertext Transfer Protocol

超文本传输协议

LBS    

Location Based Service

位置业务

LIR

Location Immediate Request

位置立即请求

LIA

Location Immediate Answer

位置立即答复

LTR

Location Trigger Request

触发位置请求

LTA

Location Trigger Answer

触发位置答复

LCTR

Location Cancle Trigger Request

触发型位置请求取消

LCTA

Location Cancle Trigger Answer

触发型位置请求取消答复

LTRR   

Location Trigger Request Report

触发位置请求报告

GIS     

Geography Information System

地理信息系统

MSID   

Mobile Station Identifier

移动台标识

SSL     

Secure Socket Layer

安全套接字层

URL    

Uniform Resource Locator

统一资源标识符

 

 

 

 

 

 

4           概述

 

4.1         SPACCESS接口

 

SPACCESS接口是SP与本地位置服务子系统以及SP与总部LCS中间件之间的接口。

 

 

 

1 GIS接口相关网络示意图

 

如图1所示,SPACCESS接口用于向SP提供服务,服务的访问和响应有如下方式:

本地SP请求本地的位置服务子系统:本地SP通过SPACCESS接口访问本地位置服务子系统,本地位置服务子系统再通过GIS接口访问本地GIS系统,以提供地图服务;或者通过L1接口访问MPC,以提供经纬度信息。

全国SP通过SPACCESS接口访问总部的LCS中间件,LCS中间件再通过GIS接口访问总部的GIS系统,以提供地图服务;或者通过L1接口访问MPC,以提供经纬度信息。

 

4.2         承载方式

 

SPACCESS接口的承载协议为HTTP 传输协议,请求格式采用XML

HTTP 基于服务器/客户机模式的请求/应答协议。在SPACCESS接口协议中的客户即是指SP,而服务器是LCS。关于HTTP,请参阅: http://www.w3.org

SPLCS 可以通过两种网络连接的端口来进行连接,一种方式是通过一个安全端口通过SSL/TLS 加密保证安全,另一个通过一个无须加密的端口。如果SP放在LBSVPN网络内,也就是在信任/安全域内,可以采用后者不加密的方式;如果SP处于非信任域,比如Internet,则使用需要加密的安全端口来保证信息的安全与服务的质量。

SP选择下面两个端口用于位置服务:

l         8897 用于安全传输(SSL/TLS 加密)

l         8898 用于非安全传输

 

4.3         语法

4.3.1          约定

特殊符号的标识:

回车(ASCII码为13               CR

换行(ASCII码为10               LF

空格(ASCII码为32               SP

[a-z]                                  表示可以为所有小写字母

[A-Z]                                 表示可以为所有大写字母

[0-9]                                  表示可以为从09的任何数字

{min,max}                            表示长度在minmax之间

[a-z,A-Z,0-9]                         表示可以为所有小写字母、所有大写字母、09的所有数字

举例:

[0-9] {7,8}表示长度为7位或8位的数字串,如8787767即符合要求,而119不符合要求

[B-D]{3,4}表示长度为3位或4位的B-D的字符串,如BBC符合要求,BBCCDABC不符合要求

[a,C,7-9]{1}表示可以为aC789

4.3.2          DTD语法

+                                          大于或等于1

*                                          大于或等于0

?                                           0或者1

()                                          一组标签

|                                           

,                                           与,但有前后顺序

<space>                                   与,但没有前后顺序

 

5           接口描述

5.1         消息流程

 

SPSP 通过HTTP POST 方式请求到LCS。请求行格式为:

POST SP host SP HTTP/1.1 CRLF

请求中必须包含实体头Content-length,请求的消息体是XML 格式的请求消息,其长度由Content-length 指定。所有服务请求都被送到一个特定的URL,下面是一个URL 的例子:

http://host:port/SPACCESSQueryService/

LCS系统对请求进行响应并回送HTTP 应答消息。

有关地理信息(GIS)方面的服务和同步定位功能可由一对HTTP请求/应答完成。应答消息中包含服务结果或错误信息。其流程可用下图表示:

GIS

HTTP POST (SP-Gis/Sync Position) Request)

HTTP Response (SP-Gis/Sync Position)  Answer)

 

 

 

 

 

 

 

 

 


在异步定位和触发定位的情况下,应答消息只是返回该请求已收到,而定位结果则在一个称为report的消息中返回,即采用了通知的机制(由服务器端通知客户端)。这种方式下的流程如下:

 

SP

LCS

 

1)HTTP POST (CP-Position Request)

2)HTTP Response (SP-Position Answer)

 

 

 

 

 


 

 

 

3) HTTP POST (SP-Position Report)

 

 

 

 

 


5.2         服务类型

SPACCESS接口定义了LCSSP提供的基本服务,服务包括两个方面,既定位服务和地理信息服务。LCSSP发来的定位请求转发倒MPC而获取位置信息。地理信息(GIS)功能则通过GIS接口从GIS系统获取。SPACCESS定义的服务类型如下表:

服务名称

描述

立即定位 (Location Immediate)

LCS必须立即(在一定时间内)对位置请求进行响应,返回终端的位置信息;请求和响应是同步的,或者请求在若干个异部模式下返回;立即定位有请求消息LIR和应答消息LIA,异步情形下,LIA不进行定位结果的传递,而只是LCS设备用于确认定位请求已经收到,而定位结果则在LIREP中进行传递:

 

触发定位(Triggered Location

位置请求设置了定位条件,在条件满足时LCS对终端进行定位并把定位结果回传到位置请求者,定位过程需要鉴权,位置请求和位置报告是异步进行,一般在不同的连接中完成;触发定位有下列消息(触发定位请求LTR,触发定位应答LTA,触发位置报告LTREP,取消触发定位请求LCTR,取消触发定位应答LCTA),LTA请求一般不进行定位结果的传递,而只是LCS设备用于确认定位请求已经收到,而定位结果则在LTREP中进行传递:

 

地图绘制(Mapping

根据客户端的请求(地图范围、图层和绘制样式等),返回地图数据。地图数据是栅格形式的地图。地图栅格化定义多种图片格式输出支持,例如GIFJPEGPNGWMPBMP等等。地图图片可以通过BASE-64 编码文档的方式在XML文档里返回,也可以只返回URL

“地图绘制”还可以在“原始”的地图上“绘制”各种几何元素或地理对象。

矢量地图(Vector Mapping

根据客户端的请求,首先取得地图基础可以利用的信息,以及地图描画信息,然后利用矢量地图取得接口,取得矢量地图数据。

从矢量地图接口返回的数据遵循提供服务的GIS厂家的格式/标准,返回内容是二进制数据,使用BASE-64编码在XML文档中返回。

目录服务(Directory

POI的查找,包括:距离最近查找,一定范围内查找,和根据属性(如名称、电话号码等)查找。

 

路径搜索(Route

提供两点之间的各种方式(自驾车、公交车、步行)的行驶路线。

“路径搜索服务”支持如下的操作:

1.全路径:依据请求指定的信息(自驾车、步行、公交车方式,最短、最快以及不走高速公路,途经多点等等方式)返回整个路径的信息。

2.途经多点方式:依据请求指定的点序列(缺省的情况下首末点为起止点),搜索经过所有指定点的路径。

3.排除条件:基于不同的道路类型、地域类型,可以指定是否走高速公路,城区,还可以指定不走的道路。

4.时间与距离信息:服务将返回多个基于起点、终点和分段路线的时间和距离计算结果

 

地理编码(GeoCode

把一个街道地址或邮编编码成一个地理位置。

逆地理编码(ReverseGeocode

把一个地理位置反编码成一个街道地址或邮编。

测算(Cogo

进行几何要素的测算。目前该服务支持的操作包括计算两点之间的直线距离;判定点是否在某个指定的区域内。测算服务可以通过一次请求完成多个测算操作。

元数据(MetaData

提供GIS系统元数据。目前能提供的元数据包括:1)系统可提供的服务;2)地图覆盖的地理范围,行政区划目录,3)图层信息,地物分类;4)属性数据列名称和数据类型等。

 

 

 

6           接口协议

SPACCESS请求和应答消息都由两部分组成:消息头(header context)和消息体(body),消息头包含了一些认证信息等,消息体中则是请求的具体内容。

SPACCESS 请求 DTD

<!--SPACCESS_REQUEST -->

<!ELEMENT Spaccess_Req ( HDR, (LIR | LTR | LCTR | MPR | VMR | DRR | RTR | GCR | RGR | CGR | MDR ))>

<!ATTLIST Spaccess_Req

Ver CDATA #FIXED "1.0.0"

 

<!ENTITY % spaccess_lir.dtd SYSTEM "SPACCESS_LIR_100.DTD">

%spaccess_lir.dtd;

<!ENTITY % spaccess_ltr.dtd SYSTEM "SPACCESS_LTR_100.DTD">

%spaccess_ltr.dtd;

<!ENTITY % spaccess_lctr.dtd SYSTEM "SPACCESS_LCTR_100.DTD">

%spaccess_lctr.dtd;

<!ENTITY % spaccess_mpr.dtd SYSTEM "SPACCESS_MPR_100.DTD">

%spaccess_mpr.dtd;

<!ENTITY % spaccess_vmr.dtd SYSTEM "SPACCESS_VMR_100.DTD">

%spaccess_vmr.dtd;

<!ENTITY % spaccess_drr.dtd SYSTEM "SPACCESS_DRR_100.DTD">

%spaccess_drr.dtd;

<!ENTITY % spaccess_rtr.dtd SYSTEM "SPACCESS_RTR_100.DTD">

%spaccess_rtr.dtd;

<!ENTITY % spaccess_gcr.dtd SYSTEM "SPACCESS_GCR_100.DTD">

%spaccess_gcr.dtd;

<!ENTITY % spaccess_rgr.dtd SYSTEM "SPACCESS_RGR_100.DTD">

%spaccess_rgr.dtd;

<!ENTITY % spaccess_cgr.dtd SYSTEM "SPACCESS_CGR_100.DTD">

%spaccess_cgr.dtd;

<!ENTITY % spaccess_mdr.dtd SYSTEM "SPACCESS_MDR_100.DTD">

%spaccess_mdr.dtd;

 

<!ENTITY % spaccess_geometry.dtd SYSTEM "SPACCESS_GEOMETRY_100.DTD">

%gis_geometry.dtd;

<!ENTITY % spaccess_adt.dtd SYSTEM "SPACCESS_ADT_100.DTD">

%gis_adt.dtd;

例子:

<?xml version ="1.0"?>

<!DOCTYPE Spaccess_Req SYSTEM "SPACCESS_100.dtd">

<Spaccess_Req Ver="1.0.0">

<HDR>

……

</HDR>

<MPR>

……

</MPR>

</Spaccess_Req>

 

 

 

SPACCESS 应答 DTD

<!-- SPACCESS_RESPONSE -->

<!ELEMENT Spaccess_Res ( HDA, (LIA | LIREP |LTA | LTREP |LCTA | MPA | VMA | DRA | RTA | GCA | RGA | CGA | MDA)?)>

<!ATTLIST Spaccess_Res

Ver CDATA #FIXED "1.0.0"

 

<!ENTITY % spaccess_lia.dtd SYSTEM "SPACCESS_LIA_100.DTD">

%spaccess_lia.dtd;

<!ENTITY % spaccess_lirep.dtd SYSTEM "SPACCESS_ LIREP_100.DTD">

%spaccess_lirep.dtd;

<!ENTITY % spaccess_lta.dtd SYSTEM "SPACCESS_LTA_100.DTD">

%spaccess_lta.dtd;

<!ENTITY % spaccess_ltrep.dtd SYSTEM "SPACCESS_ LTREP_100.DTD">

%spaccess_ltrep.dtd;

<!ENTITY % spaccess_lcta.dtd SYSTEM "SPACCESS_ LCTA 100.DTD">

%spaccess_lcta.dtd;

<!ENTITY % spaccess_mpa.dtd SYSTEM "SPACCESS_MPA_100.DTD">

%spaccess_mpa.dtd;

<!ENTITY % spaccess_vma.dtd SYSTEM "SPACCESS_VMA_100.DTD">

%spaccess_vma.dtd;

<!ENTITY % spaccess_dra.dtd SYSTEM "SPACCESS_DRA_100.DTD">

%spaccess_dra.dtd;

<!ENTITY % spaccess_rta.dtd SYSTEM "SPACCESS_RTA_100.DTD">

%spaccess_rta.dtd;

<!ENTITY % spaccess_gca.dtd SYSTEM "SPACCESS_GCA_100.DTD">

%spaccess_gca.dtd;

<!ENTITY % spaccess_rga.dtd SYSTEM "SPACCESS_RGA_100.DTD">

%spaccess_rga.dtd;

<!ENTITY % spaccess_cga.dtd SYSTEM "SPACCESS_CGA_100.DTD">

%spaccess_cga.dtd;

<!ENTITY % spaccess_mda.dtd SYSTEM "SPACCESS_MDA_100.DTD">

%spaccess_mda.dtd;

 

<!ENTITY % spaccess_geometry.dtd SYSTEM "SPACCESS_GEOMETRY_100.DTD">

%gis_geometry.dtd;

<!ENTITY % spaccess_adt.dtd SYSTEM "SPACCESS_ADT_100.DTD">

%gis_adt.dtd;

 

<?xml version ="1.0"?>

<!DOCTYPE Spaccess_Res SYSTEM "SPACCESS_100.dtd">

<Spaccess_Res Ver="1.0.0">

<HDA>

……

</HDA>

<MPA>

……

</MPA>

</Spaccess_Res>

 

 

下面对消息头和各类服务类型的DTD分别进行描述。

6.1         头信息结构

 

6.1.1          请求头

 

<!ELEMENT HDR ((Client| SessionID |(Client, SessionID)), GISID?Region?, Originator?)>

<!ATTLIST HDR

Version CDATA #FIXED "1.0.0">

 

<!ELEMENT Client (Id, Pwd?ServiceID?)>

<!ELEMENT Id (#PCDATA)> 

<!ELEMENT Pwd (#PCDATA)>

<!ELEMENT ServiceID (#PCDATA)>

 

<!ELEMENT SessionID (#PCDATA)>

 

<!ELEMENT GISID (#PCDATA)>

 

<!ELEMENT Region ( Envelope| Point |Place* )>

 

<!ELEMENT Originator (Orid,Orid_type)>

<!ELEMENT Orid (#PCDATA)>

<!ELEMENT Orid_type (#PCDATA)>

例子

<HDR Version=“1.0.0">

<Client>

<Id>XYZ123</Id>

<Pwd>123456</Pwd>

</Client>

<Region>

    <Point>

        <pos>-114.342 50.234</pos>

    </Point>

</Region>

<Originator>

 <Orid>13300000001</Orid>

 <Orid_type>0</Orid_type>

</Originator>

</HDR>

 

6.1.2          应答头

 

<!ELEMENT HDA (SessionID, POIProviderID*, (Success | Error+))>

<!ATTLIST HDA

Version CDATA #FIXED "1.0.0">

 

<!ELEMENT SessionID (#PCDATA)>

 

<!ELEMENT POIProviderID (#PCDATA)>

 

<!ELEMENT Success  EMPTY>              //具体含义参见第8

<!ATTLIST Success

SuccessCode (ResponseIsTheRight | ResponseIsNull) #REQUIRED

Message CDATA #IMPLIED

 

<!ELEMENT Error (XMLError|SecurityError|ServiceError)+> //具体含义参见第8

<!ATTLIST Error

Service CDATA #IMPLIED    //所请求的服务(例如地图绘制用MPR表示)

highestSeverity (Warning | Error) #IMPLIED

 

<!ELEMENT XMLError EMPTY>

<!ATTLIST XMLError

ErrorCode (RequestVersionMismatch | ResponseVersionMismatch | ValueNotRecognized | NotSupported | Inconsistent | OtherXml | Unknown) #REQUIRED

severity (Warning | Error) #IMPLIED

locationID IDREF #IMPLIED

locationPath CDATA #IMPLIED

message CDATA #IMPLIED

<!ELEMENT SecurityError EMPTY>

<!ATTLIST SecurityError

ErrorCode (UserIDIllegal | PasswordIllegal  | AuthorityIllegal | Unknown) #REQUIRED

message CDATA #IMPLIED

 

<!ELEMENT ServiceError EMPTY>

<!ATTLIST ServiceError

ErrorCode (OutService| ServiceIsNull |  Unknown) #REQUIRED

message CDATA #IMPLIED

 

<!--locationID: The ID of the element associated with the error.-->

<!--locationPath: the path to the XML element or attribute associated with the error.-->

例子

<HDA Version=“1.0.0">

<SessionID>15968</SessionID>

<Error Service="MPR" highestSeverity="Error">

     <SecurityError message="The request is error." ErrorCode="PasswordIllegal"/>

     <XMLError ErrorCode="ValueNotRecognized" message="The request is error." severity="Error"/>

     <ServiceError ErrorCode="ServiceIsNull"/>

</Error>

 

</HDA>

 

 

6.2         立即定位Location Immediate

6.2.1          立即定位请求(LIR

<!ELEMENT LIR (ORIGUSER_ACCESSTYPE, FINDME_INDIC+, MSIDS+, POSREQTYPE?, GEO_INFO?, PQOS? , PRIO?, PUSHADDR?)>

<!ATTLIST LIR RES_TYPE (SYNC | ASYNC) "SYNC">

 

<!ELEMENT   ORIGUSER_ACCESSTYPE (#PCDATA)>

<!ELEMENT   FINDME_INDIC    (#PCDATA)>

 

<!ELEMENT   MSIDS   ((MSID|MSID_RANGE), QUERYPASSWORD?)>

<!ELEMENT   MSID    (#PCDATA)>

<!ATTLIST   MSID_TYPE

MSID_TYPE    CDATA #REQUIRED>

<!ELEMENT   MSID_RANGE (START_MSID, STOP_MSID)>

<!ATTLIST   MSID_RANGE

MSID_TYPE    CDATA #REQUIRED>

<!ELEMENT   START_MSID (#PCDATA)>

<!ELEMENT   STOP_MSID   (#PCDATA)>

 <!ELEMENT QUERYPASSWORD   (#PCDATA)>

 

 

<!ELEMENT   POSREQTYPE (#PCDATA)>

 

<!ELEMENT   GEO_INFO    (COORD_SYS?, DATUM?, LL_FORMAT?)>

<!ELEMENT   COORD_SYS   (#PCDATA)>

<!ELEMENT   DATUM   (#PCDATA)>

<!ELEMENT   LL_FORMAT   (#PCDATA)>

 

<!ELEMENT   PQOS    ((RESP_REQ | RESP_TIMER)?, HOR_ACC?, ALT_ACC?)>

<!ELEMENT   RESP_REQ    (#PCDATA)>

<!ELEMENT   RESP_TIMER (#PCDATA)>

<!ELEMENT   HOR_ACC (#PCDATA)>

<!ELEMENT   ALT_ACC (#PCDATA)>

 

<!ELEMENT   PRIO    (#PCDATA)>

 

<!ELEMENT PUSHADDR (URL, ID?, PWD?)> 

<!ELEMENT URL (#PCDATA)>  

 

 

 

例子

<LIR RES_TYPE="SYNC">

 <MSIDS>

<MSID MSID_TYPE="6">93.10.0.250</MSID>

</MSIDS>

<MSIDS>

    <MSID_RANGE MSID_TYPE="2">

      <START_MSID>

        <MSID>460038765710</MSID>

      </START_MSID>

      <STOP_MSID>

        <MSID>4600318765712</MSID>

      </STOP_MSID>

</MSID_RANGE>

<QUERYPASSWORD>ABC12345< /QUERYPASSWORD>

<!――对于MSID_RANGE,每个QUERYPASSWORD对应一个MSID_RANGE ――>

</MSIDS>

<MSIDS>

<MSID MSID_TYPE="0">13300000000</MSID>

<QUERYPASSWORD>888888< /QUERYPASSWORD>

</MSIDS>

     

<PQOS>

  <RESP_REQ>2</RESP_REQ>

<!―― 这里2表示DELAY_TOL ――>

  <RESP_TIMER>0010</RESP_TIMER>

  <HOR_ACC>200</HOR_ACC>

  <ALT_ACC>200</ALT_ACC>

</PQOS>

<GEO_INFO>

  <COORD_SYS>LL</COORD_SYS>
   <DATUM>WGS-84</DATUM>

  <LL_FORMAT>DMS3</LL_FORMAT>

</GEO_INFO>

<PRIO>1</PRIO>

</LIR>

 

 

 

6.2.2          立即定位应答(LIA

<!ELEMENT LIA (POSINFO+ | REQ_ID | RESULT )>

 

<!ELEMENT POSINFO (POSITIONRESULT, MSID, MSID_TYPE, AREACODE?, LOCALTIME?, LATITUDE?, LONGITUDE?, RADIUS?, VELOCITY?, DIRECTION?POSOUR)>

<!ELEMENT POSITIONRESULT (#PCDATA)>

<!ELEMENT AREACODE (#PCDATA)>

<!ELEMENT LOCALTIME (#PCDATA)>

<!ELEMENT LATITUDE (#PCDATA)>

<!ELEMENT LONGITUDE (#PCDATA)>

<!ELEMENT RADIUS (#PCDATA)>

<!ELEMENT POSOUR (#PCDATA)>

 

<!ELEMENT REQ_ID (#PCDATA)>

 

<!ELEMENT RESULT (#PCDATA)>

 

例子:

 

1

<LIA >

<POSINFO>

< POSITIONRESULT >1< POSITIONRESULT />

      <MSID MSID_TYPE="2">460031334411</MSID>

      < LOCALTIME>20020623134453</ LOCALTIME >

      < LATITUDE >301628.308</ LATITUDE >

      < LONGITUDE >451533.444</ LONGITUDE >

< RADIUS >240</ RADIUS >

<POSOUR>18</POSOUR>

  </POSINFO>

</LIA>

2

<LIA>

  <RESULT >0</RESULT>

</LIA>

 

 

6.2.3          立即定位报告(LIREP

<!ELEMENT LIREP (REQ_ID, POSINFO+)>

例子:

 

<LIREP>

  <REQ_ID>25267</REQ_ID>

  <POSINFO>

<POSITIONRESULT >2</POSITIONRESULT>

      <MSID>461011334411</MSID>

      <LOCALTIME>20020623134453</LOCALTIME>

      <LATITUDE>301628.308</LATITUDE>

      <LONGITUDE>451533.444</LONGITUDE>

<RADIUS>240</RADIUS>

<POSOUR>18</POSOUR>

  </POSINFO>

</LIREP>

 

6.3         触发定位(Triggered Location

6.3.1          触发定位请求(LTR

<!ELEMENT LTR (MSIDS, INTERVAL?, START_TIME?, STOP_TIME?, PR_TRIGGER?, POSREQTYPE?, GEO_INFO?, PQOS?, PRIO?, PUSHADDR?)>

 

<!ELEMENT INTERVAL (#PCDATA)>

<!ELEMENT START_TIME (#PCDATA)>  

<!ATTLIST START_TIME UTC_OFF CDATA "0000">

<!ELEMENT STOP_TIME (#PCDATA)>  

<!ATTLIST STOP_TIME UTC_OFF CDATA "0000">

例子

<TLRR>

   <MSIDS>

       <MSID MSID_TYPE="2">460031678298</MSID>

   </MSIDS>

   <INTERVAL>00003000</INTERVAL>

   <START_TIME UTC_OFF="+0300">20021003112700</START_TIME>

   <STOP_TIME UTC_OFF="+0300">20021003152700</STOP_TIME>

    <PQOS>

     <RESP_REQ>0</RESP_REQ>

     <RESP_TIMER>0010</RESP_TIMER>

     <HOR_ACC>200</HOR_ACC>

     <ALT_ACC>200</ALT_ACC>

</PQOS>

<GEO_INFO>

     <COORD_SYS>LL</COORD_SYS>
      <DATUM>WGS-84</DATUM>

     <LL_FORMAT>DMS3</LL_FORMAT>

</GEO_INFO>

<PRIO>1</PRIO>

   <PUSHADDR>

      <URL>HTTP://LOCATION.APPLICATION.COM</URL>

   </PUSHADDR>

</TLRR>

 

6.3.2          触发定位应答(LTA

<!ELEMENT LTA (REQ_ID | RESULT)>

 

例子:

成功的LTA

<LTA >

 <REQ_ID>25293</REQ_ID>

</LTA>

错误的TLRA

<LTA>

 <RESULT >UNKNOWN SUBSCRIBER</RESULT>

</LTA>

 

6.3.3          触发定位报告(LTREP

<!ELEMENT TLREP (REQ_ID, TRL_POS+, TIME_REMAINING? )>

<!ELEMENT TRL_POS (POSINFO)>  

<!ATTLIST TRL_POS TRL_TRIGGER CDATA #REQUIRED> 

<!ELEMENT TIME_REMAINING (#PCDATA)>

 

例子

<TLREP>

  <REQ_ID>25293</REQ_ID>

  <TRL_POS TRL_TRIGGER="PERIODIC">

     <POSINFO>

<POSITIONRESULT>

<POSITIONRESULT/>

        <MSID MSID_TYPE="2">460031334411</MSID>

        < LOCALTIME>20020623134453</ LOCALTIME >

        < LATITUDE >301628.308</ LATITUDE >

        < LONGITUDE >451533.444</ LONGITUDE >

        < RADIUS >240</ RADIUS >

<POSOUR>18</POSOUR>

    </POSINFO>

 </TRL_POS>

 <TIME_REMAINING>00010000</TIME_REMAINING>

</TLREP>

 

6.3.4          触发定位终止请求(LCTR

<!ELEMENT LCTR (REQ_ID )>

<!ELEMENT REQ_ID (#PCDATA)>

 

例子:

<LCTR>

 <REQ_ID>25293</REQ_ID>

</LCTR

 

 

6.3.5          触发定位终止应答(LCTA

<!ELEMENT LCTA (REQ_ID | RESULT>

<!ELEMENT RESULT (#PCDATA)>

 

例子

<LCTA>

 <REQ_ID>25293</REQ_ID>

</LCTA>

 

 

6.4         地图绘制(Mapping

6.4.1          地图绘制请求(MPR

<!-- MAPSR -->

<!ELEMENT MPR (Output+, Basemap?, Overlay*)>

 

<!ELEMENT Output (BBoxContext | CenterContext)?>

<!ATTLIST Output

    width CDATA #IMPLIED

    height CDATA #IMPLIED

    format CDATA #IMPLIED

    BGcolor CDATA #IMPLIED

colors CDATA #IMPLIED

    transparent CDATA #IMPLIED

    content (URL | Data) #IMPLIED>

 

<!ELEMENT Basemap (Layer+)>

<!ATTLIST Basemap

    filter (Include | Exclude) #REQUIRED>

<!ELEMENT Layer (Style?)>

<!ATTLIST Layer

    name CDATA #REQUIRED>

<!ELEMENT Style (Name | StyleContent)>

<!ELEMENT Name (#PCDATA)>

<!ELEMENT StyleContent (#PCDATA)>

 

<!ELEMENT Overlay ((POI | RouteGeometry | Position | Map), Style?)>

<!ATTLIST Overlay

    zorder CDATA #IMPLIED>

 

例子

<MPR>

<Output width=”640” height=”480” format=”image/png”>

 

<BBoxContext>

    <pos>-114.342 50.234</pos>

    <pos>-114.123 50.031</pos>

</BBoxContext>

</Output>

<Basemap filter="Exclude" />

    <Layer name=”road”>

         <Style>

              <Name>pen001</Name>

</Style>

</Layer>

</Basemap>

<Overlay>

<Position>

<!-- This ADT contains the lat/lon of Joe's House -->

</Position>

</Overlay>

</MPR>

 

6.4.2          地图绘制应答(MPA)

<!ELEMENT MPA (Map+)>

例子

<MPA>

<Map>

<Content width="640" height="480" format="image/png">

<URL> http://www.mapseter.com/lbs/maps/hgtr837468.png </URL>

</Content>

<BBoxContext>

<pos>-114.342 50.234</pos>

<pos>-114.123 50.031 </pos>

</BBoxContext>

</Map>

</MPA>

 

6.5         矢量地图服务(Vector Mapping

6.5.1          矢量地图服务请求(VMR

<!ELEMENT VMR (BBoxContext | CenterContext)?, Argument)>

<!ATTLIST VMR

        format CDATA #IMPLIED

        content (URL | Data) #IMPLIED

<!ELEMENT Argument (#PCDATA)>

 

例子

<VMR formart=”AB Vector” Content=”Data”>

<BBoxContext>

    <pos>-114.342 50.234</pos>

    <pos>-114.123 50.031</pos>

</BBoxContext>

<Argument>45AFFFB8DC54F77 FB8DC5ABA343<Argument>

</VMR>

 

6.5.2          矢量地图服务应答(VMA

<!ELEMENT VMA (VectorMap)>

<!ELEMENT VectorMap (#PCDATA)>

<!ATTLIST VectorMap

        format CDATA #IMPLIED

        content (URL | Data) #IMPLIED

 

例子

<VMA>

<VectorMap formart=”AB Vector” Content=”Data”>

      B8DC54F77F7FB8DC5ABA3B8DC54F77F7FB8DC5ABA3B8DC54F7F7 FB8DC5ABA3B8DC54F77F7FB8DC5ABA3B8DC54F77F7FB8DC5ABA3 B8DC54F77F7FB8DC5ABA3B8DC54F77F7FB8DC5ABA3B8DC54F7F7 FB8DC5ABA3B8DC54F77F7FB8DC5ABA3

</VectorMap>

</VMA>

6.6       目录服务(Directory

6.6.1          目录服务请求(DRR

 <!ELEMENT DRR (POILocation?, POIProperties)>

<!ATTLIST DRR

    sortCriteria (Name | Type | Distance) #IMPLIED

    sortDirection (Ascending | Descending) #IMPLIED

 

<!ELEMENT POIProperties (POIProperty*)>

<!ATTLIST POIProperties

    directoryType CDATA #IMPLIED

POIProviderID CDATA #IMPLIED

<!ELEMENT POIProperty EMPTY>

<!ATTLIST POIProperty

    name (ID | POIName | PhoneNumber | Keyword | CUCS_Otype | CUCS_Stype | CUCS_Atype|other) #REQUIRED

    value CDATA #REQUIRED

 

<!ELEMENT POILocation (Address | Nearest | WithinDistance | WithinBoundary)>

<!ELEMENT Nearest (Address | POI | Position)>

<!ATTLIST Nearest

    nearestCriterion (Proximity | Fastest | Shortest | Easiest) #IMPLIED

<!ELEMENT WithinDistance ((Address | POI | Position), MinimumDistance?, MaximumDistance?)>

<!ELEMENT MinimumDistance EMPTY>

<!ATTLIST MinimumDistance

    value CDATA #REQUIRED

    accuracy CDATA #IMPLIED

    uom (KM | M | DM | MI | YD | FT) #IMPLIED

<!ELEMENT MaximumDistance EMPTY>

<!ATTLIST MaximumDistance

    value CDATA #REQUIRED

    accuracy CDATA #IMPLIED

    uom (KM | M | DM | MI | YD | FT) #IMPLIED

<!ELEMENT WithinBoundary (AOI)>