

Routing J Server
V2.5
1.
产品定位
1.1题及解决方案
问题
MapInfo的消费者和潜在用户一致地需求一种点到点的路径选择模型。在许多情况下,产生路径和提供行使方向的能力是在RFPs中显示出的一种需求,这是需要MapInfo作答的。从过去的情况来看,由于MapInfo不具备的提供行使方向的能力,从而导致了在竞标中常常被排除在外。随着消费者对路径选择在Windows环境下能力要求的不断提高。并不是所有的人对Java都很精通,而且不希望在编程上受于这种语言的限制。对于更复杂的路线安排引擎(即解决包含多种目的地并且能够用类似于Drivetime产品的方法产生行车时间多边形的逻辑问题)的使用需求也在增长。
解决方案
利用MapInfo Routing
J Server2.5版本,不仅可以满足在制图应用中计算点到点的路径的基本需求,也可以满足扩展功能。MapInfo Routing J Server首先提供了像Java元件,可以很容易的集成到MapXtreme的结决方案中,而且还可能与MapX解决方案集成通过COM进行用户访问。MapInfo Routing J Server还可以应用完全. U.S.,6 State 或者1 State运送数据提供桌面解决方案.
1.2定位描述
MapInfo Routing J Server是开发者的工具,它能使MapXtreme或者MapX开发者将行使方向添加到他们的应用中.
仅对于MapInfo Routing
J Server来说它是开发者的工具,但是,在与MapXtreme或者MapX,MapMarker
J Server, StreetPro Display和MapInfo Professional Server Group进行捆绑是销售时, MapInfo Routing J Server使MapInfo组件和数据工具完整,并且使我们为Internet和client/server制图应用提交了一个圆满的解决方案.
另外对于路径计算,行使方向的提供利用了我们的三大核心能力:geocoding (MapMarker Plus), 搜寻和管理空闲数据(StreetPro and GDT’s Dynamap2000 Transportation Data) 和为地图提供服务(MapXtreme 或者 MapX).
MapInfo很好的定位于提交技术性与优越性服务.
1.3目标消费者及前景
目标消费者及前景包括为行车方向路径选择以完成他们应用的开发者.在大多数情况下,在他们的开发应用中,路径选择是一个很小但是重要的特点.MapInfo合作伙伴和销售上最直接的机会就是将这一功能提供给现有的MapXtreme或者MapX消费者.
1.4产品说明
MapInfo Routing J Server是基于Java寻找两点间路径的工具.他寻找的不是具有最短距离的路径,就是通过时间最短的路径.它可以调转行驶方向并且/或者点已制定路径路线.
产品有MapInfo Routing
J Server, 一个为了构建一个Java或者COM(部件对象模型)路径选择客户的API, 一个XML界面, HTML格式的API文件, 除此之外还有,样本客户和管理者应用,这其中包括为显示华盛顿地区的路线的样本数据.
为了建立一个路径选择应用,用户需要构件一个混入MapInfo Routing J Server客户类的客户程序.
MapInfo Routing J Server的应用可以在相同或者不同的机器上运行. Routing J Server作为Servlet 在运用容器运行或者在服务器方作为网络服务器.客户程序利用XML与Servlet通信.这点类似于MapXtreme
Java服务器的部署.
MapInfo Routing J Server是100%的Java路径选择引擎.至少, MapInfo
Routing Server要面临一下需求:
l
美国范围内的点到点的文本行车方向路线的生成.
l
在路径计算中双向部分花费(速度)的合并.
l
在路径计算中,法定的和逻辑的或是物理的双向拐弯闲置的合并.
l
组短距离和/或者最短时间路径的计算.
MapInfo Routing J Server还提供了额外的路线制定和行车时间特色,在文件的后部”特色”部分中有所描述.RJS当前提供了在美国,加拿大,英国,荷兰,意大利,西班牙,奥地利,瑞士和德国路径选择.进一步的国际性的提供正在开发当中.
1.5竞争定位
提供行驶方向是最基础的技术,这项技术在互连网上是受空间条件限制的应用. MapInfo Routing J Server在MapInfo产品中弥补了这个补足并且是我们能够提交一个完整的地图应用.
即使在这个市场中我们将面临很强劲的竞争对手,MapInfo仍然有其明显的竞争优势,我们有能力提交一个完整的解决方案.一个完整的解决方案远大于简单的点到点间的路径选择. 一个完整的解决方案需要一个geocoding (MapMarker J Server), 一个地图服务器(MapXtreme)和街道显示数据(StreetPro).对于geocoding,路径选择和绘图,MapInfo可以保证它的可共同获正相互实用性而不必感恩于其他供应商,这一点是不同于其他竞争者的.
在讨论一个消费者对制定行车方向路线的需要时,我们应该集中精力在满足他们短期的需求,此外,我们也要理解他们长期应用中可能的发展方向.举例来说,MapInfo独特的定位于降低里数据和消费者扼要描述集成到路径选择的应用中.消费者将会满意MapInfo提交一个可以满足短期要求的解决方案的能力,与此同时,方案还将保留灵活性以便在更长的时间达到他们的需要.
2.
选择原则
Routing J Server的功能是非常简单的.给出两点,找出最短距离或是利用最短时间通过的路径. Routing J Server也允许使用者具体指明一组由起始和终点组成的点的矩阵使一组路径选择需求的处理过程容易起来.
一旦路径被找到,使用者可以查询到要求的信息.有两种类型的信息可以被反馈,这取决于开发者如何运用API.第一种为点信息,是具体指明点来组成路径. Routing J Server将路径分割成街道,所包含的段都具有相同的名称.段是由两个或两个以上的点组成的.使用者可以具体指明哪种类型的点信息可以被反馈:全部,终点还是无点.如果全部的点被反馈,意味着全部点组成的路径将被反馈.如果终点被具体指明,那么只有终点的分割部分被返回.如果无点被具体指明,没有点将被反馈.具体指明终点或者一个也不指明将提高执行速度,因为将点反馈给客户是一个庞大的数据交换过程.
除了点信息外,turn-by-turn行使方向将被反馈.行使方向的反馈取决于路线,街道和分割部分.路线包括总时间和长度信息.街道包括时间,长度和名称信息.分割部分包括转弯角度,距离,时间,限制速度,道路种类,单向指示和迂回路线指示.
MapInfo Routing J Server的运用功能说明可以在下面的URL中获得:
http://spatial.mapinfo.com:8081/RoutingSamples/flash2.swf
3.
特点
3.1 2.5版本的改进
此版本最初是由MapInfo独立设计的,并集中于执行速度的提高,除此之外也为了符合为miAware设计的GeoTool Box的2.0版本的特点需要.此版本于2002年6月提交.
主要特点:
l
国际化 - 行车方向需要在有地域限制的相关需求的情况下被反馈.如果客户需要德国的行使方向,他可以在装载在美国的服务器上完成.客户可能会需要以下任何国家的行使方向:
丹麦,德国,西班牙,芬兰,法国,意大利,葡萄牙,瑞士,荷兰和挪威
l
设计提纲将时间添加为路径选择的部件.这允许使用者可以完成以下内容:
具体指明路径选择的起始或者终点时间.两者不能同时被指明.
具体指明在多点的路线制定中每个中间点的持续的时间
l
客户偏爱选择道路类型.使用者被给出四个等级的可取类型:
高级 (对这种道路类型的偏爱很强)
中级 (对这种道路类型的偏爱程度一般)
低级 (这种道路类型于偏爱的类型相反)
避免 (如果可能,不要使用这种道路类型)
服务器不能保证在任何情况下某种道路类型是可以被避免的,因为如果没有任何可行的解决方案的情况下,以上道路类型还是要被选择的.
l
扩展持久数据以更新偏爱道路类型:它允许使用者根据大量的或者百分比而不是具体指明新数据,改变所给道路类型的速度或者道路分割部分.换句话说,为了提高以前的速度无论使用每小时提高
l
被集中关注的道路制定描述:这个新的特点将允许使用者建立一条被关注的路线,或者集中精力于整条路线的一部分,即路径的起始或者终点。被集中关注路线的起始时,路线将制定为从使用者的原始位置至第一条主要高速公路(包括此高速公路)。被集中关注路线的终点时,路线制定为从最后的一条主要高速公路(包括高速公路)起至目的地。这是在假设使用者对路线熟悉且只需要从中获得部分帮助的前提下的。
l
简明的行使方向指导:这是服务器能够简明提供行使方向的能力,其取代了仅仅的标准的方向指导。这可能更有利于无线应用,这种情况下方向指导的存储空间是有限的,所以方向指导字符串要更短。使用者可能会要求标准或者简明的方向指导。
l
XML向下兼容性.RJS2.5的使用者将能够接受XML对RJS2.0的需求.这点对用户从2.0版过渡到2.5版十分有用.
l
有序或无序的多点需求.使用者将能够详细指明要被访问的多目的地的点的顺序,以完成在版本2.0中无序执行的 “旅游推销员”特色.
l
多重方法优先考虑.使用者可以确定行走或行车方向.这个特色是同过RJS两个部署程序实现的,每种程序都利用他们各自的运输网络.
l
执行能力增强被实现了,在这个版次中这是由于建筑结构的改变和建筑街道的网络的方法造成的.城市内部路线从中会获得大部分利益(40%至50%),而城市外部路线也会有相应的提高(25%-50%).
l
矩阵路线.使用者可以详细指明对一组路线进行计算(n乘n),这个过程只需要一个电话来完成.每种组合都会有时间和距离被反馈回来.这其中不包括行驶方向.
l
拐弯的开销.出于为了更精确的反映真实世界考虑--路线时间会被司机所需拐弯数量影响,RJS2.5为使用者提供了设置左转和右转弯开销优先级别的机会.使用者可以将开销设置为低级,中级,高级和无.缺省值为无.设置拐弯开销应该提高路线的计算,即搜索那些出现多个拐弯的次要道路.
l
多点路线制定.以往的路线中只有18个点的限制已被取消.现在没有限制.
l
COM客户修改.Windows开发者可以通过COM
Client 2.5执行标准路线制定(A到B),同类和多点路线.
Vintage:
通过Dynamap/Transportation 3.3构建
2002年4月
synchs with StreetPro5.1 和MapMaker Plus V7.3
在这个版次中,提升了的GDT数据可以在以下城市的路线制定中获得:
Boston/Cape Cod
Dallas/Fort Worth
Denver/Colorado Springs
3.2 现存特点
l
一种COM客户机的开发以使程序员在VB,
Delphi, C++ 或者ASP的工作环境下访问路径选择引擎.如同Java客户机为互联网和内部网的开发者提供的访问Routing J Server的方法一样,COM客户机为希望将路径选择嵌入Windows执行的开发者提供了虚拟同一的能力.
COM客户机由两个动态链接库组成并且在Java客户机上被当作模型与RJS装载.与Routing J Server连接,程序员所需要的只是运行着RJS的URL.虽然在能力上COM与Java非常相似,但是他们之间还是有着很大的差别,因为在COM中没有对象和方法是1对1的关系.
COM客户机(实际上在Visual
Basic世界中被誉为”参考书”)将对一条道路的需求的格式定为from<startpoint>to<endpoint>,并且从RJS中获得结果.程序员可以获得包含行驶方向的字符串,或者他可以检测组成路线的街道,段和电.
如同Java客户机,COM客户机允许程序员建立特定的优先级别,并将其与需求一同发送.例如,获得行驶方向,获得最短路线,使用时间,以及使用公里数.COM客户机还会生成同距离和同时间.
没有用户界面.这是Windows程序员的责任,他们将对路线的需求进行格式化并显示为最符合运行开发的模式.
l
行驶时间分析.Routing J Server能够使使用者选择一个原始的给定点和或者给定公里数(同距离)或者分钟(同时间), 利用这些引擎应该用来计算一个多边形的地区指定的行驶时间和行驶距离.这些特点已经在桌面Drivetime产品中得以实现了,可以通过Java客户机或者COM客户机被利用.同时间的包含其中,将DriveTime产品的主要特点带给了Routing
J Server 的使用者.由于RJS包括更详细的运输网络,使得它比DriveTime产品的同时间更加精确.多边形算法的产生是遵循Drivetime产品中算法而建立的.
l
多点路线制定.Routing J Server API能够使用户输入一个独立的原始点,一个终点和多个目的地点.(原始点和终点可能是相同的.)引擎将为整个一组点计算出一个最佳的解决方案.与保障和舰队派遣相关的用户可以用Traveling Salesman的选项解决多点路径选择的问题.这个特点现在也适用于COM客户机.
l
包含/排除特点.
Routing J Server API使使用者能够识别段,这些段或者明确是路线的一部分或者不是.使用者可以用特殊的段或者是x,y坐标系来识别这些段.如果使用后者,引擎将为坐标系制定最近的段,并且制定相符路线.这个特点在COM客户机上还不能实现.
l
访问低级别数据. Routing J Server API能够使使用者在运输网络中浏览一个特殊道路段的属性.这个特点在COM客户机上还不能实现.
l
动态数据更新. Routing J Server API能够使使用者对任何给定的道路段进行选择,并对其修改速度或者类别属性.这个特点不是对所有使用者都公开的,而是进行严密控制的.这个特点可以是Routing J Server 考虑到实时交通事故,并选择其他可选路线进行道路状况改善.修改可能建立在询问接询问的基础上,或者是对所有使用者保留直到情况不再适用.使用者将对包含或者忽略动态段编辑有所选择. 这个特点在COM客户机上仍然还不能实现.
l
XML界面.Routing J Server在接收制定道路请求和返回道路点和行驶方向时都利用了XML.COM客户机也利用XML界面.使用者可以选择直接通过XML API访问路径选择引擎,也可以选择通过Java.
l
样本应用.提供了一些Java和COM的应用.具体请见3.6节.
l
包含了有限的加拿大道路网络.在加拿大城市间的粗略的路线制定可以被执行.这些数据资料来源于North American Transportation Database 1998公共版图.
3.3 执行
MapInfo Routing J
Server是内存与CPU的集成.以下是优化服务器执行的的建议:
l
在NT环境下实行时,利用Java Hot Spot编译程序将优化执行.
l
我们建议用JDK 1.3 或者更好版本.
l
将数据装载在一个单独的,独立的硬驱动上(在同一台机器上)将优化执行.
l
当MapInfo Routing J Server是基于Servlet运行时,多CPU将提高产量.
l
将地图数据下载到内存中将优化执行.我们将建议你至少将主要的高速公路下载到服务器的内存中.
l
提升堆存储空间(至
l
将你的交换空间至为同一位置将优化执行.不要将虚拟内存分割开来.
3.4 路径选择数据
MapInfo Routing J Server所使用的数据是与其进行捆绑销售的.整个美国的数据都被捆绑在每个独立的州或与之比邻的六州的数据中销售.为了使执行达到最优,路径选择网络数据被存储在二进制格式中.路径选择网络数据的文件的大小超过了4600MB.
数据刷新包括2002年4月的GDT Dynamap
Transportation Network数据库.2.5版本是与MapMarker Plus 7.3和StreetPro5.1保持同步的.路径选择网络数据是按季更新的.
这里有两种数据类型。其中一类包含了主要的道路网络.这种数据用来制定长距离路线的.这意味着MapInfo Routing J Server在制定长距离路线时是不使用次要道路的.如果可能,主要路线网络应被装载到RAM中,以优化执行。
另一类是次要道路数据。主要包括地方的街道。这类数据主要用于地方性的路线制定,以及从主要道路到原始地和目的地的使用。在硬件允许的情况下,这类数据也可以装载到服务器的RAM中以优化执行。
3.5可构造系统参数和路线制定字符串
用于为服务器定义路径选择优先级别的参数已经被开发者设置。计算过的行驶方向也可以被客户化定制,这是通过编辑行驶方向字符串和拐弯角度字符串完成的.例如,负向弯角度为从180度中减去171度,那么它将被描述为 “右急转弯”.如果不同的描述更被认可,开发者可以简单的改变这个字符串或者字符串根据反馈回来的拐弯,对每增加的十度都进行描述.(请注意,这里的负向弯角度指右转弯,正向弯角度指左转弯.
3.6样本应用
MapInfo Routing J Server装载了三类Java样本应用,此外还有四类样本是为COM客户机准备的.样本Java客户机包括:
标准-样本应用假定使用者除了有MapMarker J
Server,还安装了MapXtreme
Java.他提供了对地址进行地理编码的能力,并在示范路线的同时加入了行驶方向.
同时-将标准样本扩展为示范行驶时间多边形的产生.
多点-将标准样本扩展为示范多点路线的产生.
应用
包含/排除-在开发中,对于那些对应用比对Servlet更感兴趣的开发者,这个样本示范了如何在Java应用中请求获得常规路线,同时和多点路线.
诊断
RoutingAdmin-这是一个样本管理程序,它示范了控制服务器,检索统计,改变或浏览优先级别以及关闭服务器的功能.
TestXML-对于那些对直接通过XML,而不是通过Java或COM服务器访问路径选择引擎感兴趣的,这个样本示范了如何获得路径选择功能.
RoutingClientGUI-这个样本不依赖于MapXtreme Java-用户可以通过输入经度/纬度直接访问引擎.
四个COM客户机样本示范了在Visual Basic, C++, Active Server 以及Delphi环境下,常规路线和同时的产生.
3.7本地化
Routing J Server v2.5 被提交时,它的源文件中包含的行驶方向有十一种语言译本.路径选择引擎的说明书在创建时更便于地方化.MapInfo
Routing J Server被设计成解决国际的运输数据.所有Routing J Server 中的文本显示都被分存在文本文件中,是其容易地方化.印刷文档中除了包括界限说明书(未指定国家),还对非美国销售地区嵌入了独立的部分.
4. 包装-“盒子里有什么?”
当你购买了MapInfo Routing J Server时,你将获得以下产品:
MapInfo Routing J Server 光盘
Nationwide Routing
Network Data (3光盘)
COM Client 光盘
许可证契约
文档
5. 系统要求
最小硬件要求
CPU: Single Intel Pentium
3 600 MHz CPU 或者等同产品
RAM(随机存储器): 1GBHard Disk Capacity:
9GB
经测试的平台
Windows NT 4.0 sp5/2000 和 Window XP
SUN Solaris 2.8
注:由于Routing J
Server是100%的Java产品,运行在正规的Java Virtural Machine上的任何平台才能够彻底的实现其预期功能.
经测试的应用服务器
Tomcat
Tomcat
Websphere 4.02
Weblogic 6.0
便携性
所有模块都与Java完全兼容,应该可以在任何提供一个Jav