MapServer交互操作:添加鹰眼图

鹰眼图的概念

鹰眼图是GIS中一个基本的功能,鹰眼图,顾名思义,在鹰眼图上可以像从空中俯视一样查看地图框中所显示的地图在整个图中的位置。 鹰眼是GIS软件的必备功能之一,主要用来表示数据视图中的地理范围在全图中的位置。

鹰眼一般具有的功能:

  1. 鹰眼视图与数据视图的地理范围保持同步。
  2. 数据视图的当前范围能够在鹰眼视图中用一个矩形框标示出来。若数据视图的显示范围发生变化,鹰眼视图中的矩形框位置也会发生变化。
  3. 在鹰眼中操作视图,数据视图中的地理范围也将同步调整。当鹰眼中用鼠标点击时,数据视图能够移动到被点击的位置。拖动矩形框可以调整数据视图中的地图显示范围;在鹰眼视图上拖动矩形框时,数据视图能够以全图显示矩形框内的内容。

如果添加鹰眼图

这里是对应文件:

01 MAP
02     IMAGETYPE "PNG"
03     EXTENT -180 -90 180 90
04     SIZE 600 300
05     SHAPEPATH "/gdata"
06     IMAGECOLOR 255 255 255
07     FONTSET "../fonts/fonts.list"
08     PROJECTION
09         "init=epsg:4326"
10     END
11     TEMPLATEPATTERN "tmpl-*"
12     SYMBOL
13         NAME "star"
14         TYPE VECTOR
15         FILLED TRUE
16         POINTS
17             0 0.375
18             0.35 0.375
19             0.5 0
20             0.65 0.375
21             1 0.375
22             0.75 0.625
23             0.875 1
24             0.5 0.75
25             0.125 1
26             0.25 0.625
27         END
28     END
29     REFERENCE
30         IMAGE "../images/worldref.png"
31         SIZE 300 150
32         EXTENT -180 -90 180 90
33         STATUS ON
34         MINBOXSIZE 30
35         MAXBOXSIZE 150
36         COLOR 255 255 0
37         OUTLINECOLOR 255 50 50
38         MARKERSIZE 30
39         MARKER "star"
40     END
41     WEB
42         TEMPLATE "to be replaced by map_web_template variable in section2.html"
43         IMAGEPATH "/owg/ms_tmp/"
44         IMAGEURL "/ms_tmp/"
45         METADATA
46             "wms_title" "WMS Demo Server"
47             "wms_onlineresource" "http://192.168.4.211/cgi-bin/mapserv?map=/mstu/htdocs/example2.map&"
48             "wms_srs" "EPSG:3857 EPSG:4326"
49         END
50     END
51     LAYER
52         NAME "land"
53         DATA "land_shallow_topo_8192.tif"
54         STATUS OFF
55         TYPE RASTER
56     END
57     LAYER
58         NAME "topo"
59         TYPE RASTER
60         CONNECTIONTYPE WMS
61         CONNECTION "http://wcs.osgeo.cn:8088/service?"
62         METADATA
63             "wms_srs" "EPSG:4326"
64             "wms_name" "maplet_i887"
65             "wms_server_version" "1.1.1"
66             "wms_format" "image/jpeg"
67         END
68         PROJECTION
69             "init=epsg:4326"
70         END
71     END
72     LAYER
73         NAME "states_poly"
74         DATA "wcountry.shp"
75         STATUS OFF
76         TYPE POLYGON
77         LABELITEM "NAME"
78         CLASS
79             NAME "States"
80             STYLE
81                 COLOR 232 232 232
82             END
83         END
84         PROJECTION
85             "init=epsg:4326"
86         END
87     END
88     LAYER
89         NAME "states_line"
90         DATA "wcountry.shp"
91         STATUS OFF
92         TYPE LINE
93         CLASS
94             NAME "State Boundary"
95             STYLE
96                 COLOR 132 132 32
97             END
98         END
99         PROJECTION
100             "init=epsg:4326"
101         END
102     END
103     LAYER
104         NAME "wriver"
105         DATA "wriver.shp"
106         STATUS OFF
107         TYPE LINE
108         CLASS
109             NAME "World River"
110             STYLE
111                 COLOR 0 0 255
112             END
113         END
114         PROJECTION
115             "init=epsg:4326"
116         END
117     END
118     LAYER
119         NAME "wroads"
120         DATA "wroads.shp"
121         STATUS OFF
122         TYPE LINE
123         CLASS
124             NAME "World Road"
125             STYLE
126                 COLOR 100 200 100
127             END
128         END
129         PROJECTION
130             "init=epsg:4326"
131         END
132     END
133 END

你可以在这里看到HTML Template 代码.

7    FONTSET "../fonts/fonts.list"7    FONTSET "../fonts/fonts.list"
nn8    PROJECTION
9        "init=epsg:4326"
10    END
8    TEMPLATEPATTERN "tmpl-*"11    TEMPLATEPATTERN "tmpl-*"
36        MARKER "star"39        MARKER "star"
n37    ENDn
38    SCALEBAR
39        IMAGECOLOR 255 255 255
40        LABEL
41            COLOR 0 0 0
42            SIZE TINY
43        END
44        STYLE 1
45        SIZE 160 2
46        COLOR 0 0 0
47        UNITS KILOMETERS
48        INTERVALS 2
49        TRANSPARENT FALSE
50        STATUS ON
51    END40    END
94        END83        END
nn84        PROJECTION
85            "init=epsg:4326"
86        END
95    END87    END
105            END97            END
nn98        END
99        PROJECTION
100            "init=epsg:4326"
106        END101        END
118        END113        END
nn114        PROJECTION
115            "init=epsg:4326"
116        END
119    END117    END
130        END128        END
tt129        PROJECTION
130            "init=epsg:4326"
131        END
131    END132    END

MapServer中的鹰眼图

打开 MapServer 鹰眼图2

下面展示的是使用表单进行提交,各种参数通过 input 来传递。效果与上面是一样的: