barton 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. data/.gitignore +18 -0
  2. data/AUTHORS +7 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE +22 -0
  5. data/README.md +125 -0
  6. data/Rakefile +13 -0
  7. data/barton.gemspec +22 -0
  8. data/bin/barton +38 -0
  9. data/config.ru +4 -0
  10. data/data/.DS_Store +0 -0
  11. data/data/README.md +31 -0
  12. data/data/geo/nsw-federal.yaml +21965 -0
  13. data/data/geo/nsw-local.yaml +95263 -0
  14. data/data/geo/nsw-state.yaml +33353 -0
  15. data/data/geo/qld-federal.yaml +15019 -0
  16. data/data/geo/qld-state.yaml +20997 -0
  17. data/data/geo/vic-federal.yaml +8097 -0
  18. data/data/geo/vic-local.yaml +35686 -0
  19. data/data/geo/vic-state.yaml +14445 -0
  20. data/data/nsw-federal.yaml +337 -0
  21. data/data/nsw-local.yaml +2472 -0
  22. data/data/nsw-state.yaml +663 -0
  23. data/data/qld-federal.yaml +220 -0
  24. data/data/qld-state.yaml +643 -0
  25. data/data/vic-federal.yaml +149 -0
  26. data/data/vic-local.yaml +2255 -0
  27. data/data/vic-state.yaml +665 -0
  28. data/lib/.DS_Store +0 -0
  29. data/lib/barton/.DS_Store +0 -0
  30. data/lib/barton/app.rb +68 -0
  31. data/lib/barton/core.rb +174 -0
  32. data/lib/barton/version.rb +3 -0
  33. data/lib/barton.rb +3 -0
  34. data/pkg/barton-0.0.1.gem +0 -0
  35. data/specs/.DS_Store +0 -0
  36. data/specs/data/.DS_Store +0 -0
  37. data/specs/data/data-processed.yaml +39 -0
  38. data/specs/data/data-raw.yaml +43 -0
  39. data/specs/data/geo/data-processed.yaml +256 -0
  40. data/specs/data/geo/data-raw.yaml +256 -0
  41. data/specs/data/master/data-processed.yaml +39 -0
  42. data/specs/data/master/data-raw.yaml +31 -0
  43. data/specs/data/master/geo.yaml +256 -0
  44. data/specs/data/master/trap.txt +0 -0
  45. data/specs/route_spec.rb +36 -0
  46. data/specs/search_spec.rb +60 -0
  47. data/specs/setup_spec.rb +77 -0
  48. metadata +139 -0
