posts - 41,  comments - 90,  trackbacks - 0
 
geoserver 1.5开始,停止使用mapbuilder编写的测试页面,转而使用openlayers。
openlayers提供了mapbuilder没有的导航工具条,提供了地图分幅(分块)和预读取功能,这些都是实际应用中非常有用的。
地图分幅(分块)和预读取功能可以大大加快地图浏览速度,不用每次从服务器读取新的地图块。
posted @ 2007-04-19 20:44 天狼 阅读(1641) | 评论 (1)编辑 收藏
Hibernate版本3.2.0beta9a
开发环境Eclipse3.2.1+MyEclipse5+HibernateTools3.2

前几天还好好的程序,今天突然出现Could not find datasource错误。
郁闷了一下午,终于找到了罪魁祸首。

可以正常运行的hibernate.cfg.xml文件:
    <session-factory>
    <property name="show_sql">false</property>
    <property name="connection.datasource">java:comp/env/jdbc/odbcq</property>
    <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
    <mapping resource="com/tecom/cbd/model/CbdBuilding.hbm.xml" />

    </session-factory>

出现错误的hibernate.cfg.xml文件(MyEclipse5自动生成):
    <session-factory>
    <property name="show_sql">false</property>
    <property name="connection.datasource">java:comp/env/jdbc/odbcq</property>
    <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
    <property name="jndi.class"></property>
    <property name="connection.password"></property>
    <property name="connection.username"></property>
    <property name="jndi.url"></property>
    <mapping resource="com/tecom/cbd/model/CbdBuilding.hbm.xml" />

    </session-factory>

posted @ 2007-02-06 16:42 天狼 阅读(4405) | 评论 (0)编辑 收藏
geoserver 1.4.0测试工作完成,发现的问题已经解决,正好有一新项目进入开发阶段,决定使用sun jdk1.4.2+apache2.2.4+tomcat5.0.28+geoserver 1.4.0+mapbuilder 1.0.1组合.
我们使用apache2.2 和tomcat5.0 整合搭建了一套运行平台,网上搜索了很多apache2.2 和tomcat5.0整合的文章,由于版本等原因,搞了2天才弄出来。
本文可以为需要做apache2.2 和tomcat5.0 整合的朋友做参考。
经过测试该平台的性能比济南项目(IIS6+Resin3.0.19)提升50-100%。

使用软件
Sun Java2SDK 1.4.2 (j2sdk-1_4_2_11-windows-i586-p.exe)
Sun JAI 1.1.2 SDK (jai-1_1_2_01-lib-windows-i586-jdk.exe) geoserver需要
Sun ImageIO 1.0 SDK (jai_imageio-1_0_01-lib-windows-i586-jdk.exe) geoserver需要
Apache 2.2 (apache_2.2.4-win32-x86-no_ssl.msi) 注意:必须使用2.2.3及以上版本
Tomcat 5.0 (jakarta-tomcat-5.0.28.exe)
mod-jk 1.2 (mod_jk-apache-2.2.3.so) 注意:必须匹配apache版本

1、安装Java2SDK-1_4_2,过程省略。
2、安装Apache 2.2,过程省略。使用端口80,将mapbuilder整个目录(地图客户端支持包)复制到 Apache安装目录/htdocs下。
3、安装Tomcat 5.0,过程省略。使用端口8081,将geoserver整个目录(地图引擎)和cqcbd整个目录(应用系统)复制到 Tomcat安装目录/webapps下。将cqcbd.xml文件复制到 Tomcat安装目录/conf/Catalina/localhost下,cqcbd.xml文件包含数据库连接池的ResourceLink信息。
4、将mod_jk-apache-2.2.3.so复制到 Apache安装目录/modules下。
5、修改 Apache安装目录/conf/httpd.conf
添加mapbuilder虚拟目录:(mapbuilder不使用tomcat解析。使用tomcat时,xsl中输出的汉字会显示为?号,原因不明。)
Alias /mapbuilder "D:/Apache2.2/htdocs/mapbuilder"
<Directory "D:/Apache2.2/htdocs/mapbuilder">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
  Allow from all
</Directory>

添加apache_tomcat连接器mod-jk配置文件路径:
# Tomcat mod-jk
Include conf/mod_jk.conf

6、在Apache安装目录/conf/下新建文件mod_jk.conf,内容如下:

