1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>Using Proj4JS for vector reprojection</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="http://svn.osgeo.org/metacrs/proj4js/trunk/lib/proj4js-compressed.js"></script>
<script type="text/javascript" src="http://spatialreference.org/ref/epsg/31467/proj4js/"></script>
<script type="text/javascript" src="../lib/OpenLayers.js"></script>
<script type="text/javascript" src="./using-proj4js.js"></script>
<style type="text/css">
ul {
width: 300px;
float: left;
}
ul li {
list-style: none;
margin-bottom: .2em;
}
input {
width: 250px;
}
#shortdesc {
margin-bottom: .5em;
}
#map {
width: 256px;
height: 256px;
float: left;
margin-right: .2em;
}
#attribution,
#mouse-position-31467,
#mouse-position-4326 {
float: left;
clear: left;
font-size: .8em;
color: #444;
}
.emph {
font-weight: bold;
}
</style>
</head>
<body onload="init();">
<h1 id="title">Using Proj4JS for vector reprojection</h1>
<div id="tags">
projection, proj, proj4js, reprojection, reproject,
transform, transformation, epsg, srs
</div>
<p id="shortdesc">
This example shows how to reproject vector features within
OpenLayers. The baselayer shows Germany in the projection
EPSG:31467 (GK 3). When one clicks on the buttons, features with
geometries originally in EPSG:4326 will be transformed to the
projection of the map on-the-fly.
</p>
<p>
The features are internally reprojected with the JavaScript library
<a href="http://proj4js.org/">Proj4JS</a>. Please note that usually
you would not inlude Proj4JS the way it is done in this example.
In a production environment you would furthermore have a local copy
of the Proj4JS-projection definition that is hotlinked in this
example (see Graticule example for how to do this).
</p>
<div id="map">
</div>
<ul>
<li>
<input type="button" value="Add Cologne (~ 6.97, 50.95)"
onclick="addVector(6.966667, 50.95, this);"
id="btnCologne">
</li>
<li>
<input type="button" value="Add Berlin (~ 13.40, 52.50)"
onclick="addVector(13.398889, 52.500556, this);"
id="btnBerlin">
</li>
<li>
<input type="button" value="Add Hamburg (~ 10.00, 53.57)"
onclick="addVector(10.001389, 53.565278, this);"
id="btnHamburg">
</li>
<li>
<input type="button" value="Add Munich (~ 11.57, 48.13)"
onclick="addVector(11.566667, 48.133333, this);"
id="btnMunich">
</li>
<li>
<input type="button" value="Add country outline (polygon)"
onclick="addOutline(this);" id="btnGermany">
</li>
<li>
<input type="button" value="...clear vector features"
onclick="clearVectors();">
</li>
<li>
<div id="status">
</div>
</li>
</ul>
<div id="attribution"></div>
<div id="mouse-position-4326"></div>
<div id="mouse-position-31467"></div>
</body>
</html>
|