WMS的GetFeatureInfo用于通过屏幕坐标获取相应位置的要素信息,其效果就如同MapInfo或ArcView里的Info按钮,而通常WMS的GetFeatureInfo则是通过发送异步的请求完成的,通过GetFeatureInfo,我们在WMS上也可以获得要素的属性信息,这是非常有帮助的。 GetFeatureInfo需要如下几个参数: bbox: 当前视图的Bound,以地理坐标表示 styles:当前视图的样式表信息 format:当前视图的图象格式 info_format:返回要数信息的格式,GeoServer支持GML、PlainText和HTML的返回,此外还可以通过 ...
从去年Java One 2007到现在,WorldWind Java SDK已经推出将近一年了,上一个版本是去年12月发布的0.4。比起最初的版本,0.4的规模已经是空前扩大了,包和类的数量都有大大的增加。因为是处在开发的初期,所以每一个版本的变化都非常大,包的结构在不断的改变,之前版本上能跑的程序现在必需修改了。 0.4开始,WorldWind Java提供了一个WMSLayerFactory,用于简化和WMS服务的集成。之前的版本要加载一个WMS图层,需要集成TiledImageCache类,重写TiledUrlBuilder。而现在只要给WMSLayerFactory传入一个Capab ...
EveryBlock是一个地图门户网站,提供了多种形式的城市地里信息查询和搜索方式,最有特点的还是他的地图。EveryBlock网站采用的是Python的开源Web框架Django为基础,而他的地图服务本身也是基于开源软件构建的。最近EveryBlock的官方blog就对其地图服务进行了相关的解释,我们可以看一下他的构成。 浏览器客户端OpenLayers OpenLayers现在是开源GIS浏览器端的最佳解决方案,这一点不用多做介绍。 地图渲染引擎Mapnik Mapnik是开源的Python/C++地图渲染引擎,他的功能是把数据形式的地图,通过一个样式表的定义,渲染成位图格式,用来提供 ...
这两天捎带看了一下wxWidgets的Python版本wxPython,不知道是不是因为没在C++圈子里转过,我总感觉wxPython的名气要比wxWidgets本身都要响亮了。还好,这相互之间互不冲突,wxPython只是wxWidgets的python wrapper,核心还是C++ code,这也是Python的一大特点,所以也不怪Python的库那么多,功能那么强大,涵盖的面那么广。 Python的图形库的选择有不少,首当其冲的是随Python一起分发的tcl/Tk,此外还有GTK和QT各自的pyGtk、pyQt,再一个就是wxPython。除了pyQt以外我都用过了,谈谈感受吧。 ...
为了准备LilyBookStore下一步的功能,访问豆瓣的API,今天熟悉了一下JDK和Commons HttpClient中和http相关的接口。Commons中的HttpClient现在已经从Commons中独立出来了,不过新的4.0版还没有stable的release,现在用的3.1还是打着Commons标记的。 JDK实例: public void exe(String urlAsString) throws IOException{ URL url = new URL(urlAsString); HttpURLConnection ...
都DOM了还表格干嘛,不过有的时候也没有办法,需求就那么说的。本以为会很繁琐的createElement('tr')然后再createElement('td')什么的,后来发现这方面自己知道的是少了点。HTML DOM对表格的操作有一套封装,不必那样一个一个的创建表格元素。 首先说这个表格的DOM,写HTML的时候都是table完了就tr、td了,但是在DOM中,table和tr之间还有一层tbody,相应的还有thead,tfoot。所以在table对象里直接insertChild行(tr)对象结果并没有出现表格多一行的结果。实际上要在tbody这层进行操作,才能如愿地插入行。 以上都比 ...
GeoServer项目组更新了他们的Roadmap,其中起到了一些在近期或是远期将会实现的功能。这些功能包括: 反复提到还没有出现的在线SLD编辑器; 集成tile cache; 安全方面的改进; 更好的地图预览程序; 基于REST的配置服务; 关于SLD的编辑器是老生常谈了,自从1.4版本弃用了过去的一个不能CrossBrowser的在线编辑器,SLD的生成就成了一个非常麻烦的事情。虽然说可以手写,但是由于其XML的语法比较繁琐,再加上使用频率也不高,所以我猜想不会有多少人像学习CSS一样学习SLD。于是大部分人不得不装上uDig作为SLD的编辑器。只是uDig实在难用,bug实在太 ...
Quartz是一个Java的定时任务框架,使用它可以方便地实现计划任务,即在某个时间或是每隔一定时间运行一个任务。Quartz的核心是Job/JobDetail,Trigger和Scheduler。Job/JobDetail即要执行的任务,可以通过实现Job中的execute方法来指定任务的具体操作。Trigger用于控制一组Job的触发,包括SimpleTrigger和CronTrigger,后者支持一种描述触发时间和间隔的表达式语言。Scheduler则是控制和管理触发器的启动和终止。 Spring的scheduling.quartz包中对Quartz框架进行了封装,使得开发时不用写任何 ...
JPA即Java Persistence API,它通过annotation的形式指定实体类到关系数据库的映射,再通过以EntityManager为核心的API进行数据库的增删查改操作,此外还有一套类似于HQL的JPQL查询语言。总体来说,JPA最大的特点就是有效地简化了ORM的配置。JPA是一套标准,标准化的好处不言而喻,比如JDBC。目前JPA的实现包括Hibernate3.2,TopLink,OpenJPA等等。这些实现都遵循了JPA的统一规范,也就是说,如果不使用个别框架的高级特性的话,只要替换lib中的文件,简单地修改一下persistence.xml的属性设置,就可以更换掉底层的O ...
与其用ActiveX还不如用Applet当然在浏览器端Ajax如此强大的今天最好还是不要选择这些平台不独立的技术吧当然有的时候需求却是bt,领导们不管浏览器端开发的特点,莫明其妙的需求有的时候根本不该是WebGIS。我的观点是GIS融入主流IT技术的今天,GIS应该尽可能摆脱传统技术的限制,顺应潮流,走兼容、开放的道路。不仅要应用主流的IT技术,更多的是主流的意识和观念。当然啦,面对苛刻的需求开发人员真的是很难的,呵呵。。。
Classicning
搜索本博客
存档
最新评论