summaryrefslogtreecommitdiff
path: root/misc/openlayers/examples/intersects.html
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/examples/intersects.html')
-rw-r--r--misc/openlayers/examples/intersects.html193
1 files changed, 0 insertions, 193 deletions
diff --git a/misc/openlayers/examples/intersects.html b/misc/openlayers/examples/intersects.html
deleted file mode 100644
index 31bdee0..0000000
--- a/misc/openlayers/examples/intersects.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<!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>Geometry Intersections</title>
- <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
- <!--[if lte IE 6]>
- <link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css">
- <![endif]-->
- <link rel="stylesheet" href="style.css" type="text/css">
- <style type="text/css">
- html, body {
- margin: 0;
- padding: 1em;
- font: 0.9em Verdana, Arial, sans serif;
- }
- input, select, textarea {
- font: 0.9em Verdana, Arial, sans-serif;
- }
- h2 {
- margin-top: 0.75em;
- font-size: 1.6em;
- }
- #leftcol {
- position: absolute;
- top: 0;
- left: 1em;
- padding: 0;
- width: 455px;
- }
- #map {
- width: 450px;
- height: 225px;
- border: 1px solid #ccc;
- }
- #input {
- width: 450px;
- }
- #text {
- font-size: 0.85em;
- margin: 1em 0 1em 0;
- width: 100%;
- height: 10em;
- }
- #info {
- position: relative;
- padding: 2em 0;
- margin-left: 470px;
- }
- #features {
- font-size: 0.8em;
- width: 100%;
- height: 200px;
- }
- #intersections {
- font-size: 0.8em;
- width: 100%;
- height: 200px;
- }
- p {
- margin: 0;
- padding: 0.75em 0 0.75em 0;
- }
- </style>
- <script src="../lib/Firebug/firebug.js"></script>
- <script src="../lib/OpenLayers.js"></script>
- <script type="text/javascript">
- var map, vectors, geojson;
- function init(){
- map = new OpenLayers.Map('map');
- vectors = new OpenLayers.Layer.Vector(
- "Vector Layer",
- {isBaseLayer: true}
- );
-
- map.addLayers([vectors]);
- map.addControl(new OpenLayers.Control.MousePosition());
-
- var panel = new OpenLayers.Control.EditingToolbar(vectors);
- map.addControl(panel);
-
- geojson = new OpenLayers.Format.GeoJSON();
-
- map.setCenter(new OpenLayers.LonLat(0, 0), 1);
- }
-
- function serialize() {
- var str = geojson.write(vectors.features, true);
- document.getElementById('features').value = str;
- }
-
- function deserialize() {
- var element = document.getElementById('text');
- var features = geojson.read(element.value);
- var bounds;
- if(features) {
- if(features.constructor != Array) {
- features = [features];
- }
- for(var i=0; i<features.length; ++i) {
- if (!bounds) {
- bounds = features[i].geometry.getBounds();
- } else {
- bounds.extend(features[i].geometry.getBounds());
- }
-
- }
- vectors.addFeatures(features);
- map.zoomToExtent(bounds);
- var plural = (features.length > 1) ? 's' : '';
- element.value = features.length + ' feature' + plural + ' added'
- } else {
- element.value = 'Bad input';
- }
- }
-
- function intersect() {
- var features = vectors.features;
- var feat1, feat2, intersects12, intersects21;
- var parts = [];
- // reset attributes
- for(var i=0; i<features.length; ++i) {
- features[i].attributes.intersectsWith = [];
- }
- for(var i=0; i<features.length-1; ++i) {
- feat1 = features[i];
- for(var j=i+1; j<features.length; ++j) {
- feat2 = features[j];
- intersects12 = feat1.geometry.intersects(feat2.geometry);
- if(intersects12) {
- feat1.attributes.intersectsWith.push("f" + j);
- parts.push("f" + i + " intersects f" + j + "\n");
- }
- intersects21 = feat2.geometry.intersects(feat1.geometry);
- if(intersects21) {
- feat2.attributes.intersectsWith.push("f" + i);
- parts.push("f" + j + " intersects f" + i + "\n");
- }
- if(intersects12 != intersects21) {
- parts.push("trouble with " + i + " and " + j + "\n");
- }
- }
- }
- if(parts.length > 0) {
- document.getElementById("intersections").value = parts.join("");
- } else {
- document.getElementById("intersections").value = "no intersections";
- }
- }
-
- // preload images
- (function() {
- var roots = ["draw_point", "draw_line", "draw_polygon", "pan"];
- var onImages = [];
- var offImages = [];
- for(var i=0; i<roots.length; ++i) {
- onImages[i] = new Image();
- onImages[i].src = "../theme/default/img/" + roots[i] + "_on.png";
- offImages[i] = new Image();
- offImages[i].src = "../theme/default/img/" + roots[i] + "_on.png";
- }
- })();
-
- </script>
- </head>
- <body onload="init()">
- <div id="leftcol">
- <h1 id="title">OpenLayers Geometry Intersection Example</h1>
- <div id="tags">
- intersection, geometry
- </div>
- <p id="shortdesc">
- Use of geometry.intersects method for testing geometry intersections.
- </p>
- <div id="map" class="smallmap"></div>
- <div id="input">
- <textarea id="text"></textarea>
- <input type="button" value="add feature" onclick="deserialize();" />
- <span id="selected"></span>
- </div>
- </div>
- <div id="info">
- <p>Features</p>
- <input type="button" value="refresh" onclick="serialize();"><br>
- <textarea id="features"></textarea>
- <p>Intersections</p>
- <input type="button" value="intersect all" onclick="intersect();"><br>
- <textarea id="intersections"></textarea>
- </div>
- </body>
-</html>