# Load mod_jk module. Specify the filename
# of the mod_jk lib you’ve downloaded and
# installed in the previous section
#加载mod_jk模块
LoadModule jk_module modules/mod_jk-apache-2.2.3.so
# Where to find workers.properties
JkWorkersFile conf/workers2.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 请求分发配置,可以配置多项
JkMount /cqcbd/* loadbalancer
#把/cqcbd/目录下的所有请求转发给集群负载均衡器(最终到达tomcat)
#注意,不要把mapbuilder目录下的请求转发给Tomcat
#关掉主机Lookup,提高系统性能。
HostnameLookups Off

7、在Apache安装目录/conf/下新建文件workers2.properties,内容如下:

worker.list=loadbalancer
# Define the first node...
worker.server1.port=8009
worker.server1.host=192.98.151.7 #tomcat服务器ip地址
worker.server1.type=ajp13
worker.server1.lbfactor=1
worker.server1.local_worker=1
worker.server1.cachesize=1000
worker.server1.cache_timeout=600
worker.server1.socket_keepalive=1
worker.server1.socket_timeout=0
worker.server1.reclycle_timeout=300
worker.server1.retries=3

# Define the second node...

# Now we define the load-balancing behaviour
worker.loadbalancer.type=lb
worker.retries=3
worker.loadbalancer.balance_workers=server1
worker.loadbalancer.sticky_session=true
worker.loadbalancer.sticky_session_force=true

8、Tomcat不需要特别配制,确认 Tomcat安装目录/conf下的server.xml文件包含:

<Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">
</Connector>

整合完成!测试系统:
访问http://192.98.151.7,出现Tomcat目录列表。
访问http://192.98.151.7/geoserver,出现Geoserver目录列表。
访问http://192.98.151.7/mapbuilder,出现mapbuilder首页。
访问http://192.98.151.7/cqcbd,出现CBD管理系统首页。
说明:测试时只使用了一台服务器。

posted @ 2007-01-31 17:19 天狼 阅读(4804) | 评论 (2)编辑 收藏
上周测试了Geoserver1.4.0正式版,比起Geoserver1.3.2有了较大变化,最大变化是引入spring框架以及内核升级到Geotools2.2。测试中发现地图渲染速度明显提升,特别是读取oracle spatial的速度至少提升了100%(难以置信)。同时也发现WFS查询存在严重问题,回想当初Geoserver1.3.0版本也存在不少bug,再等等吧!期待Geoserver1.4.1早日发布。
posted @ 2007-01-20 21:50 天狼 阅读(2657) | 评论 (3)编辑 收藏
最后担心的速度问题经过升级服务器硬件,优化运行环境很好的解决了。
Geoserver具有j2ee平台固有的特点,吃CPU,耗内存。因此服务器CPU采用P4 Xeon 3.0G(单颗),内存扩充为2G,采用BEA IA32 1.4.2 JVM和IIS6+Resin 3.0.19服务器,同时运行3个独立的Geoserver,640*480幅面地图刷新时间不大于1秒 。

web地址 www.ditu365.cn 该网站暂时未启用,请访问济南地名网 http://map.jndmw.cn
服务器在网通机房,南方电信用户访问会比较缓慢。
posted @ 2006-12-18 12:56 天狼 阅读(8125) | 评论 (13)编辑 收藏
安装环境:Windows 2003 Server SP1+Sun Java 2 SDK 1_4_2_11+Tomcat 5.0.28
如果你希望试用Geoserver,建议下载Windows Installer文件geoserver-1.3.3.exe,安装程序中包含
Jetty应用服务器,将为你自动创建测试环境。

部署一个Geoserver项目(WAR文件包),大致需要以下六个步骤:
1、安装Sun Java 2 SDK,到sun网站下载j2sdk-1_4_2_11-windows-i586-p.exe(版本可能有变化)。
注意:必须下载JDK,而不是JRE。你也可以使用IBM或BEA公司的JDK,经过测试表明BEA的Jrocket在Windows x86平台上比Sun的JVM有更快的速度。
(安装JDK 5.0可能遇到问题,请参考Geoserver帮助文档。)
2、安装Sun Java Advance Image SDK,到sun网站下载jai-1_1_2_01-lib-windows-i586-jdk.exe(版本可能有变化),安装程序自动将Java Advance Image安装到Sun Java 2 SDK所在目录。
注意:必须安装JDK版本。
3、安装Sun Java Advance ImageIO SDK,到sun网站下载jai_imageio-1_0_01-lib-windows-i586-jdk.exe(版本可能有变化),安装程序自动将Java Advance ImageIO安装到Sun Java 2 SDK所在目录。
注意:必须安装JDK版本。
4、安装Tomcat应用服务器,到Apache网站下载jakarta-tomcat-5.0.28.exe,安装到指定目录,默认使用8080端口。你也可以安装其他J2EE应用服务器,经过Geoserver项目组测试的应用服务器包括:JBoss、Jetty、Tomcat、Resin。
注意:Tomcat 5.5需要JDK 5.0支持。
5、安装Apache服务器,到Apache网站下载apache_2.2.3-win32-x86-no_ssl.msi,安装到指定目录,服务器名为本机IP地址,默认使用80端口。如果Apache Server无法正常启动,检查你的系统上是否正在运行IIS服务器。
(该步骤可选,我们使用Apache处理普通http请求,Tomcat处理OGC WMS,WFS-T地图服务请求,这样做的目的是分担Tomcat的工作压力,提高Geoserver的地图处理速度。)
6、关闭Tomcat,复制geoserver.war包到Tomcat的webapp目录,启动Tomcat。Tomcat将自动部署geoserver。启动完毕,使用http://ip:8080/geoserver进入geoserver图形配置页面。第一次进入geoserver,应用服务器需要编译jsp,请耐心等待。
提示:geoserver需要高速CPU和大量内存才能流畅运行,建议配置至少为P4 1.6A 512M内存。在低配置的机器上运行速度将非常缓慢,参见以下的测试报告。

测试中我们同时渲染了15个地图图层,数据全部取自Oracle数据库,记录每次地图刷新所需时间。
服务器A P4 1.7(2级Cache 256K) 内存 512M(DDR266) 耗时6-8秒
服务器B P4 1.6A(2级Cache 512K) 内存 1G(DDR400) 耗时3-5秒
服务器C P4 2.8E(2级Cache 1M) 内存 512M(DDR400) 耗时1-2秒

posted @ 2006-08-20 21:39 天狼 阅读(4001) | 评论 (3)编辑 收藏
WMS Server列表
1. NASA JPL Web Mapping Server http://wms.jpl.nasa.gov/wms.cgi?Service=WMS&Version=1.1.1&Request=GetCapabilities
2. Cubewerx Demonstration Server http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?CONFIG=main&SERVICE=WMS&?VERSION=1.1.1&REQUEST=GetCapabilities 3. DM Solutions GMap Server http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?VERSION=1.1.0&REQUEST=GetCapabilities
4. TerraServer http://terraservice.net/ogccapabilities.ashx?version=1.1.1&request=GetCapabilties
5. Delaware http://datamil.udel.edu/servlet/com.esri.wms.Esrimap?servicename=DE_census2k_sf1&VERSION=1.0.0&request=capabilities 6. LifeMapper http://www.lifemapper.org/Services/WMS/?Service=WMS&VERSION=1.1.1&request=getcapabilities
7. NASA GLOBE Program http://globe.digitalearth.gov/viz-bin/wmt.cgi?VERSION=1.1.0&Request=GetCapabilities
8. Geobase National Road Network - Newfoundland and Labrador http://www.geographynetwork.ca/wmsconnector/com.esri.wsit.WMSServlet/Geobase_NRN_NewfoundlandAndLabrador_I_Detail?request=GetCapabilities 9. Demis.nl http://demis.nl/mapserver/request.asp?Service=WMS&Version=1.1.0&Request=GetCapabilities
10. SEACOOS, remote sensed and in-situ ocean data. http://nautilus.baruch.sc.edu/wms/seacoos_rs?REQUEST=GetCapabilities http://nautilus.baruch.sc.edu/wms/seacoos_rs_256?REQUEST=GetCapabilities http://nautilus.baruch.sc.edu/wms/seacoos_in_situ?REQUEST=GetCapabilities http://nautilus.baruch.sc.edu/wfs/seacoos_in_situ?service=wfs&request=getcapabilities&version=1.0.0 For details on remotely-sensed WMS data, see: http://caro-coops.org/bb/viewtopic.php?t=324&highlight= For details on in-situ WMS and WFS data, see: http://caro-coops.org/bb/viewtopic.php?t=331&highlight= For more information on layers see: http://www.seacoos.org/Data%20Access%20and%20Mapping/layerpopup
11. GO Web Server, a hybrid SLD-WMS 1.3.0 and WFS 1.0.0 using GO-1 http://goserver.systechnologies.com/GO1WebServer/gws http://goserver.systechnologies.com/GO1WebServer/test-wmsclient.html For details see http://goserver.systechnologies.com/go1wiki/index.php/Main_Page
12. wms.lizardtech.com - hosting a large collection of hi-resolution orthorectified imagery covering the US. http://wms.lizardtech.com - express server portal page http://wms.lizardtech.com/lizardtech/iserv/ows?service=WMS&request=GETCAPABILITIES - capabilities document
13. Regional Autonomous Corporation of Santander - Environmental & forest data - Departament of Santander - Colombia http://sig.cas.gov.co:9999/geoserver/wms?Service=wms&Request=GetCapabilities

WFS Server列表
# DM Solutions Sample Server http://www2.dmsolutions.ca/cgi-bin/mswfs_gmap?version=1.0.0&request=getcapabilities&service=wfs # InterGraph Server http://ogc.intergraph.com/OregonDOT_wfs/request.asp?VERSION=0.0.14&request=GetCapabilities # Geography Network Canada (ESRI Instance) http://dev.geographynetwork.ca/ogcwfs/servlet/com.esri.ogc.wfs.WFSServlet?Request=GetCapabilities # Galdos Sample Server http://wfs.galdosinc.com:8680/wfs/http?Request=GetCapabilities&service=WFS # Federal Water Quality Data - Pacific Yukon http://excise.pyr.ec.gc.ca/cgi-bin/mapserv.exe?map=/LocalApps/Mapsurfer/PYRWQMP.map&version=1.0.0&service=WFS&request=GetCapabilities # Federal Water Quality Data - Newfoundland - Labrador http://map.ns.ec.gc.ca/MapServer/mapserv.exe?map=/mapserver/services/envdat/config.map&service=WFS&version=1.0.0&request=GetCapabilities # Geomatics Sample Server http://gws2.pcigeomatics.com/wfs1.0.0/wfs?service=WFS&request=getcapabilities # Nature Watch http://emandev.cciw.ca/cgi-bin/mapserver/mapserv.exe?map=/inetpub/wwwroot/emanco/cgi-bin/mapserver/naturewatch.map&version=1.0.0&service=WFS&request=GetCapabilities # Cubewerx Demonstration Server http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?service=WFS&datastore=Foundation&request=GetCapabilities

posted @ 2006-08-17 21:56 天狼 阅读(5354) | 评论 (1)编辑 收藏
本文讲述如何使用国际开源项目构建一个完整的GIS(地理信息)应用系统。

通常的GIS应用系统包括:GIS内核、空间数据导入/转换、空间数据引擎、应用服务器、桌面应用程序、Web应用程序、(移动设备应用程序), 实际应用中可以根据需要进行取舍。
1、GIS内核 Geotools Geotools是一套基于Java平台的开源GIS API中间件,实现了完整的GIS底层功能。
2、空间数据导入/转换 地理数据的获取 地理数据来自文件、数据库和WMS/WFS服务器。
文件方式: 支持读取的地理数据文件:ESRI Shape、Mapinfo Tab/Mif、Geomedia Access等,建议使用Shape文件格式,Oracle和PostgreSQL提供Shape文件导入数据库的程序。
WMS/WFS服务器:Internet上有很多开放的GIS应用服务器,例如NASA、InterGraph、TerraServer等,通过它们获取各种免费地图资源。
Google Map资源:Google Map没有采用标准的WMS/WFS协议,可以通过调用开放的Google Map API,附加自定义的WMS/WFS图层,实现应用目的。例如:通过Google Map可以免费获取高分辨的Google Map卫星地图。
3、空间数据引擎
开源:PostgreSQL(PostGIS)、MySQL(4.1以上)
商业:Oracle、DB2、ArcSDE
开源商业空间数据库推荐使用PostgreSQL。
使用商业空间数据库引擎,例如Oracle Spatial、ArcSDE,可以非常方便的处理地理数据,更好的处理海量数据,以及与现有商业软件共享数据。
4、应用服务器 Geoserver Geoserver是一个基于J2EE的开放的GIS应用服务器,实现了OGC(Open Geospatial Consortium)制定的WMS和WFS(WFS-T)规范,Geoserver是整个GIS应用系统的中枢部分,承担大部分业务处理任务。 (新版本(1.3.3)增加了对Google Earth KML/KMZ的支持。)
需要注意的是,Geoserver不只是WebGIS服务器,它可以为桌面应用程序(Udig、Mapinfo)或移动设备(支持J2ME的PDA、手机)提供地图支持。
5、桌面应用程序(C/S) Udig、GVSig
Udig是一个使用Eclipse RCP和GeoTools构建的桌面地理信息系统,采用Eclipse SWT图形组件,具有更快的运行速度。Udig可以直接读取Shape文件,访问DB2或Oracle空间数据库,访问OGC WMS/WFS服务器。 Udig提供浏览、查询、编辑、测量等基本的GIS操作功能。
6、Web应用程序(B/S) Mapbuilder Mapbuilder是一个采用AJAX(Asynchronous JavaScript and XML)技术开发的WebGIS客户端,它的内部结构基于MVC(Model-View-Controller),具有良好的可读性和可扩展性, 兼容Firefox 1.0+, Internet Explorer 6.0+, Mozilla 1.3+, Navigator 6+等浏览器。
7、移动客户端 Spot Spot是一款基于移动设备的地图和定位软件,地图通过OGC WMS获取,并且提供了蓝牙GPS接口。该软件属于共享软件,使用GPS接口需要付费。
posted @ 2006-08-17 21:46 天狼 阅读(9624) | 评论 (8)编辑 收藏
仅列出标题
共4页: 上一页 1 2 3 4