本文以MS4W为例,介绍如何建立一个简单的kamap!系统,并假设你已经做好了相关的数据,并建立了对应的map文件。
1、下载
若要简单的先浏览一下kamap!在本机上建立后的效果,需要下载下面对应的软件,所有软件都在www.maptools.org的网站上。
MS4W 2.2.3
ka-map! 1.0
gmap demo
其中,gmap是为了演示kamap!的功能的,若你有自己的数据,则可以不用下载。
2、安装
把上面下载的3个zip文件,都解压缩到c:\目录下。最终形成了一个c:\ms4w的目录,所有文件都安装到了这个目录下。
然后执行c:\ms4w\apache-install.bat文件。
ok,这样一个基本系统就搭建好了,你可以通过在WWW浏览器如IE、FIREFOX中浏览本机地址:
http://localhost/
而kamap的地址是:
http://localhost/kamap/
注意:
若在浏览kamap是无法得到地图数据,则有可能是因为浏览器缓存的问题,请先清空浏览器的缓存再试验看看。
3、定制
如何添加自己的数据集?
打开c:\ms4w\apps\ka-map-1.0\include\config.php文件,注意要用写字板或别的能支持硬回车的文本编辑软件来进行编辑。
注意看到这部分内容:
$aszGMap = array (
'title' => 'GMap 75',
'path' => '../../gmap/htdocs/gmap75.map',
'scales' => array( 40000000, 25000000, 12000000, 7500000, 3000000, 1000000 ),
'format' =>'PNG'
/* Sample authorized_users entry. See auth.php for more details:
* ,'authorized_users' => array('popplace' => array('user1', 'user2'),
* 'park' => array('user1')
*/
);$aszMapFiles = array( 'gmap' => $aszGMap
/* Add more elements to this array to offer multiple mapfiles */
);
/******************************************************************************
* figure out which map file to use and set up the necessary variables for
* the rest of the code to use. This does need to be done on every page load
* unfortunately.
*
* szMap should be set to the default map file to use but can change if
* this script is called with map=<mapname>.
*/
$szMap = 'gmap';
假设把你的map文件和地图数据拷贝到c:\ms4w\apps\lzu\目录下,你的map文件为lzu.map,则可以这样定制:
$aszGMap = array…这部分可以不用动,当然你若不需要,也可以删除之。然后添加:
$lzuMap = array (
'title' => 'LZU',
'path' => '../../lzu/lzu.map',
'scales' => array( 40000000, 25000000, 12000000, 7500000, 3000000, 1000000 ),
'format' =>'PNG'
);
然后这部分要根据上面的信息进行修改:
$aszMapFiles = array( 'gmap' => $aszGMap,'lzu'=>$lzuMap);
注意,这部分的比例尺数据要根据自己的实际情况进行修改:
‘scales’ => array( 40000000, 25000000, 12000000, 7500000, 3000000, 1000000 ),
如何修改对应的主页文件?
用网页编辑器打开c:\ms4w\apps\ka-map-1.0\htdocs\index.html文件,然后里面的信息则可以自己进行定制。
我是个mapserver的新手,刚花了几天的时间看了mapserver的tutorial,现在打算用kamap搭一个测试的例子,可自己些的mapfile测试没有问题,放到了kamap里就不行了,不知道为什么,能帮忙看看吗?
用的数据为了简单,用的freegis上下载的
我的mapfile如下
MAP
NAME “LAT LONG”
STATUS ON
EXTENT -180 -90 180 90
SIZE 600 300
SHAPEPATH “../freegis_worlddata-0.1_simpl/”
IMAGECOLOR 200 200 200
UNITS DD
INTERLACE ON
IMAGETYPE png
OUTPUTFORMAT
NAME jpeg
DRIVER “GD/JPEG”
IMAGEMODE RGB
EXTENSION “jpeg”
FORMATOPTION “QUALITY=60,PROGRESSIVE=TRUE”
END
WEB
METADATA
max_extents “-180,-90,180,90″
END
END
REFERENCE
IMAGE ‘../freegis_worlddata-0.1_simpl/worldkeymap.png’
EXTENT -180 -90 180 90
STATUS ON
COLOR -1 -1 -1
OUTLINECOLOR 255 0 0
SIZE 250 125
END
LEGEND
OUTLINECOLOR 0 0 0
STATUS on
KEYSIZE 40 10
KEYSPACING 20 15
TRANSPARENT on
END
SCALEBAR
STATUS ON
IMAGECOLOR 255 255 255
COLOR 0 0 0
OUTLINECOLOR 0 0 0
LABEL
COLOR 0 0 0
SIZE tiny
END
UNITS kilometers
STYLE 1
INTERVALS 5
TRANSPARENT ON
SIZE 249 15
END
LAYER
NAME “World”
STATUS ON
METADATA
imageformat “PNG”
END
DATA “../freegis_worlddata-0.1_simpl/countries_simpl.shp”
TYPE POLYGON
CLASSITEM “cat”
CLASS
NAME “Country”
EXPRESSION /./
STYLE
OUTLINECOLOR 100 100 100
COLOR 200 170 170
END
END
END
LAYER
NAME “Label”
STATUS ON
METADATA
imageformat “PNG”
END
DATA “../freegis_worlddata-0.1_simpl/countries_simpl.shp”
TYPE ANNOTATION
LABELITEM ‘name’
CLASS
LABEL
PARTIALS false
MINDISTANCE 250
MINFEATURESIZE 40
POSITION CC
COLOR 255 255 255
OUTLINECOLOR 0 0 0
SIZE tiny
ANTIALIAS TRUE
BUFFER 4
END
END
END
END
在ie里测试了,http://localhost:8080/cgi-bin/mapserv.exe?map=/ms4w/apps/ka-map-style/htdocs/freegis.map&layer=World&layer=Label&mode=map,mapfile没有问题
下面打算放到kamap里,
修改config.php里面对应的几行
$wangtieMap = array (
‘title’ => ‘freegis’,
‘path’ => ‘../htdocs/freegis.map’,
‘scales’ => array( 100000000,50000000,25000000,10000000),
‘format’ =>’PNG’
);
$aszMapFiles = array( ‘freegis’ => $wangtieMap , /* ‘wangtie’=> $wangtieMap*/
/* Add more elements to this array to offer multiple mapfiles */
);
$szMap = ‘freegis’;
可再刷新kamap的界面就出现空白页面了。
能帮我看看错在什么地方吗?如果方便的话可以留个qq或者msn吗?