d20f53dbcd16701a3dec2ad824e06d5dda617753
[potlatch2.git] / net / systemeD / halcyon / connection / Node.as
1 package net.systemeD.halcyon.connection {
2
3     public class Node extends Entity {
4         private var _lat:Number;
5         private var _latproj:Number;
6         private var _lon:Number;
7
8         public function Node(id:Number, version:uint, tags:Object, lat:Number, lon:Number) {
9             super(id, version, tags);
10             this.lat = lat;
11             this.lon = lon;
12         }
13
14         public function get lat():Number {
15             return _lat;
16         }
17
18         public function get latp():Number {
19             return _latproj;
20         }
21
22         public function get lon():Number {
23             return _lon;
24         }
25
26         public function set lat(lat:Number):void {
27             this._lat = lat;
28             this._latproj = lat2latp(lat);
29         }
30
31         public function set lon(lon:Number):void {
32             this._lon = lon;
33         }
34
35         public override function toString():String {
36             return "Node("+id+"@"+version+"): "+lat+","+lon+" "+getTagList();
37         }
38
39         public static function lat2latp(lat:Number):Number {
40             return 180/Math.PI * Math.log(Math.tan(Math.PI/4+lat*(Math.PI/180)/2));
41         }
42
43                 public override function getType():String {
44                         return 'node';
45                 }
46     }
47
48 }