kamap!新手入门

本文以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=.
*/
$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文件,然后里面的信息则可以自己进行定制。

debian testing 中安装mapserver

mapserver已经尽到debian的库里,直接安装就可以了:
aptitude install php4-mapserver
然后提示不能运行在CGI/FCGI模式下:
aptitude install libapache2-mod-php4
MAPSERVER运行没有问题了,但MYSQL出问题了:
编辑/etc/php4/apache2/php.ini,把mysql.so前面的注释去掉,重新启动apache2。

下次就直接测试php5相关部分了。

ubuntu dapper下编译mapserver

好久没有安装mapserver了,今天才发现mapserver都已经进入官方的源了。
看来已经出了好长时间了,今天要重装mapserver才发现。
ubuntu dapper中的版本是4.6.1

apt-cache search mapserver
cgi-mapserver – cgi module of mapserver
mapserver-bin – mapserver binary utilities
mapserver-doc – documentation for mapserver
perl-mapscript – perl mapserver library
php4-mapscript – module for php4-cgi to use mapserver
php5-mapscript – module for php5-cgi to use mapserver
python-mapscript – python mapserver lib

debian stable中是4.4.1,testing和unstable是4.8.3版本。

并且发现现在安装mapserver好简单了:

./configure –with-ogr –with-gdal –with-geos –with-proj –with-postgis –with-php=/usr/include/php5/
make
sudo cp php_mapscript.so /usr/lib/php5/20051025/
#// 加入php_mapscript.so的extensions
sudo nano /etc/php5/apache2/php.ini
sudo /etc/init.d/apache2 restart

已经安装了apache2-mpm-prefork,libapache2-mod-php5包。

ubuntu breezy下的mapserver问题

升级后,发现mapserver有问题,开始还以为是需要重新编译。
没想到是php4下的插件改目录了,一直没有注意。
在make后,拷贝php_mapscript.so文件到/usr/include/php4/20050606目录下

在最新的debian sarge testing版本中也是同样的问题。

编译方法同上个版本,参考:http://blog.mygis.org/98/

MapServer 4.7-cvs在ubuntu 5.04下的安装

首先从CVS下载最新版本。
然后配置:

./configure –with-ogr –with-gdal –with-geos –with-proj –with-postgis –with-php=/usr/include/php4 –with-freetype

然后,编译,遇到一个错误,byacc参数错误。
郁闷。
后发现若安装了bison后就可以解决此错误。

sudo apt-get install bison

看看结果:

./mapserv -v
MapServer version 4.7 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE