30th July 2009
PostGIS是开源对象/关系数据库PostgreSQL的空间扩展,提供包含空间对象、空间索引、空间操作函数和空间操作符在内的空间信息服务功能。
新版本PostGIS 1.4.0刚刚发布,这个版本在性能上有很大的提升,重点体现在ST_Union、ST_Intersects、ST_Contains和ST_Within等空间分析操作上。并且增加了ST_GeoHash、ST_LineCrossingDirection、ST_AsGeoJSON等新的空间操作函数。同时新版本增强了API的稳定性和一致性,支持PostgreSQL当前最新的8.4发布版,并在PostGIS文档细节和参考手册方面做了增补。
在数据格式方面,PostGIS支持各种常用空间数据类型,包括点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点(MULTI_POINT)、多线(MULTI_LINESTRING)、多多边形(MULTI_POLYGON)和集合对象集(GEOMETRY_COLLECTION)等。在PostGIS中,使用文本表达方法WKT(Well Known Text)和二进制表达方法WKB(Well Known Binary)表达不同的几何体类型,并由对象类型和构成对象的坐标两部分组成。
在PostGIS提供的空间操作中,基于OpenGIS的空间操作包括:字段处理函数、几何关系函数、几何分析函数和读写函数。除此之外,在OpenGIS基础上扩展的空间操作包括:空间索引创建、空间查询、网络地图服务、数据类型支持、量算函数、几何操作函数等扩展功能。除空间操作符之外,PostGIS提供了一系列用于检测空间对象关系的二元谓词(如Contains、Within、Overlaps),并返回布尔值来表征对象间符合关系。
在空间数据查询方面,PostGIS依照OGC的Simple Features for SQL 1.1规范设计,同时,PostGIS也实现了ISO组织SQL Multi-media标准的绝大多数空间操作函数,并能够在SQL查询中实现常用的空间运算并获得返回结果。同时PostGIS支持空间聚集函数查询操作,以对某一属性列所有空间对象执行操作,如返回一系列要素的最大外包矩形框的聚集操作。
在空间索引方面,PostgreSQL目前支持B树索引、R树索引和通用搜索树GiST(Generalized Search Trees)三种类型空间索引。B树索引主要用于顺序排列的一维数据,在存储空间数据的PostGIS上应用较少;R树索引将数据分成矩形、子矩形、子子矩形,适用于为二维空间数据建立索引;GiST索引是一种平衡,树状结构的访问方法,将数据划分成:一般数据、重叠数据和内部数据,并可在基础模版中实现多种索引模式。
目前OSGeo旗下大多数开源GIS软件如GeoServer、uDig、OpenJUMP等都支持PostGIS数据表的直接载入,读写操作。但PostGIS在栅格数据的存储、管理和分析方面还有待增强。感兴趣的朋友可以查看PostGIS手册来获取更多使用细节。
Posted in 聚焦GIS | No Comments »
4th July 2009
Fuji项目是java.net上一个非常Cool的开源项目,作为Open ESB v3项目中的核心组件,Fuji为使用者提供了一个基于Web且具备良好用户界面的轻量级可拓展平台,来进行应用的组装开发。
Fuji的轻量级微内核基于JBI(JSR 208)和OSGi实现,其微内核可以安装在任何与OSGi R4相兼容的运行时之上,如GlassFish v3,以及OSGi的服务平台Apache Felix,Knopflerfish或Eclipse Equinox之上。
作为开源ESB组件,Fuji为使用者提供了基于Web的IDE界面进行服务组装和服务流程设计,在浏览器中使用简单的拖放和组装,让开发者从底层协议和通讯接口重复开发的工作中解脱出来,以可视化方式构建自己的业务流程并进行应用集成。
在Fuji的Web设计器中,预置了众多可定义的服务类型模板,包含数据库(Database),邮件服务(SMTP),文件传输(FTP),HTTP/SOAP适配器(Adaptor),POJO服务和JRuby服务等模板,以供用户直接拖拽添加到设计器中使用。
除此之外,Fuji定义了自有的领域特定语言IFL(Integration Flow Language),来表达多种强大的整合模式,开发者在IFL的支持下可以通过服务组合来构建业务流程,以快速生成集成应用。
Fuji所属的OpenESB项目,致力于创建遵循开放标准的ESB企业服务总线,将基于WSDL标准的WebService组成复合应用程序。尽管Fuji目前仍然属于实验性项目,但几个Milestone版本更新迅速,功能也在迅速完善,并计划成为OpenESB 3.0的一个标准模块。
感兴趣的开发者,可以关注Fuji项目站点上已提供的众多文档,视屏Demo和Fuji项目架构师Andreas的讲座Slide,同时,中文GlassFish社区也整理了不少OpenESB和GlassESB的相关文档,以供开发者参考使用。
Posted in JAVA魅力 | 2 Comments »
1st July 2009

使用望远镜追踪目标天体进行观测时,由于地球自转引起的天体视运动,会让观测视场内的恒星产生视差偏移。而在望远镜的底部安装赤道仪,就可以帮助观测者抵消地球自转造成的视觉差异。
晚间的星空,以北天极和南天极连接的自转轴为中心旋转。而赤道仪的赤经轴与地球自转轴平行,当赤道仪架载望远镜沿赤经轴自东向西同步转动时,就可以抵销地球自转的影响,令目标天体的影像固定于视场内,方便观测和长时间曝光的深空拍摄。
最近在国家天文台曹子皇同学的帮助下,学习了Skywatcher EQ6/HEQ5 PRO Synscan赤道仪的使用方法。EQ6 SynScan赤道仪架设起来后,整体感觉非常扎实,也比想象的沉重很多。SynScan赤道仪具备自动寻星系统和PC端的控制软件,同时配备黑色的设置手柄,能对其进行全面运动控制,并可导入内置目标天体数据库中的参数。
在观测前,需要通过极轴镜观测,将北极星导入观测中心的小圆圈中,以保证赤经轴(极轴)对准北极星,即赤道仪的极轴和地球的地轴平行。之后使用控制手柄的四个方向键,控制赤经或赤纬轴转动(可以设定1-9种不同的速度),将目标天体移入望远镜视场中心。更详细的调节方法,可以参见文章极轴镜校正及使用,以及漂移法调整极轴,对于白天观测日全食的极轴调整,还可以参考经纬度计算法的讨论。
为拍摄方便,望远镜目镜可以替换为数码相机的转接板,以连接数码相机或者摄像机,或者直接加载CCD板,通过USB线连接到电脑中采集图像。为了提高拍摄质量,还可以对同一观测天体曝光数十张相片,然后用专门软件合成为一张深空照片,以提高降噪能力,拍摄出效果震撼的深空摄影照片。
额外提一下,学习赤道仪使用时遇到兴隆观测基地总工程师姜晓军老师,听他聊了一些观测器材的选型经验。姜老师是天文观测器材方面的骨灰高手,也是子皇同学的偶像,健谈、谦和,人很有趣。
Posted in 兴趣爱好, 行行摄摄 | No Comments »