📄 java 手机与空间制图服务应用集成-软件-j2me-天极yesky.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0039)http://soft.yesky.com/104/2561604.shtml -->
<HTML lang=zh-CN xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky</TITLE>
<META content="Java 手机与空间制图服务应用集成," name=description>
<META content="Java 手机与空间制图服务应用集成," name=keywords>
<META content="天极Yesky | 全球中文IT第一门户" name=author>
<META content="天极Yesky | 全球中文IT第一门户" name=Copyright>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META http-equiv=Content-Language content=zh-CN><LINK media=all
href="Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky.files/y_mobile_content.css"
type=text/css rel=stylesheet>
<SCRIPT src="Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky.files/showlay.js"></SCRIPT>
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY><!--页面头部--><!--头部-->
<DIV id=topmenu><A href="http://www.yesky.com/">Yesky首页</A>| <A
href="http://product.yesky.com/">产品报价</A>| <A
href="http://cseek.yesky.com/">行情</A>| <A href="http://mobile.yesky.com/">手机</A>
| <A href="http://digital.yesky.com/">数码</A> | <A
href="http://notebook.yesky.com/">笔记本</A> | <A
href="http://pc.yesky.com/">台式机</A> | <A href="http://diy.yesky.com/">DIY硬件</A>
| <A href="http://oa.yesky.com/">外设</A> | <A href="http://net.yesky.com/">网络</A>
| <A href="http://dh.yesky.com/">数字家庭</A> | <A
href="http://lab.yesky.com/">评测</A> | <A href="http://soft.yesky.com/">软件</A> |
<A href="http://e.yesky.com/">e时代</A> | <A href="http://game.yesky.com/">游戏</A>
| <A href="http://pic.yesky.com/">图片</A> | <A
href="http://desktop.yesky.com/">壁纸</A> | <A href="http://q.yesky.com/">群乐</A> |
<A href="http://my.yesky.com/">社区</A> | <A href="http://blog.yesky.com/">博客</A>
| <A href="http://www.mydown.com/">下载</A></DIV>
<DIV id=topbox>
<DIV class=tleft><A href="http://www.yesky.com/"><IMG alt=天极Yesky_全球中文IT第一门户
src="Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky.files/logo.gif" border=0></A></DIV>
<DIV class=tad><SPAN id=ad1></SPAN></DIV>
<DIV id=search>
<DIV>
<FORM name=searchform action=http://search.chinabyte.com/search method=get
target=_blank><INPUT id=searchzz onmouseover=this.focus() onfocus=this.select()
name=q><INPUT type=hidden value=GB2312 name=encoding><INPUT type=hidden
value=connect name=dir><INPUT type=hidden value=20002 name=cid><INPUT id=search_btn type=submit value=天极搜索> </FORM></DIV>
<DIV class=tdq>
<DIV class=rightarea><A href="http://bj.yesky.com/">北京</A> <A
href="http://hd.yesky.com/">上海</A> <A href="http://gd.yesky.com/">广东</A> <A
href="http://xa.yesky.com/">西安</A><BR><A href="http://cq.yesky.com/">重庆</A> <A
href="http://cd.yesky.com/">成都</A> <A href="http://sy.yesky.com/">沈阳</A> <A
href="http://js.yesky.com/">江苏</A> </DIV>
<DIV class=rightarea_right><A
href="http://my.yesky.com/">用户<BR>登录</A></DIV></DIV></DIV>
<DIV class=tright>
<DIV class=box1>
<SCRIPT src="Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky.files/content_text_ad.js"
type=text/javascript></SCRIPT>
</DIV></DIV></DIV>
<SCRIPT src="Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky.files/flash.js"
type=text/javascript></SCRIPT>
<DIV id=childmenu><A href="http://soft.yesky.com/">软件频道></A><A
href="http://design.yesky.com/">设计</A><A href="http://tools.yesky.com/">工具</A><A
href="http://os.yesky.com/">系统</A><A href="http://dev.yesky.com/">开发</A><A
href="http://soft.yesky.com/office/">办公</A><A
href="http://homepage.yesky.com/">陶吧</A><A
href="http://soft.yesky.com/security/">安全</A><A
href="http://edu.yesky.com/">IT教育</A><A
href="http://vista.yesky.com/">Vista频道</A>|<A
href="http://soft.yesky.com/lesson/">软件频道产品中心</A><A
href="http://q.yesky.com/group/search.do?cid=661">群乐</A><A
href="http://www.mydown.com/soft/">软件下载</A><A
href="http://q.yesky.com/group/179"><FONT
color=#ff0000>群乐:大家耍QQ</FONT></A></DIV><!--导航条-->
<DIV id=location>
<DIV class=loleft>您现在的位置: <A href="http://www.yesky.com/">天极Yesky</A> > <A
href="http://soft.yesky.com/">软件频道</A> > Java 手机与空间制图服务应用集成</DIV>
<DIV class=adright><SPAN id=ad2></SPAN></DIV></DIV><!--内容块开始-->
<DIV id=conbox><!--左边开始-->
<DIV id=conleft>
<DIV id=contopla1>
<DIV id=__001>
<DIV class=qkong></DIV>
<DIV class=qw1>全文</DIV>
<DIV class=zkong>
<DIV class=kl></DIV>
<DIV class=bj><A href="http://soft.yesky.com/104/2561604.shtml#pls"
target=_self>评论</A></DIV>
<DIV class=kr></DIV>
<SCRIPT type=text/javascript>
var titiepic ="#";
if (titiepic!="#")
{
document.write("<div class=\"kl\"></div><div class=\"bj\"><a href=\"#\" target=\"_blank\">图片</a></div><div class=\"kr\"></div>");
}
</SCRIPT>
</DIV></DIV></DIV>
<DIV class=topadbg><SPAN id=ad10></SPAN></DIV><A name=top></A>
<DIV id=contitle>
<H1>Java 手机与空间制图服务应用集成</H1></DIV>
<DIV id=conauthor><SPAN>2006-09-06 05:00 </SPAN><SPAN>作者: </SPAN><SPAN>出处: ibm
</SPAN><SPAN>责任编辑:<A title=向本编辑提问
href="http://comments.yesky.com/t/·½ÖÛ/6,324/2561604.shtml" target=_blank>方舟</A>
</SPAN></DIV>
<DIV class=topadbg><SPAN id=ad9></SPAN></DIV>
<DIV id=conneirong><SPAN id=ad3></SPAN>
<DIV class=guanggao><SPAN id=contentAdv></SPAN></DIV>
<P align=left> 本文探讨利用 J2ME 手机,实现移动设备与空间制图服务(WMS)网络应用服务集成,可以实现对J2ME手机对网络LBS、GIS
图像数据的访问与地图数据的显示,并在迅速实现小型的LBS、移动 GIS 核心的导航地图的显示功能。<BR><BR> 引言
<BR><BR> 人类的日常生活行为80%以上与空间位置有关,对空间位置信息获得有着与生俱来的需要。随着社会的发展,人们的活动范围越来越大,而且越来越不确定。这种移动性和不确定性给移动通信带来市场和挑战的同时,也为空间位置服务的开展和扩大带来了无限商机。空间位置服务(LBS--Location
Based
Service以下简称LBS),是指通过移动通信网络,采用无线定位,结合GIS地理信息系统,为用户提供基于位置导航、查询的一种增值业务。LBS属于移动GIS中典型的应用领域之一,它涉及到地理信息服务、计算机应用互操作、无线通讯、手机等技术,属于空间信息、计算机网络协同计算交叉学术领域。目前,应用无线通讯技术最广的消费群体是手机用户,这些用户对空间位置服务有较大需求。
<BR><BR> 与此同时,伴随着计算机网络、无线通讯等技术的发展,Java 手机的应用已经在国内崭露头角。Java 手机(注:J2ME手机是指支持Java
Micro Edition ,MIDP的手机,通常我们所说的"Java手机"就是"J2ME手机")一改传统手机功能固定、系统封闭的模式,为 Java
手机开发者与用户提供了一个开放的接口,应用程序开发者和用户可以根据自己的需要开发或下载符合自身的软件。目前, J2ME (Java 2 Platform,
Micro
Edition)已经成为目前最流行的手机应用开发平台之一。<BR><BR> Java手机的发展已经为开发基于Java手机平台的空间位置服务(LBS)提供了条件。针对手机用户对空间位置服务的需求,笔者基于
Java 手机开发出了"个人导航系统"。本系统的早期版本(基于 <A class=bluekey
href="http://product.yesky.com/catalog/389/" target=_blank>Motorola</A>
388手机),曾在在2002年6月中国软件协会、Motorola、Sun公司等联合举办的"全国无线 Java 应用程序大赛"中获得优秀奖。
<BR><BR> 通常来说,在CPU运算速度低、内存与存储空间有限的 Java 手机上开发 LBS与GIS
导航系统是比较困难的,一些LBS用户对导航地图信息的获取,往往是通过Java手机与相关LBS业务应用网络服务应用集成来实现的,这其中 Java 手机对网络
GIS 图像导航资源的获取与操作,是任何LBS系统的核心技术之一。笔者在自主开发的"个人导航系统"中,利用
J2ME手机(Motorola388、Motorola A760等)通过 GPRS 网络,实现了 J2ME 手机与空间 WMS (Web Map
Service)服务应用集成,并获取导航地图,并完成相关操作。以下介绍 J2ME 手机对网络图像资源的访问。<BR><BR><STRONG> 2 J2ME
手机对图像对象的获取</STRONG> <BR><STRONG><BR> 2.1 J2ME 手机对图像的获取与显示</STRONG>
<BR><BR> J2ME 手机的 MIDP 1.0标准版本,只支持 PNG
格式的图像。可以显示静态的图像和非静态的图像。静态图像是指一经创建,图像的内容就不再变化的图像。而非静态图像是指图像可以有 J2ME 绘图语句动态创建。由于
J2ME 手机的计算能力有限,在基于 J2ME 手机的移动 GIS 中,笔者采用了静态 PNG 格式的栅格图像。J2ME
手机对静态图像的创建主要有两种方式:第一种方式:直接由捆绑在应用 JAR 文件中的应用资源文件来装载和创建一个静态图像[1]。其构造方式为:
<BR><BR></P>
<TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1>
<TBODY>
<TR>
<TD><PRE><CODE class=section>
Image img=Image.createImage(String pngName);
</CODE></PRE></TD></TR></TBODY></TABLE><BR> 其中:pngName 为 J2ME 应用程序 Jar
文件中的图像文件名。由于 J2ME 手机的存储容量有限(通常为几百 K 或几兆),而LBS、移动 GIS 空间数据量相对较大,单纯地将LBS、移动 GIS
客户端的数据,按照上述方式存储在移动客户端本地 J2ME 手机上,很难满足移动 GIS 空间数据的存储;另外,对移动客户端的数据更新也比较困难。
<BR><BR> 第二种方式:使用二进制 PNG 格式数据创建一个静态图像。 <BR><BR>
<TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=#eeeeee border=1>
<TBODY>
<TR>
<TD><PRE><CODE class=section>
Image img=Image.createImage(byte[], int offset, int length);
</CODE></PRE></TD></TR></TBODY></TABLE><BR> 其中:byte[] 为 PNG
格式数据数组,offset,length 分别为使用数组的偏移量与长度。 <BR><BR> 这种创建静态图像的方式比较灵活,PNG 格式数据数组可以来自
J2ME 程序的任何地方(如:网络)。笔者开发的基于 Motorola388 手机的LBS、移动GIS系统,就是利用移动客户端的 Motorola388
手机来动态地读取网络服务器的 GIS 空间数据(当然数据格式可以是矢量或栅格格式),而且能比较方便地更新客户端的数据。
<BR><STRONG><BR> 2.2 空间地图服务(Web Map Service)的 GIS 图像动态生产</STRONG>
<BR><BR> 空间Web服务(Spatial Web Services)是关于空间信息应用之间的互操作的研究领域。伴随着计算机软硬件技术的发展,空间
Web 服务也发展很快,相应的标准化工作也在迅速展开。空间信息目前 OGC 已经制定或建议的空间 Web 服务主要有:
<UL>
<LI>Web Map Service,
<LI>Web Registry Service,
<LI>Web Feature Service,
<LI>Web Coverage Service,
<LI>Styled Layer Descriptor for WMS,
<LI>GeoCoder Service,
<LI>Transaction WFS 等等, </LI></UL><BR> 其中:ISO/TC211已经采纳与空间Web相关的标准有:Web Map
Service (ISO 19128)标准、以及ISO 19136 - Geography Markup
Language(地理信息标记语言GML)。<BR><B><BR>图 1 空间 Web 服务体系结构</B><BR><IMG height=294
alt="图 1 空间 Web 服务体系结构"
src="Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky.files/gkt4o5t48rq5.gif" width=550
border=0> <BR><BR> 空间 Web 服务与标准的 Web 服务有着类似的体系结构,但是空间 Web 服务与标准的Web
服务也有一些区别:如:空间 Web 服务中消息的传递可能直接使用 XML 协议而不使用 SOAP 协议。鉴于移动用户最关心的是空间信息相关的地图信息,而 WMS
服务已经被ISO/TC211 采纳,以下主要围绕移动设备(如:Java 手机)与空间 Web 服务 WMS 之间的互操作来研究。 <BR><BR> 地图服务器
Web Map Service WMS 是一种 Web 服务,它提供了由地理空间动态产生用户所需要的空间信息的服务。用户可以获得适合自己显示的栅格(如:PNG,
GIF or JPEG)、栅格数据(如:SVG),或 Web 图像元文件 Web Computer Graphics Metafile
(WebCGM)等数据格式。OGC 定义了地图服务器 Web Map Service WM
的三种操作,GetCapabilities,GetMap,GetFeatureInfo。其中与导航密切相关的是 GetMap 操作,GetMap
返回一幅根据客户端请求参数动态生成的地图。<BR><BR><IMG height=309 alt=""
src="Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky.files/520g5jg533bk.gif" width=636
border=0> <BR><BR>如:<A
href="http://localhost:8080/wmsserver111/servlet/wms?VERSION=1.1.1 &SRS=epsg:4267&REQUEST=GetMap&LAYERS=Layers/World/Countries&STYLES=&BBOX=-180,-180,180,180&WIDTH=800&HEIGHT=600&FORMAT=image/gif"><U>http://localhost:8080/wmsserver111/servlet/wms?VERSION=1.1.1<BR>&SRS=epsg:4267&REQUEST=GetMap&LAYERS=Layers/World/Countries&STYLES=&BBOX=<BR>-180,-180,180,180&WIDTH=800&HEIGHT=600&FORMAT=image/gif</U></A>
<BR>将返回一幅地图给客户端:<BR><B><BR> 图 2 WMS GetMap 服务响应</B><BR><IMG height=220
alt="图 2 WMS GetMap 服务响应"
src="Java 手机与空间制图服务应用集成-软件-J2ME-天极Yesky.files/d0601ofx94ly.png" width=220
border=0> <BR><BR><STRONG>
<DIV id=numpage>共2页。 <A href="http://soft.yesky.com/104/2561604.shtml"
target=_self><SPAN>1</SPAN></A> <A
href="http://soft.yesky.com/104/2561604_1.shtml" target=_self>2</A> <A
href="http://soft.yesky.com/104/2561604_1.shtml" target=_self><FONT
face=Webdings>:</FONT></A></DIV></DIV><!--广告代码开始-->
<SCRIPT>
var ad_cid;
if (window.location.search.substring(1) != "")
{
ad_cid = window.location.search.substring(1);
} else {
ad_cid = 324;
}
</SCRIPT>
<!--小通栏:c-scolumn顶部500*90--><SPAN id=span_ad1>
<SCRIPT language=JavaScript>
document.write("<script src=\"http://vd.yesky.com/html/"+ad_cid+"/"+ad_cid+"_c-scolumn.js\"><\/script>");</SCRIPT>
</SPAN>
<SCRIPT language=JavaScript>
document.getElementById("ad1").innerHTML=document.getElementById("span_ad1").innerHTML;
document.getElementById("span_ad1").innerHTML="";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -