geoserver 1.5開始,停止使用mapbuilder編寫的測試頁面,轉而使用openlayers。
openlayers提供了mapbuilder沒有的導航工具條,提供了地圖分幅(分塊)和預讀取功能,這些都是實際應用中非常有用的。
地圖分幅(分塊)和預讀取功能可以大大加快地圖瀏覽速度,不用每次從服務器讀取新的地圖塊。
posted @
2007-04-19 20:44 天狼 閱讀(1656) |
評論 (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 天狼 閱讀(4444) |
評論 (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 天狼 閱讀(4823) |
評論 (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 天狼 閱讀(2674) |
評論 (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 天狼 閱讀(8137) |
評論 (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 天狼 閱讀(4023) |
評論 (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 天狼 閱讀(5379) |
評論 (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 天狼 閱讀(9651) |
評論 (8) |
編輯 收藏