GIS
Her er forskelligt GIS relateret info.
GeoMB
GeoJSON formatet var desværre ikke passende til vores formål, da det f.eks. ikke har cirkler. Istedet bruges det hjemmelavede format GeoMB.
En GeoMB struktur definerer et 'layer' med et antal 'features'. En feature kan være enten 'rect', 'polyline', 'shape', 'circle' eller 'point'. 'polyline' og 'shape' kan have undertyper, f.eks. kan 'polyline' have undertypen 'freehand', og 'shape' kan have undertypen 'geofence'.
Et eksempel på GeoMB ses nedenfor:
Layer
Her er hvordan man laver et lag i Javascript:
var features = []; // define a rectangle features.push({ type: 'rect', x0: 12.1, y0: 55.1, x1: 12.2, y1: 55.2, id: 2312, name: 'Target', fill: '#ff0000', stroke: '#ff0000', size: 1 }); var layer = { features: JSON.stringify(features), id: 12312, name: "Gentofte Kommune grænse" };
Den uskønnne brug af JSON.stringify() ser ud til at være nødvendig for at kunne få PHP til at forstår arrayet.
Feature
En feature er et objekt som indeholder attributten 'type' og koordinater. Hvordan koordinaterne angives afhænger af typen.
En feature kan også indeholde attributterne 'id' og 'name'.
For 'rect', 'circle' og 'shape' er attributterne 'fill' (udfyldningsfarve), 'stroke' (stregfarve) og 'size' (stregtykkelse) også gyldige.
For 'polyline' er attributterne 'stroke' og 'size' også gyldige.
For 'point' er attributten 'marker' også gyldig.
Rect
Koordinaterne angives som 'x0', 'y0', 'x1', 'y1'. x er længdegrad, y er breddegrad.
var rect = { type: 'rect, 'x0': 12.1, 'y0': 55.1, 'x1': 12.2, 'y1': 55.2, id: 21, fill: '#0000ff' };
Polyline / Shape
Forskellen på en 'polyline' og en 'shape' er at 'shape' er udfyldt.
Koordinater angives som f.eks.
var coords = [ [ 12.100, 55.100 ], [ 12.101, 55.100 ], [ 12.101, 55.101 ] ]; var polyline = { type: 'polyline', points: coords, stroke: '#00ff00', size: 2 };
Circle
Koordinaterne angives som 'x', 'y', 'r'. x er længdegrad, y er breddegrad.
'r' angiver en radius, målt i breddegrader. Det antages at jordens radius er 40008 km. Cirkler med meget store radii er ikke praktiske.
var c = { type: 'circle', x: 12.1, y: 55.1, r: 0.001, stroke: '#000000', size: 3 };
Point
Koordinater angives om 'x' og 'y'.
var p = { type: 'point', x: 12.1, y: 55.101, marker: 2, name: 'Her bor jeg!' };
Text
ENDNU IKKE DEFINERET