@@ -0,0 +1,174 @@
1
+ require 'yaml'
2
+ require 'digest/sha1'
3
+ require 'tire'
4
+ require 'rest_client'
5
+ require 'uri'
6
+ require 'json'
7
+
8
+ module Barton
9
+ class Core
10
+
11
+ @api_url = 'http://barton.experiementsindemocracy.org/api'
12
+
13
+ # Parses a electorate yaml file, merges it with a geo yaml file,
14
+ # loads them to the datastore and resaves the yaml files
15
+ def self.parse_yaml( filename )
16
+ data = YAML::load_file( filename ) if File.exist?( filename )
17
+ geofile = "#{File.dirname( filename )}/geo/#{File.basename( filename )}"
18
+ geo = YAML::load_file( geofile ) if File.exist?( geofile )
19
+ if data.respond_to?( 'each' )
20
+ data.each do |e|
21
+ e['id'] = Digest::SHA1.hexdigest( [e['name'], e['tags'].join].join )[0..5] unless e['id'] or not e['name'] or not e['tags']
22
+ # make geobox and update geo.yaml if boundaries present
23
+ if e.has_key?( 'boundaries')
24
+ e['geobox'] = self.create_geobox( e['boundaries'] )
25
+ # else merge geo if no boundaries are present
26
+ elsif geo and geo.has_key?( e['id'] ) and geo[e['id']].has_key?( 'boundaries' )
27
+ e['boundaries'] = geo[e['id']]['boundaries']
28
+ e['geobox'] = geo[e['id']]['geobox']
29
+ end
30
+ end
31
+ # save parsed yaml
32
+ data_yaml = Array.new
33
+ geo_yaml = Hash.new
34
+ data.each do |e|
35
+ # remove geo from data
36
+ geo_yaml[e['id']] = Hash['boundaries' => e['boundaries'], 'geobox' => e['geobox']] if e.has_key?( 'boundaries' )
37
+ data_yaml.push( e.select { |k,v| not ['boundaries', 'geobox'].include? k } )
38
+ end
39
+ File.open( filename, 'w+' ) { |f| f.puts( YAML.dump( data_yaml ) ) }
40
+ File.open( geofile, 'w+' ) { |f| f.puts( YAML.dump( geo_yaml ) ) }
41
+ data
42
+ else
43
+ nil
44
+ end
45
+ end
46
+
47
+ # Creates a minimum bounded box encapsulating the boundary polygons
48
+ def self.create_geobox( boundaries )
49
+ return nil unless boundaries.instance_of? Array
50
+ box = Hash.new
51
+ boundaries.each do |b|
52
+ b.split( ' ' ).each do |c|
53
+ coords = c.split( ',' )
54
+ box['north'] = coords[1].to_f if box['north'].nil? or coords[1].to_f > box['north']
55
+ box['south'] = coords[1].to_f if box['south'].nil? or coords[1].to_f < box['south']
56
+ box['east'] = coords[0].to_f if box['east'].nil? or coords[0].to_f > box['east']
57
+ box['west'] = coords[0].to_f if box['west'].nil? or coords[0].to_f < box['west']
58
+ end
59
+ end
60
+ box
61
+ end
62
+
63
+ # Purge electorate data from elasticsearch
64
+ def self.purge_es
65
+ self.query_es( 'purge' )
66
+ end
67
+
68
+ # Load electorate data to elasticsearch
69
+ def self.update_es( electorates )
70
+ self.query_es( 'update', electorates )
71
+ end
72
+
73
+ # Query elasticsearch
74
+ def self.query_es( action, data=nil )
75
+ begin
76
+ Tire.index "#{ENV['RAKE_ENV']}electorates" do
77
+ delete if action == 'purge'
78
+ create if action == 'purge'
79
+ import data if action == 'update' and not data.nil?
80
+ end
81
+ rescue => e
82
+ puts e
83
+ nil
84
+ end
85
+ end
86
+
87
+ # Returns an array of electorates
88
+ # :id
89
+ # :tags
90
+ # :geo
91
+ # :address
92
+ def self.electorates( query={} )
93
+ results = Array.new
94
+ terms = ["id:#{query[:id]}"] if query.has_key?( :id )
95
+ terms = query[:tags] if query.has_key?( :tags )
96
+ geo = query[:geo] if query.has_key?( :geo )
97
+ geo = self.address( query[:address] ) if query.has_key?( :address ) and not query.has_key?( :geo )
98
+ s = Tire.search "#{ENV['RAKE_ENV']}electorates" do
99
+ query do
100
+ boolean do
101
+ if geo
102
+ long, lat = geo.split( ',' )
103
+ must { range :north, { :gte => lat } }
104
+ must { range :south, { :lte => lat } }
105
+ must { range :east, { :gte => long } }
106
+ must { range :west, { :lte => long } }
107
+ elsif terms
108
+ terms.each { |t| must { string t } }
109
+ end
110
+ end
111
+ end
112
+ # apply filters only with geo search
113
+ if geo and terms
114
+ filter :terms, :_all => terms
115
+ end
116
+ size 100
117
+ end
118
+ s.results.each do |e|
119
+ e = e.to_hash
120
+ e.keys.each { |k| e.delete( k ) if k.match( /_|geobox|boundaries|highlight|sort/ ) }
121
+ e[:url] = "#{@api_url}/electorates/#{e[:id]}"
122
+ results.push( e )
123
+ end
124
+ results
125
+ end
126
+
127
+ # Geocode lookup to google
128
+ def self.address( address )
129
+ # http://maps.googleapis.com/maps/api/geocode/json?address=address&sensor=false&region=au
130
+ begin
131
+ google = RestClient.get "http://maps.googleapis.com/maps/api/geocode/json?address=#{URI.escape( address )}&sensor=false&region=au"
132
+ json = JSON.parse( google )
133
+ if json['status'] == 'OK'
134
+ puts google
135
+ return "#{json['results'][0]['geometry']['location']['lng']},#{json['results'][0]['geometry']['location']['lat']}"
136
+ else
137
+ return nil
138
+ end
139
+ rescue => e
140
+ puts e
141
+ end
142
+ end
143
+
144
+ # Ray casting algorithm to find if point is in polygon
145
+ def self.point_in_poly?( geo, boundaries )
146
+ # get pairs of points of boundaries
147
+ long, lat = geo.split( ',' )
148
+ long, lat = long.to_f, lat.to_f
149
+ boundaries.each do |b|
150
+ coords = b.split( ' ' )
151
+ length = coords.length
152
+ first, second = coords.shift, coords.shift
153
+ cuts = 0
154
+ while length > 1
155
+ cuts += self.crosses?( first, second, lat, long )
156
+ first = second
157
+ second = coords.shift
158
+ length -= 1
159
+ end
160
+ return cuts.odd? ? true : false
161
+ end
162
+ end
163
+
164
+ # this fails edge cases where lat,long < ax,by & > bx,ay
165
+ # ie when it crosses just in front or behind diagonally
166
+ def self.crosses?( a, b, lat, long )
167
+ ay, ax = a.split( ',' )
168
+ by, bx = b.split( ',' )
169
+ ax, ay, bx, by = ax.to_f, ay.to_f, bx.to_f, by.to_f
170
+ return 0 if ay < long and by < long
171
+ return ( ( ax < lat and lat < bx ) or ( bx < lat and lat < ax ) ) ? 1 : 0
172
+ end
173
+ end
174
+ end
@@ -0,0 +1,3 @@
1
+ module Barton
2
+ VERSION = "0.0.1"
3
+ end
data/lib/barton.rb ADDED
@@ -0,0 +1,3 @@
1
+ require "barton/app"
2
+
3
+ Barton::App.run!
Binary file
data/specs/.DS_Store ADDED
Binary file
Binary file
@@ -0,0 +1,39 @@
1
+ ---
2
+ - name: Ashgrove
3
+ tags:
4
+ - Queensland
5
+ - State
6
+ - Legislative Assembly
7
+ - Brisbane North
8
+ members:
9
+ - name: bob smith
10
+ - tags:
11
+ - transport
12
+ - roads
13
+ id: e07a89
14
+ - name: Aspley
15
+ tags:
16
+ - Queensland
17
+ - State
18
+ - Legislative Assembly
19
+ - Brisbane North
20
+ id: f6586f
21
+ - name: Brisbane Central
22
+ tags:
23
+ - Queensland
24
+ - State
25
+ - Legislative Assembly
26
+ - Brisbane North
27
+ id: 69dc24
28
+ members:
29
+ - name: Greg Yrok
30
+ tags:
31
+ - stuff
32
+ - water
33
+ - name: Clayfield
34
+ tags:
35
+ - Queensland
36
+ - State
37
+ - Legislative Assembly
38
+ - Brisbane North
39
+ id: '801187'
@@ -0,0 +1,43 @@
1
+ ---
2
+ - name: Queensland
3
+ tags:
4
+ - State
5
+ - Queensland
6
+ members:
7
+ - name: Campbell Newman
8
+ roles:
9
+ - Premier
10
+ - Member for X
11
+ id: 83a0a8
12
+ - name: Ashgrove
13
+ tags:
14
+ - Queensland
15
+ - State
16
+ - Legislative Assembly
17
+ - Brisbane North
18
+ members:
19
+ - name: Some dude
20
+ address: some place
21
+ web: www.stuff.com
22
+ id: e07a89
23
+ - name: Aspley
24
+ tags:
25
+ - Queensland
26
+ - State
27
+ - Legislative Assembly
28
+ - Brisbane North
29
+ id: f6586f
30
+ - name: Brisbane Central
31
+ tags:
32
+ - Queensland
33
+ - State
34
+ - Legislative Assembly
35
+ - Brisbane North
36
+ id: 69dc24
37
+ - name: Clayfield
38
+ tags:
39
+ - Queensland
40
+ - State
41
+ - Legislative Assembly
42
+ - Brisbane North
43
+ id: '801187'
@@ -0,0 +1,256 @@
1
+ ---
2
+ e07a89:
3
+ boundaries:
4
+ - 153.0068296754392,-27.43696154039627 153.0062182004481,-27.43565517700658 153.0055129544807,-27.43344757029832
5
+ 153.0051111217854,-27.43259917848863 153.0050963570713,-27.43141004772982 153.0053602989078,-27.43000656231877
6
+ 153.0034313365449,-27.4285927858784 153.0025961023514,-27.42773496831722 153.0005564147037,-27.42448096722211
7
+ 152.9997076803313,-27.42241309620244 152.9995680547386,-27.42087539521013 152.9994646270209,-27.42013645268729
8
+ 153.000072417145,-27.4169928534019 153.0002379418539,-27.41662444396342 153.0006426046373,-27.4161048380352
9
+ 153.0013811331126,-27.41531811697499 153.001117,-27.414711 153.000699,-27.414478
10
+ 153.00068,-27.41445300000001 153.000266,-27.414064 153.000184,-27.414074 152.999866,-27.414278
11
+ 152.999587,-27.414252 152.999138,-27.413849 152.998533,-27.412496 152.998154,-27.41222
12
+ 152.997576,-27.411896 152.99755,-27.411881 152.997063,-27.411585 152.996946,-27.411519
13
+ 152.996384,-27.411315 152.996015,-27.411315 152.995758,-27.411057 152.995504,-27.410966
14
+ 152.995286,-27.411031 152.994901,-27.41116 152.994473,-27.411265 152.994186,-27.411075
15
+ 152.994074,-27.411079 152.993765,-27.41122800000001 152.993289,-27.411578 152.992736,-27.412052
16
+ 152.992442,-27.412531 152.992406,-27.412588 152.992135,-27.412916 152.991716,-27.413263
17
+ 152.991337,-27.413767 152.990964,-27.41434200000001 152.990726,-27.414473 152.990536,-27.414463
18
+ 152.990376,-27.414325 152.989772,-27.413734 152.98954,-27.413172 152.989091,-27.412913
19
+ 152.988823,-27.412557 152.988401,-27.41138 152.987859,-27.410773 152.987545,-27.410582
20
+ 152.9872565744697,-27.41255383124928 152.986515,-27.412457 152.98645,-27.412803
21
+ 152.986067,-27.414891 152.985706,-27.416857 152.985456,-27.418222 152.983962,-27.418003
22
+ 152.983786,-27.417977 152.983402,-27.417921 152.982764,-27.41769 152.981748,-27.417184
23
+ 152.980231,-27.416432 152.979301,-27.416006 152.97671,-27.414627 152.975843,-27.414238
24
+ 152.975357,-27.413964 152.974067,-27.413324 152.972773,-27.412689 152.972547,-27.412588
25
+ 152.971634,-27.412107 152.97079,-27.411706 152.969823,-27.411203 152.969644,-27.41111
26
+ 152.968838,-27.41066 152.967798,-27.410149 152.966813,-27.409812 152.96666,-27.409911
27
+ 152.965714,-27.410499 152.964873,-27.411144 152.964183,-27.411425 152.963732,-27.41156300000002
28
+ 152.962726,-27.411946 152.9619985331991,-27.41237119035507 152.9614205146763,-27.41287466517536
29
+ 152.9600781413066,-27.41427884372851 152.9596314823972,-27.41444423007416 152.9589242246845,-27.41460970040138
30
+ 152.957318,-27.422258 152.952613,-27.421605 152.952511,-27.421575 152.952537,-27.423051
31
+ 152.953681,-27.42457900000001 152.954049,-27.425435 152.954557,-27.425683 152.955559,-27.426044
32
+ 152.9567,-27.42741 152.95831,-27.428297 152.958426,-27.428361 152.958133,-27.428309
33
+ 152.956031,-27.429184 152.953586,-27.430201 152.952051,-27.43084 152.949056,-27.43023000000001
34
+ 152.9488025296305,-27.43018437878719 152.9483,-27.4283 152.9466,-27.428 152.9453,-27.4273
35
+ 152.9433,-27.4274 152.943,-27.4276 152.9428,-27.4281 152.9422,-27.4277 152.9325,-27.4258
36
+ 152.9304,-27.4268 152.9291,-27.4266 152.9276,-27.425 152.925,-27.42470000000001
37
+ 152.9239,-27.4312 152.9232,-27.4319 152.9235,-27.4343 152.9226,-27.4345 152.9214,-27.4342
38
+ 152.9188,-27.4342 152.9173,-27.4334 152.9158,-27.4337 152.9142,-27.4335 152.9129,-27.4326
39
+ 152.9115,-27.4326 152.9105,-27.4333 152.9088,-27.4333 152.9062,-27.4325 152.9052,-27.4318
40
+ 152.9044,-27.4319 152.9053,-27.4265 152.9037,-27.42630000000001 152.904,-27.4254
41
+ 152.9047,-27.4245 152.9049,-27.4239 152.9044,-27.4229 152.905,-27.4216 152.9018,-27.4212
42
+ 152.9022,-27.4185 152.8992,-27.4181 152.8996,-27.4154 152.8976,-27.4151 152.8972,-27.4173
43
+ 152.8727,-27.4138 152.8721,-27.4131 152.8648,-27.4179 152.8631,-27.4177 152.8624,-27.4212
44
+ 152.8625,-27.42180000000002 152.8611,-27.4221 152.8584,-27.4209 152.8556,-27.4209
45
+ 152.8531,-27.4205 152.8516,-27.4216 152.8494,-27.42170000000001 152.8473,-27.4195
46
+ 152.8453,-27.4191 152.8443,-27.4179 152.8427,-27.4175 152.8378,-27.4185 152.8364,-27.41860000000001
47
+ 152.8312,-27.4168 152.8294,-27.4151 152.828,-27.4144 152.826,-27.4118 152.821,-27.4101
48
+ 152.8182,-27.4072 152.8174,-27.4071 152.8165,-27.4061 152.8152,-27.4041 152.8148,-27.4021
49
+ 152.8125,-27.4013 152.812,-27.4016 152.8088,-27.401 152.8087,-27.4007 152.8076,-27.401
50
+ 152.8062,-27.4009 152.8042,-27.3999 152.803,-27.3998 152.8021,-27.3987 152.8014,-27.3984
51
+ 152.8006,-27.3994 152.7997,-27.3995 152.7992,-27.4011 152.7987,-27.4015 152.7993,-27.4016
52
+ 152.7987,-27.4051 152.798652764664,-27.40520002492694 152.799629888044,-27.40535194070279
53
+ 152.7995619003265,-27.40581442334322 152.8007806813098,-27.40732128576283 152.8000130203041,-27.40841325362887
54
+ 152.7995054171357,-27.40860330211971 152.7993764383861,-27.4094675995744 152.7997257117075,-27.40984883933115
55
+ 152.8000020070857,-27.41043406504444 152.8016508143096,-27.41095246385641 152.8022077219359,-27.41175347428867
56
+ 152.802672306969,-27.41276292773835 152.8031411769698,-27.41308427333362 152.8038584016281,-27.41472794361081
57
+ 152.8055364880773,-27.41669216148194 152.8060557278225,-27.41674199383346 152.8083334275578,-27.41469325477526
58
+ 152.8087858706367,-27.41492589905869 152.8092609172203,-27.4159178576716 152.8099500586532,-27.41645819264785
59
+ 152.8105875001278,-27.41722812392476 152.8112632254592,-27.41737566366433 152.812048070384,-27.41733393389153
60
+ 152.8124926311122,-27.41866398604895 152.8134850456183,-27.41962930334253 152.8150628015678,-27.42002454322918
61
+ 152.8152167567834,-27.42013026505915 152.8156242734413,-27.42009803928344 152.8162069143592,-27.41958296594725
62
+ 152.8165646828267,-27.41955020060664 152.817089900964,-27.41959074880812 152.81804637017,-27.42041014939694
63
+ 152.8187152195232,-27.42082863558937 152.8197821431089,-27.42122480382497 152.8210581123564,-27.42258465742216
64
+ 152.8218667197118,-27.42229186896077 152.8220579005144,-27.42239578804096 152.822606919614,-27.42294217933456
65
+ 152.8230970073991,-27.42360522834262 152.8239564839647,-27.42390584623005 152.8240904460275,-27.42402857076867
66
+ 152.8240372175926,-27.42473674736098 152.8239272287179,-27.42500786404741 152.8239139529661,-27.42590770127884
67
+ 152.8241362742346,-27.42626757518016 152.8248751005129,-27.42673173678898 152.8250148139589,-27.42694177680053
68
+ 152.8250236270453,-27.42752645392601 152.8252227900537,-27.42817760719403 152.8258136407488,-27.42923225382863
69
+ 152.8276162446026,-27.43061317969635 152.8278000374736,-27.43089939508258 152.8279276452851,-27.43193295470372
70
+ 152.8284723571387,-27.43257949537456 152.8278628060313,-27.43346960467795 152.8270389793252,-27.43396238909471
71
+ 152.8265066864501,-27.43498081157146 152.8268006419918,-27.43644689632388 152.8257733734803,-27.43869389602025
72
+ 152.82661343294,-27.4396100366373 152.8265704598875,-27.44069645000909 152.826806237312,-27.44164027652422
73
+ 152.8264554284342,-27.44250190683412 152.8309174445801,-27.44243599249728 152.8342446464777,-27.44278869017602
74
+ 152.8389868741764,-27.44576562654201 152.8425969129517,-27.44651530983251 152.8477691311028,-27.44659989062237
75
+ 152.849592352952,-27.4469658851783 152.8509867425289,-27.4468116022525 152.8527160927988,-27.44598217070839
76
+ 152.8548867246839,-27.44608727301367 152.8566440813072,-27.44560946134507 152.8579720999292,-27.44633782940138
77
+ 152.8596663735761,-27.44652775155395 152.8608144242638,-27.44615787307279 152.8636228401979,-27.44301483741806
78
+ 152.8654146842546,-27.44373663533762 152.8671066684076,-27.44525080592968 152.8696488875516,-27.44621160551551
79
+ 152.8716309326698,-27.44762859768057 152.8740672470425,-27.44735283619642 152.8802424441661,-27.45494156288159
80
+ 152.8852376927694,-27.45165655029731 152.8892766695038,-27.45646675654779 152.8895518692535,-27.45625839508792
81
+ 152.8915734186027,-27.45872588341309 152.8920714799485,-27.45842983039021 152.8924506245028,-27.45785943248418
82
+ 152.8964214132621,-27.456895213846 152.8980673332974,-27.45820237149108 152.9024134829952,-27.45978320478463
83
+ 152.9037050322373,-27.45951225004208 152.9068127114662,-27.45730304516268 152.9090033457165,-27.45624425723156
84
+ 152.9114555194408,-27.45652041743488 152.9127131488104,-27.45641600410778 152.9139654748695,-27.45644242791373
85
+ 152.9147562499314,-27.45736234672225 152.9158539422289,-27.45739919653024 152.9173075267353,-27.4570666113448
86
+ 152.9186301969232,-27.45786578597806 152.9194310188937,-27.45861990161008 152.9200687124458,-27.45990194468569
87
+ 152.9202107270614,-27.45993959839147 152.9201893906059,-27.46143888770366 152.9196964141803,-27.46282997565059
88
+ 152.9205266624495,-27.46313281782403 152.9211717551101,-27.46385076812012 152.9234186364556,-27.4637266451885
89
+ 152.924693161936,-27.46485302078589 152.926406120488,-27.46506421194812 152.9277417994476,-27.46492325871211
90
+ 152.9281301388552,-27.46529317924679 152.9287588005009,-27.4653986557154 152.9293507518904,-27.46550175086193
91
+ 152.930232330497,-27.46424463781197 152.9304231199455,-27.46365384971102 152.9317705645213,-27.46375479601874
92
+ 152.9324924582613,-27.4635647298974 152.9330686747703,-27.46464639138419 152.934585765234,-27.46558447601242
93
+ 152.9348252395965,-27.46551338853131 152.9352346145955,-27.46325925415395 152.9357776665484,-27.46255972205865
94
+ 152.9377761223839,-27.46280120251331 152.9440806575983,-27.46374014928006 152.9449443363521,-27.45899985814678
95
+ 152.9578076065504,-27.46076423033213 152.9583000219562,-27.45799999587813 152.9589999852774,-27.45459994138427
96
+ 152.962381710663,-27.45500082647872 152.9629999920575,-27.45129999726046 152.9650000093636,-27.45159999353901
97
+ 152.9653090743719,-27.44990017418864 152.9669822525794,-27.44989410557328 152.9677612986875,-27.45060589198971
98
+ 152.9671447636814,-27.45154067296991 152.9658721073074,-27.45209856620908 152.9657945492645,-27.45229391264167
99
+ 152.9662522774694,-27.45275698441521 152.9673779371095,-27.45289290016937 152.9674083022551,-27.45320982864797
100
+ 152.9676993449072,-27.45327480121724 152.9677692665279,-27.45288179864467 152.9692806084383,-27.45309925767617
101
+ 152.9692623562309,-27.45339861733627 152.9704343556772,-27.4535566630167 152.9705024239027,-27.45332259070619
102
+ 152.9717439792416,-27.45351211734405 152.9723416486536,-27.4526014453287 152.9735068257981,-27.45301618089912
103
+ 152.974385003061,-27.45295698294721 152.9750056760188,-27.45331080337325 152.9758662966793,-27.45462968957798
104
+ 152.9773354823289,-27.45498943690687 152.9779748011064,-27.45484503842479 152.9783242350708,-27.45458586652278
105
+ 152.9778335663482,-27.45389533634693 152.978257495468,-27.45318358576344 152.9784862655671,-27.45240330907407
106
+ 152.978967,-27.451592 152.979196,-27.451758 152.979343,-27.45191300000001 152.979699,-27.452284
107
+ 152.980921,-27.453323 152.981578,-27.454173 152.98167,-27.45433 152.982495,-27.455778
108
+ 152.983117,-27.456032 152.984476,-27.456417 152.985767,-27.457015 152.9884999786892,-27.45437883674868
109
+ 152.9882752069327,-27.45333905400984 152.9892589108621,-27.44904428922023 152.9898720144651,-27.44935340019254
110
+ 152.9909388001116,-27.44893336662114 152.9920919997236,-27.4492166108634 152.9936590781372,-27.44884379764874
111
+ 152.9951436299709,-27.44868425699783 152.9948825408951,-27.44780678243568 152.9944593332784,-27.44756707318917
112
+ 152.99539242508,-27.4469802787713 152.9956317080787,-27.44620196122167 152.9963747914543,-27.44600790209203
113
+ 152.9970182459066,-27.44653173959854 152.9975383187334,-27.44673050486059 152.9980196417814,-27.44711123067646
114
+ 152.9978038890582,-27.44788866843211 152.9973609366049,-27.44864758042616 152.997619107749,-27.44895611696033
115
+ 152.9985024332259,-27.44881906680146 152.9987659413971,-27.4483761600557 152.9992657457425,-27.4484142715441
116
+ 152.9992835108361,-27.44893173283537 153.0002880737435,-27.44901509295941 153.0008538891726,-27.44805342734437
117
+ 153.0004392996405,-27.44711084422466 153.0003082845174,-27.44630956340576 153.0008083746387,-27.44588341277659
118
+ 153.0013136399448,-27.44565385485453 153.0019729302158,-27.44499889121277 153.0016328199843,-27.44480768613072
119
+ 153.001327349232,-27.4443276304552 153.0014226878713,-27.44363992064423 153.0017886555186,-27.44362762090262
120
+ 153.0021681937215,-27.44346826451389 153.0024904680785,-27.44314411858885 153.0027884933192,-27.44245459962717
121
+ 153.0027354990758,-27.44200567720838 153.0025456401126,-27.44178979649606 153.0022957573782,-27.4413959845179
122
+ 153.001999122394,-27.44133489513702 153.0011787654193,-27.44006807821909 153.0012541195053,-27.43989076019304
123
+ 153.0019288547097,-27.43936170101258 153.0023102913831,-27.43920298583237 153.0026290654083,-27.43920966454203
124
+ 153.0030465355376,-27.43937678976348 153.0034752418972,-27.43965024177337 153.0040063405542,-27.4397487910026
125
+ 153.0053187252689,-27.43971197861989 153.0059302312682,-27.43952276405063 153.0062875521537,-27.43918536563777
126
+ 153.0064601924022,-27.43817301903762 153.0071901109249,27.43830745233188 -153.0068296754392,-27.43696154039627,0
127
+ geobox:
128
+ north: 27.3984
129
+ south: -27.46558447601242
130
+ east: 153.0071901109249
131
+ west: -152.798652764664
132
+ f6586f:
133
+ boundaries:
134
+ - 153.0148,-27.2877 153.0144,-27.28900000000001 153.0141,-27.2922 153.0131,-27.29510000000001
135
+ 153.0128,-27.2972 153.0116,-27.2976 153.011,-27.2972 153.0104,-27.2973 153.0094,-27.298
136
+ 153.009,-27.2989 153.0098,-27.3 153.0103,-27.3003 153.0133,-27.3011 153.0139,-27.3019
137
+ 153.0136,-27.3023 153.0102,-27.302 153.008,-27.3025 153.008,-27.3019 153.0073,-27.3015
138
+ 153.0067,-27.30130000000001 153.0055,-27.3018 153.0051,-27.3015 153.0048,-27.3007
139
+ 153.0059,-27.3003 153.0061,-27.2999 153.0056,-27.2993 153.0044,-27.2992 153.0039,-27.2992
140
+ 153.0035,-27.29970000000001 153.0032,-27.30130000000001 153.0024,-27.302 153.0015,-27.3023
141
+ 152.999,-27.3018 152.998,-27.3019 152.9971,-27.3023 152.9969,-27.3033 152.9972,-27.3041
142
+ 152.9972,-27.30580000000001 152.9967,-27.3078 152.9955,-27.3087 152.9956,-27.30890000000001
143
+ 152.9962,-27.30890000000001 152.9965,-27.3093 152.996,-27.3099 152.9959,-27.3107
144
+ 152.9978,-27.3112 152.9983,-27.3118 152.9984,-27.3121 152.9979,-27.3125 152.9983,-27.3129
145
+ 152.9993,-27.3126 152.9997,-27.31200000000001 152.9997,-27.3115 152.9991,-27.3099
146
+ 152.9985,-27.3095 152.9983,-27.309 152.9985,-27.3078 152.9991,-27.3076 152.9994,-27.309
147
+ 153.0005,-27.3102 153.0007,-27.3109 153.0005,-27.3127 153.0012,-27.3137 153.0015,-27.3152
148
+ 153.0022,-27.3158 153.0025,-27.3167 153.0029,-27.3178 153.0031,-27.3194 153.0028,-27.31960000000001
149
+ 153.0018,-27.3198 153.0015,-27.3203 153.001,-27.3203 153.0005,-27.3209 153.0003,-27.3213
150
+ 153.0005,-27.322 152.9998,-27.3235 152.9991,-27.3238 152.9979,-27.3238 152.997,-27.32420000000001
151
+ 152.9975,-27.32560000000001 152.9968,-27.3264 152.9959,-27.3268 152.9951,-27.3277
152
+ 152.9951,-27.3304 152.9942,-27.334 152.9936,-27.3351 152.9912,-27.336 152.9884,-27.3361
153
+ 152.9873,-27.3374 152.986,-27.33780000000001 152.9859,-27.3385 152.9852,-27.3388
154
+ 152.9849,-27.3397 152.9839,-27.3401 152.9832,-27.34 152.983,-27.3404 152.9825,-27.3406
155
+ 152.9828,-27.3411 152.9823,-27.3418 152.9815,-27.342 152.9813,-27.3423 152.9813,-27.343
156
+ 152.9808,-27.3434 152.9805,-27.3441 152.9811,-27.3449 152.9812,-27.3459 152.9795,-27.3463
157
+ 152.9791,-27.3468 152.9793,-27.3478 152.9804,-27.3487 152.9802,-27.349 152.9792,-27.3492
158
+ 152.9791,-27.3497 152.98,-27.3502 152.981,-27.3503 152.9816,-27.3512 152.9822,-27.3514
159
+ 152.9824,-27.35300000000001 152.9829,-27.35300000000001 152.9833,-27.3526 152.9847,-27.3528
160
+ 152.9857,-27.35310000000001 152.9861,-27.3538 152.987,-27.354 152.9875,-27.35470000000001
161
+ 152.9871,-27.3553 152.9878,-27.3555 152.9885,-27.35770000000001 152.9878,-27.3582
162
+ 152.9879,-27.3593 152.9877,-27.3595 152.9817,-27.3586 152.9807,-27.3641 152.9837,-27.3645
163
+ 152.9831,-27.3681 152.9806,-27.3678 152.9801,-27.3702 152.9803,-27.3708 152.9799,-27.3707
164
+ 152.9802,-27.3719 152.9803,-27.3752 152.981,-27.3801 152.9829,-27.38210000000001
165
+ 152.9832,-27.38360000000001 152.9839,-27.3849 152.9848052406098,-27.38624494567978
166
+ 152.9847981426125,-27.38718750209596 152.99879,-27.389226 153.0003277972087,-27.38133642512532
167
+ 153.0041031934372,-27.38183283631371 153.0053726983958,-27.38279636125359 153.0065215099073,-27.38298012714732
168
+ 153.007786,-27.382467 153.0218490599467,-27.38451843892112 153.0227999184683,-27.37950049103706
169
+ 153.0234999538228,-27.37530000732409 153.0237003614899,-27.37490616271741 153.024191,-27.37439
170
+ 153.024555,-27.374277 153.024556,-27.374276 153.024898,-27.374481 153.026276,-27.375442
171
+ 153.027416,-27.376406 153.028323,-27.377579 153.029469,-27.379202 153.031030861157,-27.37885689939309
172
+ 153.0326846229447,-27.3780910543758 153.0352812532173,-27.37447192342412 153.0354197499465,-27.37412595889357
173
+ 153.0368633598745,-27.36684008360935 153.0264508006231,-27.36529614261344 153.0279,-27.3579
174
+ 153.0265,-27.35770000000001 153.0272,-27.3537 153.0281,-27.3533 153.0298,-27.3532
175
+ 153.0308,-27.3538 153.0325,-27.35300000000001 153.0311317762465,-27.35206135327331
176
+ 153.0301225936114,-27.35104755732755 153.0297226002588,-27.35001550894809 153.0281608876154,-27.34542833937457
177
+ 153.0189986014033,-27.33326990052585 153.0172006296593,-27.32975011720755 153.0173825262883,-27.32975820759978
178
+ 153.0172007075046,-27.32929117274638 153.0184569091798,-27.32239031484036 153.0183151923336,-27.32235382577387
179
+ 153.0189179832615,-27.31903557892197 153.0187460805811,-27.31723513475955 153.018119575618,-27.31629450326489
180
+ 153.0180617545236,-27.31385933393851 153.0194074192074,-27.3118041202696 153.0208620203749,-27.31078939454977
181
+ 153.0224609267154,-27.31012912154233 153.0124350353285,-27.30872715292606 153.0130920980145,-27.30679970402369
182
+ 153.0150340438349,-27.30466960988999 153.016375882955,-27.30129431407136 153.0178913362124,-27.29532843276984
183
+ 153.019100784776,-27.29137952013341 153.0155345778941,-27.28691721973524 153.0148,-27.2877,0
184
+ geobox:
185
+ north: -27.28691721973524
186
+ south: -27.389226
187
+ east: 153.0368633598745
188
+ west: 152.9791
189
+ 69dc24:
190
+ boundaries:
191
+ - 153.0123006927877,-27.46936354541213 153.0169587281769,-27.46870066729663 153.0213261637199,-27.47136677757538
192
+ 153.0256273699427,-27.47892442954736 153.0281083544132,-27.48107362252231 153.032009002021,-27.48034933845813
193
+ 153.0334430720462,-27.47643730692347 153.0326674099612,-27.46777414577817 153.0339015393494,-27.46391302664942
194
+ 153.0362076338382,-27.4630149799361 153.0379326017727,-27.46533658979773 153.0399011979032,-27.47327782990426
195
+ 153.0449419756496,-27.47702505169861 153.0528253623067,-27.47368424860819 153.0562927405536,-27.46824623873856
196
+ 153.0530191435483,-27.4604516970175 153.0521750088792,-27.45366093026118 153.0490419379646,-27.44428266794812
197
+ 153.049931837726,-27.44301143636409 153.0472,-27.4418 153.044,-27.441 153.0432,-27.4412
198
+ 153.0426,-27.4418 153.0422,-27.4419 153.0418,-27.4417 153.0417,-27.441 153.0419,-27.4395
199
+ 153.0415,-27.4379 153.0418,-27.4373 153.0433,-27.4358 153.0431,-27.4346 153.0426,-27.4337
200
+ 153.0398,-27.4336 153.0393,-27.4316 153.0395,-27.4303 153.041463390013,-27.42800381540521
201
+ 153.0418849559216,-27.42713842344236 153.0421199264456,-27.42579556246396 153.0376943139785,-27.4251491163371
202
+ 153.0375,-27.4261 153.0333,-27.4255 153.0328307330516,-27.42544044648808 153.0326,-27.4257
203
+ 153.0281947209463,-27.42504922154302 153.027151935863,-27.4305742403869 153.0275080742721,-27.43079679026532
204
+ 153.0274153751559,-27.43103581700485 153.0272318278603,-27.43228025213359 153.0236389099578,-27.43175552109637
205
+ 153.0230182473356,-27.43573350067522 153.0220271422185,-27.4358005375996 153.0194950621828,-27.43622499700872
206
+ 153.0140325196557,-27.43547410004617 153.0139453789864,-27.43565321166517 153.0116922626275,-27.43535358447881
207
+ 153.0068296696409,-27.43696153562527 153.0071901109249,-27.43830745233188 153.0068079986374,-27.4407010868363
208
+ 153.0068284755962,-27.44274957302583 153.0075217328367,-27.44443019880933 153.008287500596,-27.44568992126066
209
+ 153.0091040368949,-27.44628895499207 153.0109832088431,-27.44901298588365 153.0111187574591,-27.44940504919405
210
+ 153.010989962675,-27.45142518108116 153.012052818074,-27.45450500122457 153.0148169933786,-27.4594088595406
211
+ 153.0147306770109,-27.46033253925091 153.0158692920822,-27.46521072944986 153.0105186097937,-27.46705734956963
212
+ 153.0117773089625,-27.46976677983961 153.0123006927877,-27.46936354541213,0
213
+ geobox:
214
+ north: -27.42504922154302
215
+ south: -27.48107362252231
216
+ east: 153.0562927405536
217
+ west: 153.0068079986374
218
+ '801187':
219
+ boundaries:
220
+ - 153.0507821192325,-27.44179706564809 153.0593793485766,-27.44051871452692 153.079537996401,-27.44611196521132
221
+ 153.091119694259,-27.44762828744587 153.1008500760433,-27.44510153104588 153.110011022877,-27.44114768978185
222
+ 153.1208857176633,-27.43054755870647 153.1405234526649,-27.42052694921127 153.1535171090276,-27.3939117271675
223
+ 153.1614213447337,-27.37970171468238 153.16,-27.378 153.157,-27.375 153.156,-27.364
224
+ 153.15,-27.361 153.139,-27.361 153.122,-27.352 153.109,-27.349 153.1079291442578,-27.34936588334066
225
+ 153.1069593460006,-27.34836682068534 153.1066110780346,-27.34836675562522 153.1060194490596,-27.34821896243026
226
+ 153.1058983245949,-27.34801702690034 153.1056112316836,-27.34784204080671 153.1054753710769,-27.34754606725446
227
+ 153.1050360847476,-27.34778828319538 153.1054124558121,-27.3500777186619 153.1050484877788,-27.35290677025846
228
+ 153.1046234190183,-27.35422989318406 153.1028944132159,-27.35697837915757 153.1026667526042,-27.35751639405009
229
+ 153.1004695830087,-27.37113400376461 153.104098104928,-27.3754407799768 153.1039548101237,-27.37558889405846
230
+ 153.1060125990899,-27.37798550889755 153.098103375067,-27.38344658680594 153.0972645225234,-27.38442331088891
231
+ 153.0959131760163,-27.3855933903478 153.0955884089913,-27.38566920254464 153.0952288409863,-27.38690035185751
232
+ 153.0934786672316,-27.3908777609176 153.0923847920287,-27.39227484192028 153.0912561938946,-27.39315622064961
233
+ 153.0896651901349,-27.39387043834372 153.0859575616711,-27.39469979991369 153.0842616732772,-27.39544429936624
234
+ 153.0824864053442,-27.39666702648082 153.0752377570196,-27.40340821825948 153.0745872281754,-27.40450238510184
235
+ 153.0745185191519,-27.40587096789587 153.074750275112,-27.40692084583121 153.074025,-27.407075
236
+ 153.066497,-27.411173 153.059294,-27.41037 153.058357,-27.41014 153.058014,-27.409943
237
+ 153.057509,-27.409675 153.057405,-27.409575 153.061219523231,-27.40462809861038
238
+ 153.061618459034,-27.4035578345028 153.0623054620955,-27.39964204074094 153.0628015238961,-27.39914930475945
239
+ 153.0663341374589,-27.39673299112181 153.0597569224488,-27.38899529913082 153.0594489673815,-27.38887951017604
240
+ 153.0592336626474,-27.39207625161008 153.0523508876886,-27.39106124508678 153.0472977443835,-27.38832011347703
241
+ 153.0427787310519,-27.38766970980366 153.0404178700674,-27.40057474912822 153.0355000040619,-27.40233292216953
242
+ 153.0315044363749,-27.40186790147737 153.0324172837105,-27.40731326860781 153.0322730762835,-27.40832529782038
243
+ 153.0323518725191,-27.4094915705319 153.0334303221358,-27.411154510501 153.033503,-27.412687
244
+ 153.0336440119348,-27.41289900888773 153.0351019659728,-27.41430295838404 153.0359049959823,-27.41495557152074
245
+ 153.0366523251151,-27.41549324775119 153.0364395434262,-27.41720348600894 153.0341294475173,-27.42046052623526
246
+ 153.0334000144136,-27.42480001874161 153.0333,-27.4255 153.0375,-27.4261 153.0376943139785,-27.4251491163371
247
+ 153.0421199264456,-27.42579556246396 153.0418849559216,-27.42713842344236 153.041463390013,-27.42800381540521
248
+ 153.0395,-27.4303 153.0393,-27.4316 153.0398,-27.4336 153.0426,-27.4337 153.0431,-27.4346
249
+ 153.0433,-27.4358 153.0418,-27.4373 153.0415,-27.4379 153.0419,-27.4395 153.0417,-27.441
250
+ 153.0418,-27.4417 153.0422,-27.4419 153.0426,-27.4418 153.0432,-27.4412 153.044,-27.441
251
+ 153.0472,-27.4418 153.0499319046333,-27.44301145270565 153.0507821192325,-27.44179706564809,0
252
+ geobox:
253
+ north: -27.34754606725446
254
+ south: -27.44762828744587
255
+ east: 153.1614213447337
256
+ west: 153.0315044363749