zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0
          [1]把shp數據導入到postgres(postgis)
          [2]road.map文件內容如下

          # Map file generated by QGIS version 0.7.4
          # Edit this file to customize for your interface
          # Not all sections are complete. See comments for details.
          NAME road
          STATUS ON

          # Map image size. Change size as desired
          SIZE 256 256
          #
          # Start of web interface definition. Only the TEMPLATE parameter
          # must be specified to display a map. See Mapserver documentation
          #
          WEB
          ? # HEADER
          ? # TEMPLATE
          ? # FOOTER
          MINSCALE 1
          ? MAXSCALE 8
          # Set IMAGEPATH to the path where mapserver should
          # write its output
          ?IMAGEPATH 'd:\\tmp\\'
          # Set IMAGEURL to the url that points to IMAGEPATH
          ?#IMAGEURL '/map_output/'
          END

          PROJECTION
          ??? "init=epsg:4326"
          END

          # Extent based on full extent of QGIS view
          EXTENT 115.275 39.2204 117.475 40.9462

          UNITS METERS

          IMAGECOLOR 255 255 255
          IMAGETYPE gif
          # Projection definition
          # Projections are not currenlty supported. If desired, add your own
          # projection information based on Mapserver documentation.
          #
          LAYER
          ? NAME road
          ? TYPE LINE
          ? STATUS ON

          ? CONNECTIONTYPE POSTGIS
          ? CONNECTION "host=localhost dbname=mapdb? user=postgres password=postgres port=5432"
          ? DATA "the_geom from beijing_polyline using unique gid using srid=4326"


          ? #DATA? "d:\\wwwroot\\shp\\Rbeijing.shp"

          ? CLASS
          ??? NAME "ROAD"
          ??? # TEMPLATE
          ??? OUTLINECOLOR 112 238 238
          ? END
          END
          END # Map File

          藍色的部分就是連接postgis數據庫的部分,和取數據的部分

          [3]road.html
          <html xmlns="http://www.w3.org/1999/xhtml">
          ? <head>
          ??? <style type="text/css">
          ??????? ##mapdiv {
          ??????????? width: 800px;
          ??????????? height: 475px;
          ??????????? border: 1px solid black;
          ??????? }
          ??? </style>
          ??? <script src="/OpenLayers/OpenLayers.js"></script>

          ??? <script type="text/javascript">
          ??????? //Google has 20 scales
          ??????? //Resolutions always start big to small, descending order
          ??????? //numZoomLevels=20 (corresponds to Googles 20 zoom levels)
          ??????? //map.setCenter(center, 19); (Zoom Level starts at 0 and ends in 19)

          ??????? window.onload = function() {

          ??????????? map = new OpenLayers.Map('mapdiv');

          ??????????? var serverURL = "/cgi-bin/mapserv";

          ??????????? var layer_obj = new OpenLayers.Layer.WMS(
          ??????????????? "road",
          ??????????????? serverURL,
          ??????????????? {??
          ??????????????????? layers: 'road',
          ??? ??? ??? map : 'd:\\wwwroot\\postgis\\road.map',

          ??????????????????? format: 'gif'
          ??????????????? },
          ??????????????? {
          ??????????????????? //reproject: false,
          ??????????????????? 'numZoomLevels': 20,
          ??????????????????? gutter: 15,
          ??????????????????? buffer: 0
          ??????????????? }
          ??????????? );
          ??????????? layer_obj.setIsBaseLayer(true);??
          ??????????? layer_obj.setVisibility(true);??
          ??????????? map.addLayer(layer_obj);

          ??????????? map.addControl(new OpenLayers.Control.PanZoomBar());
          ??????????? map.addControl(new OpenLayers.Control.MousePosition());
          ??????????? map.addControl(new OpenLayers.Control.LayerSwitcher());
          ??????????? map.addControl(new OpenLayers.Control.Scale());
          ??????????? var center = new OpenLayers.LonLat(116.39166, 39.90625);
          ??????????? map.setCenter(center, 8);
          ??????? }
          ?????????
          ??? </script>
          ? </head>
          ? <body>
          ??? <div id="mapdiv"></div>
          ? </body>
          </html>


          訪問http://localhost:8888/postgis/road.html,可以看到地圖結果如下:

          mapserver_postgis.PNG






          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2009-02-20 18:19 zhyiwww 閱讀(2565) 評論(4)  編輯  收藏 所屬分類: gis 、Postgis

          FeedBack:
          # re: Mapserver配置postgis數據源[未登錄]
          2010-03-11 21:26 | 石頭
          為什么訪問端口號是8888呢,我照樣在linux運行,顯示的頁面時空白的。  回復  更多評論
            
          # re: Mapserver配置postgis數據源
          2010-03-18 09:33 | zhyiwww
          端口是自己指定的,可以修改。  回復  更多評論
            
          # re: Mapserver配置postgis數據源
          2010-04-26 20:26 | 騎馬人
          請問可不可以寫篇安裝qgis的文章,我在windows下安裝qgis后,導出mapfile文件時總是出錯。懷疑是安裝的問題。  回復  更多評論
            
          # re: Mapserver配置postgis數據源
          2010-08-04 20:37 | myy
          哥們 能留你的qq嗎 我的顯示不出來啊  回復  更多評論
            
          主站蜘蛛池模板: 吉木乃县| 揭西县| 柳林县| 赤水市| 竹溪县| 龙里县| 榆中县| 弥勒县| 三亚市| 巩留县| 新兴县| 鸡西市| 德惠市| 杂多县| 蚌埠市| 巴里| 察雅县| 天气| 吉安县| 卓资县| 周口市| 英超| 福鼎市| 镇原县| 伊金霍洛旗| 梓潼县| 玛多县| 调兵山市| 郓城县| 甘洛县| 蒲江县| 江川县| 三亚市| 永靖县| 元阳县| 雷州市| 福建省| 仙桃市| 大丰市| 台北县| 平南县|