kml_contains 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +5 -0
- data/.tool-versions +1 -0
- data/Gemfile +3 -0
- data/LICENSE.txt +19 -0
- data/README.md +44 -0
- data/Rakefile +7 -0
- data/kml_contains.gemspec +21 -0
- data/lib/kml_contains/point.rb +32 -0
- data/lib/kml_contains/polygon.rb +120 -0
- data/lib/kml_contains/region.rb +31 -0
- data/lib/kml_contains/version.rb +3 -0
- data/lib/kml_contains.rb +90 -0
- data/script/benchmark.rb +21 -0
- data/spec/lib/kml_contains/polygon_spec.rb +238 -0
- data/spec/lib/kml_contains/region_spec.rb +50 -0
- data/spec/lib/kml_contains_spec.rb +350 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/45.kml +24 -0
- data/spec/support/colorado-test.kml +37 -0
- data/spec/support/elgin-opengis-ns-test.kml +201 -0
- data/spec/support/multi-polygon-test.kml +100 -0
- data/spec/support/polygon-with-2-holes.kml +72 -0
- data/spec/support/polygon-with-hole-test1.kml +66 -0
- metadata +119 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe KmlContains::Region do
|
|
4
|
+
it 'is a Set' do
|
|
5
|
+
expect(KmlContains::Region.new).to be_a Set
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
it 'stores the polygons provided at initialization' do
|
|
9
|
+
region = KmlContains::Region.new([create_polygon, create_polygon(1), create_polygon(2)])
|
|
10
|
+
expect(region.length).to eq(3)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
describe '#contains_point?' do
|
|
14
|
+
subject { KmlContains::Region.new(@polygons) }
|
|
15
|
+
|
|
16
|
+
it 'raises an argument error if contains_point? takes more than 3 arguments' do
|
|
17
|
+
expect { subject.contains_point? }.to raise_exception ArgumentError
|
|
18
|
+
expect { subject.contains_point?(1, 2, 3) }.to raise_exception ArgumentError
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'returns true if any polygon contains the point' do
|
|
22
|
+
point = KmlContains::Point.new(1, 2)
|
|
23
|
+
@polygons = [create_polygon, create_polygon(30)]
|
|
24
|
+
|
|
25
|
+
expect(subject.contains_point?(point)).to be true
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it 'returns false if no polygons contain the point' do
|
|
29
|
+
point = KmlContains::Point.new(-1, -2)
|
|
30
|
+
@polygons = [create_polygon, create_polygon(30)]
|
|
31
|
+
|
|
32
|
+
expect(subject.contains_point?(point)).to be false
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'transforms (x,y) coordinates passed in into a point' do
|
|
36
|
+
@polygons = [create_polygon, create_polygon(30)]
|
|
37
|
+
|
|
38
|
+
expect(subject.contains_point?(1, 2)).to be true
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def create_polygon(start = 0)
|
|
43
|
+
KmlContains::Polygon.new(
|
|
44
|
+
KmlContains::Point.new(start, start),
|
|
45
|
+
KmlContains::Point.new(start + 10, start),
|
|
46
|
+
KmlContains::Point.new(start + 10, start + 10),
|
|
47
|
+
KmlContains::Point.new(start, start + 10))
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe KmlContains do
|
|
4
|
+
Support_Folder = Bundler.root + 'spec/support'
|
|
5
|
+
|
|
6
|
+
describe '.parse_kml' do
|
|
7
|
+
it 'returns a KmlContains::Region containing a KmlContains::Polygon for each polygon in the KML file' do
|
|
8
|
+
kml_data = File.read(Support_Folder + 'multi-polygon-test.kml')
|
|
9
|
+
region = KmlContains.parse_kml(kml_data)
|
|
10
|
+
expect(region.length).to eq(3)
|
|
11
|
+
region.each { |p| expect(p).to be_a KmlContains::Polygon }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
context 'when there is only one polygon' do
|
|
15
|
+
it 'returns a region containing a single polygon' do
|
|
16
|
+
kml_data = File.read(Support_Folder + 'colorado-test.kml')
|
|
17
|
+
region = KmlContains.parse_kml(kml_data)
|
|
18
|
+
expect(region.length).to eq(1)
|
|
19
|
+
region.each { |p| expect(p).to be_a KmlContains::Polygon }
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
context 'xmlns attributes' do
|
|
24
|
+
it 'should not care about the xmlns of the <kml> tag' do
|
|
25
|
+
kml_data = File.read(Support_Folder + 'elgin-opengis-ns-test.kml')
|
|
26
|
+
region = KmlContains.parse_kml(kml_data)
|
|
27
|
+
expect(region.length).to eq(7)
|
|
28
|
+
region.each { |p| expect(p).to be_a KmlContains::Polygon }
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
describe '.parse_kml_polygon_data' do
|
|
34
|
+
it 'returns a KmlContains::Polygon with the points from the kml data in the correct order' do
|
|
35
|
+
kml = <<-EOM
|
|
36
|
+
<Polygon>
|
|
37
|
+
<outerBoundaryIs>
|
|
38
|
+
<LinearRing>
|
|
39
|
+
<tessellate>1</tessellate>
|
|
40
|
+
<coordinates>
|
|
41
|
+
-10,25,0.000000
|
|
42
|
+
-1,30,0.000000 10,1,0.000000
|
|
43
|
+
0,-5,000000
|
|
44
|
+
-10,25,0.000000
|
|
45
|
+
</coordinates>
|
|
46
|
+
</LinearRing>
|
|
47
|
+
</outerBoundaryIs>
|
|
48
|
+
</Polygon>
|
|
49
|
+
EOM
|
|
50
|
+
polygon = KmlContains.parse_kml_polygon_data(kml)
|
|
51
|
+
expect(polygon).to eq(KmlContains::Polygon.new(KmlContains::Point.new(-10, 25), KmlContains::Point.new(-1, 30), KmlContains::Point.new(10, 1), KmlContains::Point.new(0, -5)))
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
describe '.placemark_name_for_polygon' do
|
|
56
|
+
it 'returns the name of the placemark when Placemark is the parent node' do
|
|
57
|
+
kml_data = File.read(Support_Folder + 'colorado-test.kml')
|
|
58
|
+
doc = Nokogiri::XML(kml_data)
|
|
59
|
+
polygon_node = doc.search('Polygon').first
|
|
60
|
+
|
|
61
|
+
placemark_name = KmlContains.placemark_name_for_polygon(polygon_node)
|
|
62
|
+
expect(placemark_name).to eq('Shape 1')
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it 'returns the name of the placemark when MultiGeometry is the parent node' do
|
|
66
|
+
kml_data = File.read(Support_Folder + 'elgin-opengis-ns-test.kml')
|
|
67
|
+
doc = Nokogiri::XML(kml_data)
|
|
68
|
+
polygon_node = doc.search('Polygon').first
|
|
69
|
+
|
|
70
|
+
placemark_name = KmlContains.placemark_name_for_polygon(polygon_node)
|
|
71
|
+
expect(placemark_name).to eq('Elgin')
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
it 'returns nil when there is no Placemark' do
|
|
75
|
+
kml = <<-EOM
|
|
76
|
+
<MultiGeometry>
|
|
77
|
+
<description><![CDATA[]]></description>
|
|
78
|
+
<styleUrl>#style1</styleUrl>
|
|
79
|
+
<Polygon>
|
|
80
|
+
<outerBoundaryIs>
|
|
81
|
+
<LinearRing>
|
|
82
|
+
<tessellate>1</tessellate>
|
|
83
|
+
<coordinates>
|
|
84
|
+
-109.053040,41.002705,0.000000
|
|
85
|
+
-102.046509,41.006847,0.000000
|
|
86
|
+
-102.041016,36.991585,0.000000
|
|
87
|
+
-109.048920,36.997070,0.000000
|
|
88
|
+
-109.053040,41.002705,0.000000
|
|
89
|
+
</coordinates>
|
|
90
|
+
</LinearRing>
|
|
91
|
+
</outerBoundaryIs>
|
|
92
|
+
</Polygon>
|
|
93
|
+
</MultiGeometry>
|
|
94
|
+
EOM
|
|
95
|
+
|
|
96
|
+
doc = Nokogiri::XML(kml)
|
|
97
|
+
polygon_node = doc.search('Polygon').first
|
|
98
|
+
|
|
99
|
+
placemark_name = KmlContains.placemark_name_for_polygon(polygon_node)
|
|
100
|
+
expect(placemark_name).to be_nil
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
it 'returns a blank string when there is no Placemark name' do
|
|
104
|
+
kml = <<-EOM
|
|
105
|
+
<Placemark>
|
|
106
|
+
<description><![CDATA[]]></description>
|
|
107
|
+
<styleUrl>#style1</styleUrl>
|
|
108
|
+
<Polygon>
|
|
109
|
+
<outerBoundaryIs>
|
|
110
|
+
<LinearRing>
|
|
111
|
+
<tessellate>1</tessellate>
|
|
112
|
+
<coordinates>
|
|
113
|
+
-109.053040,41.002705,0.000000
|
|
114
|
+
-102.046509,41.006847,0.000000
|
|
115
|
+
-102.041016,36.991585,0.000000
|
|
116
|
+
-109.048920,36.997070,0.000000
|
|
117
|
+
-109.053040,41.002705,0.000000
|
|
118
|
+
</coordinates>
|
|
119
|
+
</LinearRing>
|
|
120
|
+
</outerBoundaryIs>
|
|
121
|
+
</Polygon>
|
|
122
|
+
</Placemark>
|
|
123
|
+
EOM
|
|
124
|
+
|
|
125
|
+
doc = Nokogiri::XML(kml)
|
|
126
|
+
polygon_node = doc.search('Polygon').first
|
|
127
|
+
|
|
128
|
+
placemark_name = KmlContains.placemark_name_for_polygon(polygon_node)
|
|
129
|
+
expect(placemark_name).to eq('')
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
describe '.extended_data' do
|
|
134
|
+
it 'returns an empty hash when no ExtendedData is present' do
|
|
135
|
+
kml_data = File.read(Support_Folder + 'colorado-test.kml')
|
|
136
|
+
region = KmlContains.parse_kml(kml_data)
|
|
137
|
+
region.each { |p| expect(p.extended_data).to eq({}) }
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
it 'parses Data elements' do
|
|
141
|
+
kml = <<-EOM
|
|
142
|
+
<kml>
|
|
143
|
+
<Placemark>
|
|
144
|
+
<name>Test</name>
|
|
145
|
+
<ExtendedData>
|
|
146
|
+
<Data name="lga_name"><value>Woollahra</value></Data>
|
|
147
|
+
</ExtendedData>
|
|
148
|
+
<Polygon>
|
|
149
|
+
<outerBoundaryIs>
|
|
150
|
+
<LinearRing>
|
|
151
|
+
<coordinates>
|
|
152
|
+
-109.053040,41.002705,0.000000
|
|
153
|
+
-102.046509,41.006847,0.000000
|
|
154
|
+
-102.041016,36.991585,0.000000
|
|
155
|
+
-109.048920,36.997070,0.000000
|
|
156
|
+
-109.053040,41.002705,0.000000
|
|
157
|
+
</coordinates>
|
|
158
|
+
</LinearRing>
|
|
159
|
+
</outerBoundaryIs>
|
|
160
|
+
</Polygon>
|
|
161
|
+
</Placemark>
|
|
162
|
+
</kml>
|
|
163
|
+
EOM
|
|
164
|
+
|
|
165
|
+
region = KmlContains.parse_kml(kml)
|
|
166
|
+
polygon = region.first
|
|
167
|
+
expect(polygon.extended_data['lga_name']).to eq('Woollahra')
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
it 'parses SchemaData/SimpleData elements' do
|
|
171
|
+
kml = <<-EOM
|
|
172
|
+
<kml>
|
|
173
|
+
<Placemark>
|
|
174
|
+
<name>Test</name>
|
|
175
|
+
<ExtendedData>
|
|
176
|
+
<SchemaData schemaUrl="#schema1">
|
|
177
|
+
<SimpleData name="lga_name">Woollahra</SimpleData>
|
|
178
|
+
</SchemaData>
|
|
179
|
+
</ExtendedData>
|
|
180
|
+
<Polygon>
|
|
181
|
+
<outerBoundaryIs>
|
|
182
|
+
<LinearRing>
|
|
183
|
+
<coordinates>
|
|
184
|
+
-109.053040,41.002705,0.000000
|
|
185
|
+
-102.046509,41.006847,0.000000
|
|
186
|
+
-102.041016,36.991585,0.000000
|
|
187
|
+
-109.048920,36.997070,0.000000
|
|
188
|
+
-109.053040,41.002705,0.000000
|
|
189
|
+
</coordinates>
|
|
190
|
+
</LinearRing>
|
|
191
|
+
</outerBoundaryIs>
|
|
192
|
+
</Polygon>
|
|
193
|
+
</Placemark>
|
|
194
|
+
</kml>
|
|
195
|
+
EOM
|
|
196
|
+
|
|
197
|
+
region = KmlContains.parse_kml(kml)
|
|
198
|
+
polygon = region.first
|
|
199
|
+
expect(polygon.extended_data['lga_name']).to eq('Woollahra')
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
it 'still populates placemark_name when ExtendedData is present' do
|
|
203
|
+
kml = <<-EOM
|
|
204
|
+
<kml>
|
|
205
|
+
<Placemark>
|
|
206
|
+
<name>My Placemark</name>
|
|
207
|
+
<ExtendedData>
|
|
208
|
+
<Data name="key"><value>val</value></Data>
|
|
209
|
+
</ExtendedData>
|
|
210
|
+
<Polygon>
|
|
211
|
+
<outerBoundaryIs>
|
|
212
|
+
<LinearRing>
|
|
213
|
+
<coordinates>
|
|
214
|
+
-109.053040,41.002705,0.000000
|
|
215
|
+
-102.046509,41.006847,0.000000
|
|
216
|
+
-102.041016,36.991585,0.000000
|
|
217
|
+
-109.048920,36.997070,0.000000
|
|
218
|
+
-109.053040,41.002705,0.000000
|
|
219
|
+
</coordinates>
|
|
220
|
+
</LinearRing>
|
|
221
|
+
</outerBoundaryIs>
|
|
222
|
+
</Polygon>
|
|
223
|
+
</Placemark>
|
|
224
|
+
</kml>
|
|
225
|
+
EOM
|
|
226
|
+
|
|
227
|
+
region = KmlContains.parse_kml(kml)
|
|
228
|
+
polygon = region.first
|
|
229
|
+
expect(polygon.placemark_name).to eq('My Placemark')
|
|
230
|
+
expect(polygon.extended_data['key']).to eq('val')
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
it 'captures multiple data fields' do
|
|
234
|
+
kml = <<-EOM
|
|
235
|
+
<kml>
|
|
236
|
+
<Placemark>
|
|
237
|
+
<name>Test</name>
|
|
238
|
+
<ExtendedData>
|
|
239
|
+
<Data name="field1"><value>value1</value></Data>
|
|
240
|
+
<Data name="field2"><value>value2</value></Data>
|
|
241
|
+
<Data name="field3"><value>value3</value></Data>
|
|
242
|
+
</ExtendedData>
|
|
243
|
+
<Polygon>
|
|
244
|
+
<outerBoundaryIs>
|
|
245
|
+
<LinearRing>
|
|
246
|
+
<coordinates>
|
|
247
|
+
-109.053040,41.002705,0.000000
|
|
248
|
+
-102.046509,41.006847,0.000000
|
|
249
|
+
-102.041016,36.991585,0.000000
|
|
250
|
+
-109.048920,36.997070,0.000000
|
|
251
|
+
-109.053040,41.002705,0.000000
|
|
252
|
+
</coordinates>
|
|
253
|
+
</LinearRing>
|
|
254
|
+
</outerBoundaryIs>
|
|
255
|
+
</Polygon>
|
|
256
|
+
</Placemark>
|
|
257
|
+
</kml>
|
|
258
|
+
EOM
|
|
259
|
+
|
|
260
|
+
region = KmlContains.parse_kml(kml)
|
|
261
|
+
polygon = region.first
|
|
262
|
+
expect(polygon.extended_data).to eq({
|
|
263
|
+
'field1' => 'value1',
|
|
264
|
+
'field2' => 'value2',
|
|
265
|
+
'field3' => 'value3'
|
|
266
|
+
})
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
describe KmlContains::Point do
|
|
271
|
+
describe '==' do
|
|
272
|
+
it 'is true if both points contain the same values' do
|
|
273
|
+
expect(KmlContains::Point.new(1, 2)).to eq(KmlContains::Point.new(1, 2))
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
it 'is true if one point contains floats and one contains integers' do
|
|
277
|
+
expect(KmlContains::Point.new(1, 2.0)).to eq(KmlContains::Point.new(1.0, 2))
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
it 'is false if the points contain different values' do
|
|
281
|
+
expect(KmlContains::Point.new(1, 3)).not_to eq(KmlContains::Point.new(1.0, 2))
|
|
282
|
+
end
|
|
283
|
+
end
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
describe "KMLs with with holes" do
|
|
288
|
+
before(:each) do
|
|
289
|
+
@outside = [
|
|
290
|
+
KmlContains::Point.new(-74.0063, 40.72368),
|
|
291
|
+
KmlContains::Point.new(-74.00678, 40.71912),
|
|
292
|
+
KmlContains::Point.new(-74.00686, 40.71571),
|
|
293
|
+
KmlContains::Point.new(-74.00201, 40.71554),
|
|
294
|
+
KmlContains::Point.new(-73.99695, 40.71558),
|
|
295
|
+
]
|
|
296
|
+
|
|
297
|
+
@in_the_polygon = [
|
|
298
|
+
KmlContains::Point.new(-74.00193, 40.72299),
|
|
299
|
+
KmlContains::Point.new(-74.00188, 40.71951),
|
|
300
|
+
KmlContains::Point.new(-73.99669, 40.71942),
|
|
301
|
+
]
|
|
302
|
+
|
|
303
|
+
@in_the_hole = [
|
|
304
|
+
KmlContains::Point.new(-73.99618, 40.72338)
|
|
305
|
+
]
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
it 'correctly identifies points inside and outside polygon which has 1 hole' do
|
|
309
|
+
region = KmlContains.parse_kml(File.read('spec/support/polygon-with-hole-test1.kml'))
|
|
310
|
+
@outside.each do |p|
|
|
311
|
+
expect(region.contains_point?(p)).to be false
|
|
312
|
+
end
|
|
313
|
+
@in_the_polygon.each do |p|
|
|
314
|
+
expect(region.contains_point?(p)).to be true
|
|
315
|
+
end
|
|
316
|
+
@in_the_hole.each do |p|
|
|
317
|
+
expect(region.contains_point?(p)).to be false
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
|
|
321
|
+
it 'correctly identifies points inside and outside polygon which has 2 holes' do
|
|
322
|
+
region = KmlContains.parse_kml(File.read('spec/support/polygon-with-2-holes.kml'))
|
|
323
|
+
@outside.each do |p|
|
|
324
|
+
expect(region.contains_point?(p)).to be false
|
|
325
|
+
end
|
|
326
|
+
@in_the_polygon.each do |p|
|
|
327
|
+
expect(region.contains_point?(p)).to be true
|
|
328
|
+
end
|
|
329
|
+
@in_the_hole.each do |p|
|
|
330
|
+
expect(region.contains_point?(p)).to be false
|
|
331
|
+
end
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
it 'correctly identifies points inside and outside polygon with real-world polygon' do
|
|
335
|
+
region = KmlContains.parse_kml(File.read('spec/support/45.kml'))
|
|
336
|
+
in1 = KmlContains::Point.new(-73.80001, 40.87513)
|
|
337
|
+
in_hole1 = KmlContains::Point.new(-73.79593, 40.87487)
|
|
338
|
+
outside1 = KmlContains::Point.new(-73.77881, 40.87393)
|
|
339
|
+
way_out1 = KmlContains::Point.new(-73.76242, 40.88194)
|
|
340
|
+
in_another_polygon = KmlContains::Point.new(-73.77134, 40.8712)
|
|
341
|
+
expect(region.contains_point?(in1)).to be true
|
|
342
|
+
expect(region.contains_point?(in_hole1)).to be false
|
|
343
|
+
expect(region.contains_point?(outside1)).to be false
|
|
344
|
+
expect(region.contains_point?(way_out1)).to be false
|
|
345
|
+
expect(region.contains_point?(in_another_polygon)).to be true
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
end
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require 'kml_contains'
|
data/spec/support/45.kml
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
+
<kml xmlns="http://www.opengis.net/kml/2.2">
|
|
3
|
+
<Document id="root_doc">
|
|
4
|
+
<Schema name="by_precinct_Precinct__45" id="by_precinct_Precinct__45">
|
|
5
|
+
<SimpleField name="Precinct" type="int"></SimpleField>
|
|
6
|
+
<SimpleField name="PatrolBoro" type="string"></SimpleField>
|
|
7
|
+
<SimpleField name="Shape_Leng" type="float"></SimpleField>
|
|
8
|
+
<SimpleField name="Shape_Area" type="float"></SimpleField>
|
|
9
|
+
<SimpleField name="GridID" type="int"></SimpleField>
|
|
10
|
+
</Schema>
|
|
11
|
+
<Folder><name>by_precinct_Precinct__45</name>
|
|
12
|
+
<Placemark>
|
|
13
|
+
<Style><LineStyle><color>ff0000ff</color></LineStyle><PolyStyle><fill>0</fill></PolyStyle></Style>
|
|
14
|
+
<ExtendedData><SchemaData schemaUrl="#by_precinct_Precinct__45">
|
|
15
|
+
<SimpleData name="Precinct">45</SimpleData>
|
|
16
|
+
<SimpleData name="PatrolBoro">PBBX</SimpleData>
|
|
17
|
+
<SimpleData name="Shape_Leng">1200.00000000000</SimpleData>
|
|
18
|
+
<SimpleData name="Shape_Area">90000.00000000000</SimpleData>
|
|
19
|
+
<SimpleData name="GridID">82759</SimpleData>
|
|
20
|
+
</SchemaData></ExtendedData>
|
|
21
|
+
<MultiGeometry><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.786331201787135,40.836261048018265 -73.786328557274445,40.837084458691692 -73.786325912696299,40.837907869249875 -73.786323268052698,40.838731279692631 -73.786320623343613,40.839554690019668 -73.78740482533027,40.839556693505045 -73.788489027381914,40.839558686798981 -73.788486409446151,40.840382097059155 -73.788483791445586,40.841205507203377 -73.788481173380205,40.842028917231438 -73.789565415755845,40.842030900406719 -73.789562811046039,40.842854310342673 -73.790647066906701,40.842856283350265 -73.790644475553165,40.84367969319392 -73.790641884135468,40.844503102920967 -73.790639292653609,40.845326512531109 -73.79172358884145,40.845328475418803 -73.791721010717168,40.846151884935992 -73.792805320390499,40.846153837655237 -73.79280275562445,40.846977247079224 -73.792800190794907,40.847800656385822 -73.791715854277115,40.847798703618778 -73.791713275961342,40.848622112783943 -73.791710697581735,40.849445521831505 -73.791708119138292,40.850268930761175 -73.791705540631028,40.851092339572808 -73.792789930841707,40.851094292435427 -73.793874321116178,40.851096235104833 -73.793871769393178,40.851919643845974 -73.793869217606996,40.852743052468817 -73.793866665757619,40.853566460973042 -73.792782235209984,40.853564518232311 -73.792779669872374,40.854387926594114 -73.792777104471256,40.855211334837108 -73.792774539006615,40.856034742961015 -73.793859009830413,40.856036685773041 -73.794943480717137,40.856038618391125 -73.796027951666986,40.856040540815265 -73.796030476854455,40.855217132620417 -73.797114934440842,40.85521904482718 -73.79711744614039,40.854395636489876 -73.798201890363615,40.854397538479532 -73.798204388575925,40.853574130000119 -73.797119957777767,40.85357222803372 -73.797122469352956,40.852748819458924 -73.797124980865945,40.851925410765539 -73.797127492316775,40.851102001953841 -73.797130003705405,40.850278593023965 -73.798214380806641,40.850280494897277 -73.798216878709709,40.84945708582611 -73.79930124244953,40.849458977483195 -73.799303726867677,40.848635568270979 -73.799306211224319,40.847812158941181 -73.800390548179678,40.84781404035926 -73.801474885196214,40.847815911584625 -73.801472427685056,40.848639320960345 -73.802556778185348,40.848641182015783 -73.802554334036429,40.849464591296666 -73.802551889827001,40.85028800045967 -73.802549445557062,40.851111409504647 -73.803633836387931,40.85111326043517 -73.803631405481553,40.851936669384614 -73.80471580979669,40.851938510144464 -73.804713392254527,40.852761918998141 -73.804710974652522,40.853585327733221 -73.804708556990647,40.854408736349654 -73.804706139268916,40.85523214484725 -73.804703721487314,40.856055553225779 -73.804701303645842,40.85687896148508 -73.804698885744514,40.857702369625031 -73.804696467783316,40.85852577764549 -73.804694049762247,40.859349185546165 -73.80469163168128,40.860172593326986 -73.804689213540456,40.860996000987804 -73.805773765602467,40.860997831800702 -73.805776170315553,40.860174424117467 -73.805778574969096,40.859351016314228 -73.806863100235347,40.859352836887879 -73.806865491402249,40.858529428942539 -73.806867882509977,40.857706020877394 -73.807952380981547,40.857707831212259 -73.80795000330059,40.858531239299559 -73.809034515258048,40.85853303946223 -73.809032150945285,40.859356447451745 -73.810116676388105,40.859358237441974 -73.810114325444204,40.860181645333569 -73.810111974442094,40.861005053105139 -73.811196526798554,40.861006832944462 -73.811194189166329,40.86183024061755 -73.812278755008549,40.861832010283806 -73.812276430746834,40.862655417858107 -73.813361010074985,40.862657177351068 -73.814445589460618,40.86265892664904 -73.81444788686548,40.861835519031793 -73.814450184213456,40.861012111294144 -73.813365631684334,40.861010362038968 -73.81336794240319,40.86018695420244 -73.812283403359302,40.860185194774076 -73.812285727448355,40.859361786839052 -73.812288051479868,40.858538378784218 -73.812290375453841,40.857714970609578 -73.812292699370246,40.85689156231544 -73.812295023229126,40.856068153901973 -73.812297347030466,40.855244745369284 -73.812299670774266,40.854421336717493 -73.812301994460526,40.853597927946893 -73.81338642609434,40.853599687203037 -73.814470857785622,40.853601436265599 -73.815555289533521,40.853603175134573 -73.816639721337978,40.853604903809931 -73.816641991267645,40.852781494835348 -73.816644261141121,40.85195808574214 -73.816646530958394,40.851134676530634 -73.815562139427229,40.851132947918714 -73.815564422612084,40.850309538610205 -73.815566705740395,40.849486129183667 -73.81448234111302,40.849484390421068 -73.814484637607919,40.848660980897904 -73.814486934045973,40.847837571257173 -73.813402596321069,40.847835822344415 -73.813404906124688,40.847012412607533 -73.812320581879675,40.847010653523576 -73.81123625769213,40.847008884247032 -73.811238594282784,40.846185474435934 -73.811240930815586,40.845362064507732 -73.81124326729055,40.844538654462582 -73.812327551212803,40.844540423674175 -73.8123298742088,40.843717013490469 -73.812332197147327,40.842893603190142 -73.813416454285132,40.842895362166473 -73.814500711480392,40.842897110950851 -73.814503007520514,40.842073700491163 -73.814505303503793,40.841250289915116 -73.814507599430229,40.840426879222925 -73.813423382495301,40.840425130502744 -73.813425691784374,40.839601719715986 -73.813428001016263,40.838778308813474 -73.814512191112627,40.838780057490858 -73.814514486868575,40.837956646451225 -73.815598663602685,40.837958384915964 -73.815600945883361,40.837134973739637 -73.815603228107534,40.836311562448081 -73.814519078209983,40.836309824025882 -73.814521373795444,40.835486412640414 -73.814523669324103,40.834663001139965 -73.815607792386402,40.834664739519617 -73.815610074441111,40.83384132788315 -73.815612356439331,40.8330179161321 -73.814528260210935,40.833016177794995 -73.814530555569135,40.832192765950694 -73.814532850870535,40.831369353992159 -73.813448781531264,40.831367605507367 -73.813451090191634,40.830544193456184 -73.813453398794863,40.829720781291016 -73.812369356344263,40.829719022659035 -73.812371678305496,40.828895610401574 -73.811287649327454,40.828893841601264 -73.81020362040698,40.828892062611096 -73.809119591544928,40.828890273431071 -73.809121953693051,40.8280668611254 -73.809124315782711,40.827243448706305 -73.810208317815537,40.827245237842519 -73.811292319906727,40.827247016789151 -73.812376322055528,40.827248785546168 -73.812378643844355,40.826425372948435 -73.812380965575699,40.825601960237677 -73.811296990254846,40.825600191523947 -73.810213014991561,40.825598412620856 -73.810210666432596,40.8264218252882 -73.809126677813921,40.826420036173865 -73.808042689253426,40.826418236870055 -73.806958700751991,40.826416427376778 -73.806961089552317,40.825593014775478 -73.805877114523739,40.825591195114988 -73.805879516678417,40.824767782423066 -73.805881918773622,40.823944369618424 -73.805884320809383,40.823120956701054 -73.805886722785715,40.822297543671425 -73.804802801468242,40.822295713911153 -73.804805216797263,40.821472300791619 -73.805889124702588,40.821474130529502 -73.805891526560032,40.820650717275477 -73.804807632066485,40.82064888755999 -73.80481004727595,40.819825474216493 -73.803726166253782,40.819823634334938 -73.803728594814615,40.819000220902275 -73.802644727263683,40.818998370854864 -73.801560859773033,40.818996510619115 -73.800476992343292,40.818994640195001 -73.800479461076392,40.818171226719009 -73.799395607118541,40.818169346129579 -73.799398089200992,40.817345932565225 -73.79831424871486,40.817344041810699 -73.797230408290631,40.817342140868085 -73.797232917131907,40.816518727238986 -73.797235425911111,40.815695313498779 -73.797237934628228,40.814871899647642 -73.798321734823105,40.814873800520466 -73.79940553507987,40.814875691205579 -73.799408016916672,40.814052277197383 -73.799410498692055,40.813228863078692 -73.800494272192154,40.813230743530042 -73.80049674049765,40.812407329277882 -73.800499208742096,40.811583914915552 -73.801582955486666,40.811585785133644 -73.801580500650374,40.812409199518875 -73.802664260863992,40.812411059572504 -73.802666702292157,40.811587645164529 -73.802669143659898,40.810764230646583 -73.80158541026222,40.810762370638464 -73.80050167692545,40.810760500443259 -73.800504145047739,40.80993708586103 -73.799420425179491,40.809935205501745 -73.798336705372506,40.809933314955458 -73.797252985627409,40.809931414222213 -73.797255493910029,40.809107999599689 -73.796171787634179,40.809106088702855 -73.795088081420445,40.809104167619175 -73.795090616454601,40.808280752934088 -73.794006923710654,40.808278821687196 -73.792923231029505,40.80827688025358 -73.792925792813861,40.807453465506526 -73.791842113602812,40.80745151391006 -73.791839538411992,40.808274928633253 -73.790755845858172,40.808272966826181 -73.790758434455427,40.807449552127032 -73.789674755371934,40.80744758015738 -73.789677357311277,40.806624165373108 -73.789679959186245,40.805800750479861 -73.789682560996837,40.804977335477837 -73.789685162743083,40.804153920367135 -73.790768788204076,40.804155892240225 -73.790771376481132,40.803332476996765 -73.791854988601216,40.803334438659761 -73.79293860078495,40.803336390136771 -73.792936039317482,40.804159805428142 -73.794019664969653,40.80416174674297 -73.795103290684608,40.804163677871699 -73.795100755964029,40.804987093101815 -73.796184395147094,40.804989014067942 -73.796181873769285,40.805812429212907 -73.797265526419935,40.805814340016205 -73.798349179132686,40.805816240633142 -73.798346684504097,40.806639655715962 -73.79943035068456,40.806641546169708 -73.799427869400375,40.807464961166673 -73.800511549048196,40.807466841456943 -73.80159522875708,40.807468711560603 -73.801592774224474,40.808292126494251 -73.802676467400715,40.80829398643408 -73.803760160637196,40.80829583618717 -73.804843853933761,40.808297675753543 -73.80484143956086,40.809121090645732 -73.805925146324128,40.809122920047756 -73.807008853146655,40.80912473926292 -73.807006465528303,40.809948154090314 -73.808090185816994,40.80994996314076 -73.808087811547054,40.810773377880579 -73.808085437218367,40.811596792510493 -73.809169184381375,40.81159859141799 -73.809166823402094,40.81242200595991 -73.810250584031408,40.812423794702077 -73.811334344719086,40.812425573256867 -73.812418105464303,40.812427341624328 -73.813501866266904,40.812429099804405 -73.814585627126846,40.812430847797131 -73.815669388043304,40.812432585602494 -73.815667107456534,40.813256000163761 -73.816750881837947,40.813257727802899 -73.81783465627565,40.813259445254552 -73.818918430768946,40.813261152518734 -73.818920671130215,40.812437737894406 -73.820004432270451,40.812439434950335 -73.820006659168115,40.811616020195082 -73.821090406955449,40.811617707042984 -73.822174154797381,40.81161938370365 -73.823257902693754,40.811621050177074 -73.824341650644385,40.811622706463247 -73.824343823855585,40.810799291516204 -73.825427558451992,40.810800937594991 -73.826511293101774,40.810802573486662 -73.827595027804932,40.810804199191224 -73.828678762560614,40.810805814708651 -73.829762497369003,40.810807420038969 -73.829764603488798,40.809984004882523 -73.830848324941513,40.8099856000062 -73.830850417602008,40.809162184720527 -73.830852510210732,40.808338769325402 -73.831936204901211,40.808340354223276 -73.831938284051603,40.807516938699386 -73.830854602767687,40.807515353820918 -73.830856695272843,40.806691938207194 -73.830858787726243,40.805868522484495 -73.830860880127872,40.805045106653012 -73.830862972477732,40.804221690712872 -73.831946600138849,40.80422327551377 -73.833030227851623,40.804224850128541 -73.834113855615229,40.804226414557185 -73.834111803480994,40.805049830555134 -73.835195444700631,40.805051384816664 -73.836279085970872,40.805052928891961 -73.83736272729108,40.80505446278098 -73.837360715322703,40.805877878726974 -73.838444370098216,40.805879402448383 -73.838442371485968,40.806702818304238 -73.838440372824266,40.807526234051117 -73.838438374113096,40.808349649688779 -73.839522069156871,40.808351163279376 -73.839520083803137,40.809174578826209 -73.839518098400276,40.809997994263554 -73.840601820307114,40.809999497704212 -73.84059984826267,40.810822913050245 -73.84059787616944,40.811646328286393 -73.840595904027396,40.812469743412557 -73.840593931836565,40.813293158428586 -73.840591959596921,40.814116573334125 -73.840589987308491,40.814939988129183 -73.840588014971246,40.815763402813594 -73.840586042585187,40.816586817387105 -73.840584070150328,40.8174102318495 -73.840582097666655,40.818233646200738 -73.840580125134181,40.819057060440613 -73.839496255726104,40.819055556797558 -73.839494269733592,40.819878970907425 -73.839492283691968,40.820702384905601 -73.839490297601174,40.821525798791917 -73.839488311461224,40.822349212566152 -73.839486325272134,40.823172626228093 -73.840570261739501,40.823174129963171 -73.840568288914113,40.823997543531235 -73.840566316039883,40.824820956986613 -73.840564343116839,40.825644370329258 -73.84164831987259,40.825645863930184 -73.841646360314556,40.826469277178205 -73.841644400708034,40.827292690313222 -73.842728404340505,40.827294173761054 -73.842726458099989,40.828117586800914 -73.842724511811312,40.82894099972733 -73.84272256547446,40.829764412540221 -73.842720619089448,40.830587825239313 -73.841636561796918,40.830586341718863 -73.841634601947874,40.831409754285822 -73.841632642050328,40.832233166738746 -73.840548557974458,40.832231672991611 -73.840546584611886,40.833055085312012 -73.839462487168348,40.833053581356104 -73.839460500340095,40.833876993543576 -73.839458513462674,40.834700405616495 -73.839456526536054,40.835523817574661 -73.840540664231085,40.835525321585777 -73.841624801974987,40.835526815406027 -73.842708939767562,40.83552829903541 -73.843793077608154,40.835529772473926 -73.843795010864753,40.834706360442901 -73.844879135335859,40.834707823672645 -73.845963259854315,40.834709276711621 -73.847047384419909,40.834710719559865 -73.84813150903264,40.834712152217364 -73.849215633691628,40.834713574684102 -73.850299758396844,40.834714986960087 -73.850301611102495,40.833891574708737 -73.851385722436547,40.833892976776831 -73.851383883148088,40.834716389045326 -73.852468007944708,40.834717780939812 -73.852466182028238,40.835541193110608 -73.852464356066577,40.836364605166416 -73.852462530059711,40.837188017107053 -73.852460704007655,40.838011428932461 -73.852458877910379,40.838834840642456 -73.852457051767914,40.839658252236717 -73.852455225580243,40.840481663715245 -73.853539444351682,40.84048304553734 -73.853537631538657,40.841306456916818 -73.85353581868074,40.842129868180166 -73.85245157306926,40.842128486324242 -73.852449746745961,40.84295189745432 -73.851365487759182,40.842950505389489 -73.850281228817806,40.842949103132668 -73.849196969922431,40.84294769068385 -73.848112711073355,40.84294626804305 -73.848110831021472,40.843769678987805 -73.847026558797808,40.843768246137451 -73.847024665278227,40.844591656948062 -73.845940379680542,40.844590213887948 -73.84593847269258,40.845413624563982 -73.844854173720549,40.845412171293844 -73.844856094130009,40.844588760635567 -73.843771808626869,40.844587297190969 -73.843773742409951,40.843763886433699 -73.842689470376001,40.843762412814876 -73.842691417532052,40.842939001959039 -73.842693364639885,40.842115590986765 -73.841609119495303,40.84211410721214 -73.84161107997511,40.841290696141662 -73.841613040406386,40.840467284955025 -73.840528822150489,40.840465791025089 -73.839444603943448,40.840464286903526 -73.83836038578545,40.840462772590371 -73.838358385094693,40.841286183721792 -73.838356384354398,40.842109594737046 -73.838354383564592,40.842933005635942 -73.837270125195801,40.842931481075183 -73.837268110935639,40.843754891839012 -73.837266096625612,40.844578302486205 -73.837264082265705,40.845401713016507 -73.837262067855946,40.846225123429846 -73.83617775585175,40.846223588602001 -73.836175727969959,40.847046998879463 -73.836173700037975,40.847870409039551 -73.836171672055784,40.848693819082108 -73.836169644023371,40.849517229007063 -73.836167615940738,40.850340638814139 -73.836165587807912,40.8511640485032 -73.836163559624865,40.851987458074085 -73.83616153139161,40.852810867526678 -73.835077112050982,40.852809322355093 -73.835075070342697,40.853632731670181 -73.835073028583864,40.854456140866638 -73.833988582444007,40.854454585463486 -73.833986527209163,40.855277994522083 -73.832902067694775,40.855276428906059 -73.832899998983223,40.85609983782642 -73.831815526094005,40.856098261997253 -73.831813443905105,40.856921670779116 -73.831811361664663,40.857745079441642 -73.830726861974625,40.857743493379672 -73.830724766255813,40.858566901903302 -73.829640253190945,40.858565305627579 -73.829638143993108,40.859388714011878 -73.829636034743061,40.860212122276351 -73.828551494875569,40.860210515766958 -73.828549372145503,40.861033923891767 -73.82854724936287,40.861857331896317 -73.828545126527672,40.862680739780437 -73.829629706679526,40.862682346348798 -73.829627597220551,40.863505754132071 -73.830712190853149,40.863507350524984 -73.83071009477105,40.864330758207096 -73.830707998637038,40.865154165768217 -73.830705902451129,40.86597757320834 -73.831790536424037,40.865979159464374 -73.83178845361634,40.866802566802683 -73.831786370757044,40.86762597401956 -73.832871031642313,40.867627550118684 -73.832868962162237,40.868450957233215 -73.832866892630889,40.869274364226094 -73.832864823048297,40.870097771097015 -73.833949524277926,40.87009933705788 -73.833947468075863,40.87092274382583 -73.833945411822867,40.871746150471566 -73.833943355518954,40.872569556994925 -73.83394129916411,40.873392963395609 -73.833939242758333,40.874216369673555 -73.833937186301625,40.875039775828611 -73.833935129793986,40.875863181860524 -73.833933073235414,40.876686587769115 -73.833931016625911,40.877509993554305 -73.833928959965448,40.878333399215926 -73.832844124403024,40.878331833063463 -73.832842054256517,40.879155238582065 -73.832839984058737,40.879978643976749 -73.831755121676764,40.879977067588349 -73.83175303799193,40.880800472839674 -73.830668162226019,40.88079888623426 -73.830666065053464,40.881622291341834 -73.829581175903428,40.881620694519178 -73.829579065242498,40.882444099482719 -73.828494162708054,40.882442492442536 -73.828492038558068,40.883265897261801 -73.827407122639727,40.883264280003885 -73.826322206774094,40.883262652547863 -73.826320055697281,40.88408605720268 -73.825235126448106,40.884084419528534 -73.824150197252479,40.884082771656168 -73.824148019247531,40.884906176145734 -73.823063076668276,40.884904518054867 -73.821978134143464,40.884902849765659 -73.82089319167325,40.884901171278102 -73.820890973301104,40.885724575581335 -73.819806017447959,40.885722886874774 -73.818721061650251,40.885721187969772 -73.81763610590815,40.885719478866285 -73.817633847166803,40.886542882981892 -73.81654887804244,40.886541163658912 -73.815463908974493,40.886539434137354 -73.814378939963248,40.886537694417221 -73.813293971008676,40.886535944498469 -73.812209002111643,40.886534184381169 -73.811124033272208,40.886532414065265 -73.810039064490482,40.886530633550784 -73.808954095767305,40.886528842837706 -73.808956462013214,40.885705438893858 -73.807871506786455,40.885703638004252 -73.806786551618913,40.885701826916183 -73.805701596510602,40.885700005629651 -73.805699189950531,40.886523409507035 -73.804614221463609,40.88652157799963 -73.804616641461735,40.885698174144679 -73.803531686472979,40.885696332461229 -73.802446731544492,40.885694480579339 -73.802449178358117,40.884871076644288 -73.801364236927796,40.884869214586729 -73.800279295558582,40.88486734233085 -73.800281769186341,40.884043938316374 -73.799196841315776,40.884042055885189 -73.798111913506673,40.884040163255818 -73.797026985759658,40.88403826042822 -73.797029499637276,40.883214856358144 -73.79594458538962,40.88321294335578 -73.794859671204293,40.883211020155322 -73.79377475708219,40.883209086756814 -73.793777311207634,40.88238568263256 -73.792692410585204,40.88238373905974 -73.792694978083745,40.881560334834639 -73.793779865269798,40.881562278383676 -73.793782419268709,40.880738874010319 -73.793784973204367,40.879915469512582 -73.792700112890032,40.879913526011109 -73.792697545518692,40.880736930485064 -73.791612671832524,40.880734976762099 -73.790527798210235,40.880733012841453 -73.790525203903229,40.88155641714313 -73.789440316909008,40.881554443000631 -73.788355429979546,40.881552458660316 -73.788358051158596,40.880729054407091 -73.787273177730086,40.880727059893353 -73.787270543115014,40.881550464122199 -73.786185656315595,40.881548459386259 -73.785100769581902,40.881546444452503 -73.78510343106899,40.880723040272834 -73.785106092490167,40.879899635968826 -73.786190952352143,40.879901650853277 -73.786193600272043,40.879078246400518 -73.785108753845407,40.879076231540722 -73.784023907484695,40.879074206483466 -73.784026582209037,40.878250801956227 -73.784029256867129,40.877427397305105 -73.784031931458983,40.876603992530406 -73.784034605984573,40.875780587632271 -73.78511939860725,40.875782612590427 -73.785122059632926,40.874959207544229 -73.785124720592705,40.874135802374845 -73.78403995483707,40.874133777466248 -73.782955189147515,40.874131742360959 -73.782957876907403,40.87330833711836 -73.782960564600756,40.872484931753021 -73.782963252227518,40.871661526265008 -73.782965939787729,40.870838120654604 -73.782968627281392,40.870014714921979 -73.784053325809197,40.870016749902781 -73.784055999804934,40.869193344023117 -73.785140684967473,40.869195368783082 -73.785143345465968,40.868371962756662 -73.785146005898582,40.867548556608618 -73.78623066426529,40.867550571123353 -73.786228017263355,40.868373977296059 -73.786225370195879,40.869197383347107 -73.787310055489996,40.869199387715177 -73.788394740849199,40.869201381887308 -73.789479426273274,40.869203365863513 -73.789482033047662,40.868379959739251 -73.790566705105434,40.868381933495357 -73.790569298384568,40.867558527225306 -73.790571891599484,40.86673512083361 -73.791656536860245,40.86673708434585 -73.791659116580902,40.865913677808692 -73.791661696237696,40.865090271150322 -73.791664275830584,40.864266864370954 -73.791666855359608,40.863443457470566 -73.79166943482474,40.862620050449486 -73.790584856710851,40.862618087057378 -73.790587449540496,40.861794679939813 -73.790590042305936,40.860971272701832 -73.791674593563414,40.860973236045893 -73.791677172836927,40.860149828663616 -73.792761710730517,40.860151781789071 -73.792764276512784,40.85932837426288 -73.793848801042799,40.859330317170006 -73.793851353334489,40.8585069095002 -73.793853905562997,40.857683501710589 -73.792769407886752,40.857681558851013 -73.792766842231543,40.858504966616842 -73.791682331192391,40.85850301353917 -73.790597820217045,40.858501050267165 -73.790595227644204,40.859324457865277 -73.789510703305851,40.859322484374808 -73.788426179032186,40.85932050068989 -73.787341654823379,40.859318506810503 -73.787339021904216,40.860141914215987 -73.787336388919869,40.860965321501446 -73.786251837921029,40.86096331737857 -73.7851672869879,40.860961303061018 -73.78408273612061,40.860959278548769 -73.784085409388055,40.860135871337242 -73.784088082589307,40.859312464005718 -73.784090755724364,40.858489056554347 -73.785175266309551,40.858491080992295 -73.786259776960605,40.858493095235907 -73.787344287677328,40.858495099285214 -73.788428798459094,40.858497093140201 -73.788431417821158,40.857673685470687 -73.787346920466092,40.857671691640114 -73.787349553189671,40.856848283875514 -73.788434037118378,40.856850277681701 -73.788436656350711,40.856026869773352 -73.787352185848064,40.856024875991558 -73.787354818441273,40.855201467988394 -73.786270361429359,40.855199464037177 -73.786273007382746,40.854376055939426 -73.786275653270636,40.853552647722857 -73.786278299093013,40.852729239387642 -73.785193882421879,40.852727225316542 -73.785196541603113,40.851903816887351 -73.784112138422202,40.851901792647574 -73.783027735307286,40.851899758214465 -73.783030421270766,40.851076349716635 -73.783033107167753,40.850252941100649 -73.78303579299822,40.849429532366635 -73.781951430221085,40.849427487815241 -73.78194873096723,40.850250896524251 -73.780864354833611,40.850248841754784 -73.780867067510826,40.84942543307092 -73.780869780120881,40.848602024269141 -73.780872492663789,40.847778615349803 -73.779788156866132,40.847776550463067 -73.779790882764246,40.846953141451415 -73.779793608594886,40.846129732322389 -73.780877917548111,40.846131797158606 -73.780880629889566,40.845308387887201 -73.779796334358011,40.845306323076258 -73.779799060053691,40.844482913713165 -73.779801785681883,40.843659504233152 -73.779804511242588,40.842836094636525 -73.779807236735834,40.842012684923468 -73.779809962161607,40.841189275094031 -73.780894190589621,40.841191339778639 -73.780896902528227,40.840367929807762 -73.780899614399686,40.839544519720945 -73.780902326204014,40.838721109518382 -73.780905037941238,40.83789769920007 -73.780907749611316,40.837074288766331 -73.781991911010948,40.837076343133553 -73.781994609195863,40.836252932559418 -73.783078757244283,40.83625497671057 -73.784162905359338,40.836257010670749 -73.785247053540331,40.836259034439983 -73.786331201787135,40.836261048018265</coordinates></LinearRing></outerBoundaryIs><innerBoundaryIs><LinearRing><coordinates>-73.793784973204367,40.879915469512582 -73.794869833581686,40.879917402816503 -73.794872374018695,40.87909399817103 -73.793787527076759,40.87909206489077 -73.793784973204367,40.879915469512582</coordinates></LinearRing></innerBoundaryIs><innerBoundaryIs><LinearRing><coordinates>-73.780880629889566,40.845308387887201 -73.781964925487969,40.845310442505834 -73.781967624340894,40.844487033092321 -73.780883342163847,40.844484978498848 -73.780880629889566,40.845308387887201</coordinates></LinearRing></innerBoundaryIs><innerBoundaryIs><LinearRing><coordinates>-73.794877454703993,40.877447188508398 -73.795962274839383,40.877449111544152 -73.795964801653284,40.876625706503802 -73.795967328404586,40.87580230134003 -73.797052121733898,40.87580421413179 -73.79705463498891,40.874980808821292 -73.797057148181693,40.874157403387649 -73.798141914706207,40.874159305935898 -73.799226681292794,40.874161198287453 -73.799229167557215,40.873337792684481 -73.799231653760089,40.872514386958784 -73.798146914039265,40.872512494653535 -73.79814441440368,40.873335900356096 -73.797059661312204,40.873333997831111 -73.795974908283043,40.873332085109567 -73.794890155316168,40.873330162191451 -73.794887615319553,40.87415356770105 -73.794885075260026,40.874976973087762 -73.794882535137603,40.875800378351329 -73.793797741933787,40.875798445165671 -73.793795188314405,40.876621850282284 -73.794879994952254,40.876623783491581 -73.794877454703993,40.877447188508398</coordinates></LinearRing></innerBoundaryIs><innerBoundaryIs><LinearRing><coordinates>-73.799231653760089,40.872514386958784 -73.800316393542317,40.872516269067582 -73.800318866251217,40.871692863196166 -73.800321338898883,40.87086945720236 -73.799236625981095,40.870867575139634 -73.799234139901372,40.871690981110397 -73.799231653760089,40.872514386958784</coordinates></LinearRing></innerBoundaryIs><innerBoundaryIs><LinearRing><coordinates>-73.800321338898883,40.87086945720236 -73.801406051877919,40.870871329068905 -73.801408511032633,40.870047922929977 -73.802493210641018,40.87004978457756 -73.802495656303421,40.869226378293703 -73.802498101905272,40.86840297188791 -73.803582774711614,40.868404823294085 -73.804667447578169,40.868406664504434 -73.804669866257996,40.867583257931791 -73.803585206822163,40.867581416743988 -73.802500547446542,40.867579565360472 -73.801415888131345,40.867577703781251 -73.801413429159339,40.868401110285916 -73.80141097012644,40.869224516668943 -73.800326284010509,40.869222644848207 -73.800323811485313,40.870046051086355 -73.800321338898883,40.87086945720236</coordinates></LinearRing></innerBoundaryIs><innerBoundaryIs><LinearRing><coordinates>-73.788360672272717,40.879905650029499 -73.789445532330475,40.879907634321256 -73.789448139944312,40.879084229795289 -73.788363293321908,40.879082245527805 -73.788360672272717,40.879905650029499</coordinates></LinearRing></innerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.789591459307815,40.833796794677291 -73.789588855242698,40.834620205768815 -73.789586251113136,40.835443616745579 -73.788502116088694,40.835441633764425 -73.787417981129053,40.835439640592462 -73.787420612093428,40.834616229664348 -73.788504733635662,40.834618222811933 -73.788507351117843,40.833794811744681 -73.789591459307815,40.833796794677291</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.805833865571358,40.840412604096855 -73.805831462286747,40.841236014614374 -73.806915692234071,40.841237834697992 -73.807999922240498,40.841239644589898 -73.807997545736583,40.842063055035688 -73.806913302310051,40.84206124512162 -73.806910912326856,40.84288465542889 -73.805826655539008,40.842882835300735 -73.80474239881049,40.842881004980605 -73.803658142141941,40.842879164468513 -73.80257388553359,40.842877313764454 -73.802576329198487,40.842053903547018 -73.801492086070866,40.842052042673757 -73.801494543095345,40.841228632362743 -73.801497000059015,40.840405221935548 -73.80258121634678,40.840407082763257 -73.803665432694885,40.840408933399374 -73.80474964910313,40.840410773843914 -73.805833865571358,40.840412604096855</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.770040524140029,40.844463871993348 -73.770037677652155,40.845287281123433 -73.771121972564202,40.845289437665237 -73.771119139427526,40.846112846704756 -73.772203447831544,40.846114993080505 -73.772200628046747,40.846938402029181 -73.772197808192132,40.847761810860469 -73.772194988267714,40.848585219574183 -73.772192168273477,40.849408628170323 -73.772189348209423,40.85023203664857 -73.772186528075551,40.851055445008768 -73.773270917086307,40.851057581348918 -73.773268110306617,40.851880989617086 -73.773265303457435,40.852704397766963 -73.773262496538749,40.853527805798223 -73.773259689550571,40.854351213710828 -73.773256882492902,40.855174621504617 -73.773254075365713,40.855998029179304 -73.772169605805914,40.85599589268233 -73.772166785183217,40.856819300211633 -73.773251268169034,40.856821436734776 -73.773248460902835,40.857644844170871 -73.77324565356713,40.858468251487487 -73.773242846161892,40.859291658684285 -73.773240038687163,40.860115065761271 -73.774324575449796,40.860117192194409 -73.7743217813332,40.86094059917739 -73.775406331592947,40.860942715441844 -73.775403550835179,40.86176612233043 -73.775400770008545,40.862589529098585 -73.774316192892456,40.862587412782325 -73.774318987147424,40.861764006040062 -73.773234423529118,40.861761879554898 -73.772149859980289,40.861759742874924 -73.772152681022078,40.860936336064384 -73.772155501994007,40.860112929133571 -73.771070965370541,40.860110782311317 -73.769986428817418,40.860108625294515 -73.768901892334796,40.860106458083131 -73.768904753518868,40.859283051111483 -73.767820230534269,40.859280873732196 -73.767823105074484,40.858457466667353 -73.767825979543517,40.857634059482699 -73.766741483483898,40.857631871962511 -73.766744371308093,40.856808464685123 -73.765659888746313,40.85680626699763 -73.765662789924988,40.855982859627801 -73.764578320860863,40.855980651773272 -73.764581235393351,40.855157244311208 -73.764584149853675,40.854333836730049 -73.765668592066831,40.854336044530534 -73.766753034351623,40.854338242137345 -73.767837476707925,40.854340429550469 -73.767840350821132,40.853517021769811 -73.767843224863157,40.852693613870493 -73.76892764044112,40.852695791036666 -73.768930500987651,40.851872382992099 -73.767846098834028,40.85187020585257 -73.767848972733745,40.851046797716343 -73.767851846562309,40.850223389461945 -73.767854720319718,40.849399981089512 -73.768939082202351,40.849402158149111 -73.768941942465617,40.848578749632154 -73.768944802658069,40.847755340997573 -73.768947662779709,40.846931932245447 -73.767863341165096,40.846929755265769 -73.767866214637934,40.8461063464229 -73.767869088039646,40.845282937462912 -73.767871961370204,40.844459528385961 -73.768956242719796,40.844461705285745 -73.770040524140029,40.844463871993348</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.784104120406852,40.854372017504936 -73.784101447602723,40.855195425553255 -73.784098774732399,40.856018833482509 -73.784096101795896,40.856842241292519 -73.783011618129805,40.856840206710046 -73.781927134530378,40.856838161933496 -73.78084265099784,40.856836106962902 -73.780845364212439,40.856012699227939 -73.779760894172838,40.856010634088527 -73.779763620745939,40.855187226259609 -73.77976634725151,40.854363818311604 -73.780850790440056,40.854365883400462 -73.781935233695492,40.854367938295667 -73.783019677017847,40.854369982997142 -73.784104120406852,40.854372017504936</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.785164627082281,40.861784710177027 -73.785161967110795,40.862608117172613 -73.785159307073442,40.86343152404767 -73.784074715921093,40.863429499461112 -73.782990124834782,40.863427464679482 -73.781905533815149,40.863425419702779 -73.781908234138569,40.862602012902407 -73.781910934395128,40.861778605981506 -73.78299549855771,40.861780650908166 -73.78408006278697,40.861782685639994 -73.785164627082281,40.861784710177027</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.771053957920131,40.865051221931523 -73.771051123099383,40.865874628112117 -73.769966492545635,40.865872470910574 -73.768881862062429,40.865870303513582 -73.768884723742502,40.865046897385895 -73.769969340796038,40.865049064756363 -73.771053957920131,40.865051221931523</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.7688790003115,40.866693709520057 -73.768876138489702,40.867517115405072 -73.767791481216904,40.867514937759374 -73.766706824015458,40.867512749917999 -73.765622166885564,40.867510551880933 -73.765625068998304,40.86668714607621 -73.766709712697889,40.866689344086367 -73.767794356469011,40.866691531900997 -73.7688790003115,40.866693709520057</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.77212164571992,40.869993804330505 -73.772118823909594,40.870817209807299 -73.773203535188372,40.870819346774866 -73.773200726740129,40.871642752155566 -73.773197918222309,40.872466157413896 -73.772113180079216,40.872464020394055 -73.771028442005857,40.87246187317777 -73.771031277388317,40.871638467971863 -73.769946552817657,40.871636310585544 -73.76994940156186,40.870812905283643 -73.768864690493743,40.870810737727545 -73.768867552599048,40.869987332329941 -73.769952250235519,40.869989499859514 -73.771036947942534,40.86999165719304 -73.77212164571992,40.869993804330505</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.775364612994963,40.873293806051862 -73.775361831204037,40.874117211116683 -73.775359049344203,40.874940616058595 -73.774274270763129,40.874938499353917 -73.773189492251561,40.874936372452446 -73.773192300978039,40.874112967562439 -73.774277066056285,40.874115094437904 -73.774279861280206,40.873291689398975 -73.775364612994963,40.873293806051862</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.782955189147515,40.874131742360959 -73.782952501321049,40.874955147480648 -73.78294981342799,40.8757785524772 -73.781865020938142,40.87577650712516 -73.781867722264877,40.874953102153654 -73.78187042352468,40.874129697058976 -73.782955189147515,40.874131742360959</coordinates></LinearRing></outerBoundaryIs></Polygon><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.781865020938142,40.87577650712516 -73.781862319544516,40.876599911973365 -73.781859618083999,40.877423316698135 -73.780774798792748,40.877421261098874 -73.780777513687624,40.876597856399258 -73.780780228515269,40.875774451576206 -73.781865020938142,40.87577650712516</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>
|
|
22
|
+
</Placemark>
|
|
23
|
+
</Folder>
|
|
24
|
+
</Document></kml>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<kml xmlns="http://earth.google.com/kml/2.2">
|
|
3
|
+
<Document>
|
|
4
|
+
<name>Colorado</name>
|
|
5
|
+
<description><![CDATA[]]></description>
|
|
6
|
+
<Style id="style1">
|
|
7
|
+
<LineStyle>
|
|
8
|
+
<color>40000000</color>
|
|
9
|
+
<width>3</width>
|
|
10
|
+
</LineStyle>
|
|
11
|
+
<PolyStyle>
|
|
12
|
+
<color>73FF0000</color>
|
|
13
|
+
<fill>1</fill>
|
|
14
|
+
<outline>1</outline>
|
|
15
|
+
</PolyStyle>
|
|
16
|
+
</Style>
|
|
17
|
+
<Placemark>
|
|
18
|
+
<name>Shape 1</name>
|
|
19
|
+
<description><![CDATA[]]></description>
|
|
20
|
+
<styleUrl>#style1</styleUrl>
|
|
21
|
+
<Polygon>
|
|
22
|
+
<outerBoundaryIs>
|
|
23
|
+
<LinearRing>
|
|
24
|
+
<tessellate>1</tessellate>
|
|
25
|
+
<coordinates>
|
|
26
|
+
-109.050293,41.008923,0.000000
|
|
27
|
+
-102.057495,41.004776,0.000000
|
|
28
|
+
-102.046509,36.993778,0.000000
|
|
29
|
+
-109.044800,36.998165,0.000000
|
|
30
|
+
-109.050293,41.008923,0.000000
|
|
31
|
+
</coordinates>
|
|
32
|
+
</LinearRing>
|
|
33
|
+
</outerBoundaryIs>
|
|
34
|
+
</Polygon>
|
|
35
|
+
</Placemark>
|
|
36
|
+
</Document>
|
|
37
|
+
</kml>
|