swMap提供基礎(chǔ)的Gis發(fā)布功能,目前swMap提供c/s,b/s兩種服務(wù)功能,b/s也就是webgis,
apache+openlayers+swGisServer服務(wù)器構(gòu)成了webgis的地圖支持體系。
c/s模式現(xiàn)僅提供基于Qt的C++開(kāi)發(fā)接口,c/s模式可以是本地渲染地圖(可用于單機(jī)導(dǎo)航,支持win32,wince,linux),也可以rpc方式訪問(wèn)地圖服務(wù)器,之間采用特殊的通信協(xié)議。
演示: http://wallizard.vicp.net/maps/test/test_map.html 這是adsl主機(jī),上行出口比較窄,所以顯示地圖會(huì)慢很多
Demo下載:http://wallizard.vicp.net/maps/swmap.demo.2010.11.20.7z
demo包含c/s,b/s功能和全國(guó)地圖數(shù)據(jù),共170M左右,可以直接架設(shè)起一臺(tái)wms地圖服務(wù)器
系統(tǒng)結(jié)構(gòu):

1. c/s 配置:
1.1 單機(jī)模式:
a.) 修改swBox/swbox.xml參數(shù)
EnableTileCache = false
cachethreads = 3
asyncRender = true
b.) 運(yùn)行swBox/swbox.exe
1.2 Rpc模式(地圖與客戶應(yīng)用分離)
a.) 修改swbox.xml參數(shù)
EnableTileCache = true
cachethreads = 3
asyncRender = true
增加<tileservers/>的子條目
<server>TileServer:tcp -h localhost -p 5000</server>
-h 地圖服務(wù)器主機(jī)地址 ; -p 服務(wù)端口。根據(jù)實(shí)際情況可以配置多個(gè)TileServer來(lái)提高并發(fā)能力
b.)修改Tileserver.xml
realRender = true
確保 scales與 swbox.xml的scales保持一致,中間以空格區(qū)分
c.)運(yùn)行TileServer.exe -rpcservice localhost:5000
可以并行啟動(dòng)多個(gè)TileServer,同一臺(tái)主機(jī)以端口號(hào)區(qū)分
d.)運(yùn)行 swbox.exe
2.b/s 配置
2.1 解壓apache2.2.pack_maps.rar到c:\apache2.2.pack
2.2 安裝apache2.2
執(zhí)行C:\apache2.2.pack\http-install.bat
執(zhí)行C:\apache2.2.pack\http-start.bat
2.3 安裝GisServer
編輯tileservers.txt ,增加服務(wù)器信息,例如:
localhost:5000,localhost:5001
執(zhí)行wms_start.bat ,服務(wù)器默認(rèn)啟動(dòng)在8000端口開(kāi)始偵聽(tīng)
2.4 運(yùn)行 TileServer.exe -rpcservice localhost:5000
為提高并發(fā)能力多啟動(dòng)幾個(gè)Tileserver,并添加到swGisServer的tileservers.txt文件內(nèi)
swGisServer和TileServer都可以以n x n的方式配置來(lái)提高整體 系統(tǒng)的吞吐能力
2.5 修改 c:/apache2.2.pack/web-root/test/test_map.html內(nèi)的wms服務(wù)器的指向,將http://wallizard.vicp.net:8000/wms替換成GisServer運(yùn)行主機(jī)的地址和端口
打開(kāi)瀏覽器訪問(wèn)http://localhost:9000/test/test_map.html
3.塊緩存
塊緩存技術(shù)就是預(yù)先將全國(guó)的地理區(qū)域劃分成網(wǎng)格按縮放級(jí)別繪制并存儲(chǔ)起來(lái),待請(qǐng)求到達(dá)時(shí)直接讀取圖塊并返回(wms,Rpc).
當(dāng)然這種是最高效的方法 ,但往往時(shí)間和空間是相背的,緩存的話雖然能降低對(duì)機(jī)器的性能要求,但會(huì)大大占用存儲(chǔ)空間。
緩存技術(shù)可以用低配置高帶寬的主機(jī)提供集群的地圖服務(wù)。
Tileserver/spliteTiles.py 產(chǎn)生網(wǎng)格緩沖任務(wù),Tileserver.exe -mapcreate 可以進(jìn)行地圖網(wǎng)格預(yù)存的工作
4.風(fēng)格定制:
swMap地圖當(dāng)配置成實(shí)時(shí)模式(非緩存)時(shí),修改mapsld.xml就可以立刻生效繪制效果,但是要重新啟動(dòng) tileserver服務(wù)進(jìn)程 。
<win7下的微軟雅黑字體顯示效果頗佳>
5.運(yùn)行環(huán)境:
windows xp,2003,win7
安裝vc運(yùn)行環(huán)境包 vcredist_x86.exe
win7環(huán)境下微軟雅黑字體 vistaFont_CHS.exe
全國(guó)地圖數(shù)據(jù)