mapserver+postgis(postgresql) +openlayers发布地图成功

本文详细介绍了在Windows XP环境下使用tilecache进行地图服务优化的方法,包括配置tilecache.cfg,展示如何通过OpenLayers调用地图服务并实现地图缓存。同时,讨论了在不同地图服务上的应用差异,并提供了实现地图label中文显示的解决方案。最后,提出了下一步目标——实现基于mapserver发布本地PostGIS数据并使用tilecache自动缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 在windows xp上成功

先来个结果图


渲染很慢,本机都很慢,必须做缓存,下一步用tilecache把切片加进去


2. tilecache.cfg的配置添加如下:

[railway]
type=WMS
url=http://localhost:8080/cgi-bin/xmap.exe
layers=bou2_4p.the_geom,chinaMapL,railway,river,roadExceptSCCQ,roadSCCQ,shengjieline,xianjieline,dijishipoint,provincealcapital,xianpoint
extension=jpeg
size=256,256
bbox=63.579528,12.379029,158.398491,70.273782
#resolutions=110, 90, 70, 50, 30, 25, 20 ,4

openlayers的调用如下:

var options = {
controls : [
       new OpenLayers.Control.Navigation(),
//new OpenLayers.Control.KeyboardDefaults(),
// new OpenLayers.Control.Scale(),
new OpenLayers.Control.MousePosition({
formatOutput:_this.MousePositionFormatOutput
}),
new OpenLayers.Control.LayerSwitcher(),
 new OpenLayers.Control.PanZoomBar() ],
projection : new OpenLayers.Projection("EPSG:4326"),
//displayProjection : new OpenLayers.Projection("EPSG:4326"),
units : "dd",
//maxResolution: "auto",
maxResolution: 0.18519328710937499,
//minResolution:  0.29858214168548586,
maxExtent: new OpenLayers.Bounds(63.579528, 12.379029, 158.398491, 70.273782)//20037508.34,238107693.23182


};
map = new OpenLayers.Map('map', options);

var railwaylayer = new OpenLayers.Layer.WMS("railway", "http://localhost:8080/tilecache/tilecache.py?", { layers: 'railway', format: 'image/png' });
map.addLayer(railwaylayer);

可以显示出地图,但是没有缓存出瓦片,tmd


但是

[basic]
type=WMS
url=http://labs.metacarta.com/wms/vmap0
extension=png

projection : new OpenLayers.Projection("EPSG:4326"),
units : "dd",
maxResolution: 360 / 512,
maxExtent: new OpenLayers.Bounds(-180,-90,180,90)

var layer = new OpenLayers.Layer.WMS("basic","http://localhost:8080/tilecache/tilecache.py?", { layers: 'basic', format: 'image/png' });

这个可以成功,不过要注意地图的optntion,注意是分辨率要对应。

3. mapserver,地图label显示中文

首先设置字体,在 fontset.txt 文件中设置如下:

simhei  Fonts\simhei.ttf
arial  Fonts\arial.ttf
simfang Fonts\simfang.ttf
simkai Fonts\simkai.ttf

其实就是为tt.map中的label标签设置字体对应的字体文件,如下

 LABEL 
      FONT simfang
      TYPE truetype
      SIZE 10
      COLOR 0 0 0
      ANGLE 0
      POSITION cc
      FORCE true
      ANTIALIAS true
      PARTIALS true
     END 

显示的中文如下:


4. 下一步,一定要实现mapserver发布本机的postGIS数据,用tilecache实现自动缓存,如果有知道的朋友,请留言指导,谢谢。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值