`
Classicning
  • 浏览: 250685 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
WMS的GetFeatureInfo用于通过屏幕坐标获取相应位置的要素信息,其效果就如同MapInfo或ArcView里的Info按钮,而通常WMS的GetFeatureInfo则是通过发送异步的请求完成的,通过GetFeatureInfo,我们在WMS上也可以获得要素的属性信息,这是非常有帮助的。 GetFeatureInfo需要如下几个参数: bbox: 当前视图的Bound,以地理坐标表示 styles:当前视图的样式表信息 format:当前视图的图象格式 info_format:返回要数信息的格式,GeoServer支持GML、PlainText和HTML的返回,此外还可以通过F ...
从去年Java One 2007到现在,WorldWind Java SDK已经推出将近一年了,上一个版本是去年12月发布的0.4。比起最初的版本,0.4的规模已经是空前扩大了,包和类的数量都有大大的增加。因为是处在开发的初期,所以每一个版本的变化都非常大,包的结构在不断的改变,之前版本上能跑的程序现在必需修改了。 0.4开始,WorldWind Java提供了一个WMSLayerFactory,用于简化和WMS服务的集成。之前的版本要加载一个WMS图层,需要集成TiledImageCache类,重写TiledUrlBuilder。而现在只要给WMSLayerFactory传入一个Capabi ...
EveryBlock是一个地图门户网站,提供了多种形式的城市地里信息查询和搜索方式,最有特点的还是他的地图。EveryBlock网站采用的是Python的开源Web框架Django为基础,而他的地图服务本身也是基于开源软件构建的。最近EveryBlock的官方blog就对其地图服务进行了相关的解释,我们可以看一下他的构成。 浏览器客户端OpenLayers OpenLayers现在是开源GIS浏览器端的最佳解决方案,这一点不用多做介绍。 地图渲染引擎Mapnik Mapnik是开源的Python/C++地图渲染引擎,他的功能是把数据形式的地图,通过一个样式表的定义,渲染成位图格式,用来提供W ...
这两天捎带看了一下wxWidgets的Python版本wxPython,不知道是不是因为没在C++圈子里转过,我总感觉wxPython的名气要比wxWidgets本身都要响亮了。还好,这相互之间互不冲突,wxPython只是wxWidgets的python wrapper,核心还是C++ code,这也是Python ...
为了准备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对表格的操作有一套封装,不必那样一个一个的创建表 ...
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框架进行了封装,使得开发时不用写任何Q ...
JPA即Java Persistence API,它通过annotation的形式指定实体类到关系数据库的映射,再通过以EntityManager为核心的API进行数据库的增删查改操作,此外还有一套类似于HQL的JPQL查询语言。总体来说,JPA最大的特点就是有效地简化了ORM的配 ...
与其用ActiveX还不如用Applet当然在浏览器端Ajax如此强大的今天最好还是不要选择这些平台不独立的技术吧当然有的时候需求却是bt,领导们不管浏览器端开发的特点,莫明其妙的需求有的时候根本不该是WebGIS。我的观点是GIS融入主流IT技术的今天,GIS应该尽可能摆脱传统技术的限制,顺应潮流,走兼容、开放的道路。不仅要应用主流的IT技术,更多的是主流的意识和观念。当然啦,面对苛刻的需求开发人员真的是很难的,呵呵。。。

pyGTK

    博客分类:
  • Tech
pyGtk的界面:Python除了默认的Tk图形界面库以外,还有许多其他的选择,比如基于GTK的Python实现pyGTK,还有基于Qt的Python实现pyQt,两者分别能够运行在GNOME和KDE环境中,不需要安装额外的运行环境。GTK的GNOME的基础,它在Windows上的样子就如同Pidgin,GIMP等基于GTK的跨平台软件的样子。Qt在Windows上有QGIS这样一个GIS专业软件。而PyGtk要比Python默认的Tk强大一些。要在Python中开发Gtk程序,需要的库包括GTK环境:gtk-dev-2.10.11-win32-1.exepyCario: pycairo-1.2 ...
“2007 中国科学院 GIS 自主创新论坛暨SuperMap 技术大会,2007年9月14日至9月15日,北京,国际会议中心。”上午打开Opera,收到了标题说的邀请函。还在考虑去不去,对于我来说,主要是时间和费用问题,当然还是想去见识一下。不知有没有人愿意同去。
Python如此强大当然也少不了Web开发功能,Django就是一个强大的Web框架。类似于Rails,它的管理功能也从一开始就帮助你建好程序的框架,使你不得不MVC(但是我觉得似乎有Controller和View混杂的嫌疑)。另外Django还在内部实现了一个ORM,操作各种常见的数据库十分方便。最近正在尝试Django的入门,准备写一个简单的blog程序。遗憾的是现在几乎就没有Python环境的虚拟主机,因此想要真正用自己写的Blog还是难以实现啊。
以前一直听工作室的Pierric讲函数式编程和Haskell,没有真正的见识,昨天在JavaEye的Python圈子里看到有人用Python的函数式编程解决八皇后问题,确实震撼。不过自己的数学能力确实不行,尤其是在复杂的函数定义和极长的return语句面前更是力不从心。简单的看,逻辑判断和递归在函数式编程中占了重要的角色。不提了,内功是要慢慢修炼的,现在看看用Python能做点什么。Python也提供了一些可以适用于函数式编程的特性,比如遍历一个列表,取出一个复合值大于5的列表:l = [3,6,1,9,7,10]nl = [x for x in l if x > 5]这种x for x ...
在默认的情况下,用GeoTools的ShapefileDataStore来读取包含中文字段的shp文件时会出现乱码。以前认为这个是shp文件的问题,今天干脆手动把dbf的编码改成UTF-8发现读取以后还是乱码。把注意力集中到GeoTools上,看一下代码就了然。原来GeoTools的ShapefileDataStore的默认编码是ISO-8859-1,也难怪会出现乱码。那么在读取shp文件之前,手动调用一下ShapefileDataStore的setStringCharset方法即可dataStore.setStringCharset(Charset.forName("UTF-8&qu ...
Global site tag (gtag.js) - Google Analytics