geoloader 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +13 -0
  3. data/.gitignore +17 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +2 -0
  7. data/README.md +212 -0
  8. data/Rakefile +10 -0
  9. data/bin/geoloader +4 -0
  10. data/config.yaml +18 -0
  11. data/geoloader.gemspec +37 -0
  12. data/iso19139.xsl +445 -0
  13. data/lib/geoloader.rb +48 -0
  14. data/lib/geoloader/assets/asset.rb +63 -0
  15. data/lib/geoloader/assets/description.rb +55 -0
  16. data/lib/geoloader/assets/geonetwork.rb +58 -0
  17. data/lib/geoloader/assets/geotiff.rb +41 -0
  18. data/lib/geoloader/assets/shapefile.rb +28 -0
  19. data/lib/geoloader/assets/solr.rb +23 -0
  20. data/lib/geoloader/cli/app.rb +26 -0
  21. data/lib/geoloader/cli/geonetwork.rb +36 -0
  22. data/lib/geoloader/cli/geoserver.rb +36 -0
  23. data/lib/geoloader/cli/solr.rb +36 -0
  24. data/lib/geoloader/loaders/geonetwork.rb +40 -0
  25. data/lib/geoloader/loaders/geotiff_geoserver.rb +47 -0
  26. data/lib/geoloader/loaders/geotiff_solr.rb +40 -0
  27. data/lib/geoloader/loaders/loader.rb +53 -0
  28. data/lib/geoloader/loaders/shapefile_geoserver.rb +40 -0
  29. data/lib/geoloader/loaders/shapefile_solr.rb +40 -0
  30. data/lib/geoloader/services/geonetwork.rb +201 -0
  31. data/lib/geoloader/services/geoserver.rb +104 -0
  32. data/lib/geoloader/services/solr.rb +62 -0
  33. data/lib/geoloader/tasks/geonetwork.rb +28 -0
  34. data/lib/geoloader/tasks/geoserver.rb +19 -0
  35. data/lib/geoloader/tasks/solr.rb +19 -0
  36. data/lib/geoloader/version.rb +4 -0
  37. data/metadata.md +13 -0
  38. data/spec/fixtures/geotiff.tfw +6 -0
  39. data/spec/fixtures/geotiff.tif +0 -0
  40. data/spec/fixtures/geotiff.tif.aux.xml +1315 -0
  41. data/spec/fixtures/geotiff.tif.ovr +0 -0
  42. data/spec/fixtures/geotiff.tif.vat.dbf +0 -0
  43. data/spec/fixtures/geotiff.tif.xml +2 -0
  44. data/spec/fixtures/shapefile.dbf +0 -0
  45. data/spec/fixtures/shapefile.prj +1 -0
  46. data/spec/fixtures/shapefile.sbn +0 -0
  47. data/spec/fixtures/shapefile.sbx +0 -0
  48. data/spec/fixtures/shapefile.shp +0 -0
  49. data/spec/fixtures/shapefile.shp.xml +51 -0
  50. data/spec/fixtures/shapefile.shx +0 -0
  51. data/spec/helpers/fixture.rb +13 -0
  52. data/spec/loaders/geonetwork.rb +38 -0
  53. data/spec/loaders/geotiff_geoserver.rb +49 -0
  54. data/spec/loaders/geotiff_solr.rb +34 -0
  55. data/spec/loaders/shapefile_geoserver.rb +49 -0
  56. data/spec/loaders/shapefile_solr.rb +34 -0
  57. data/spec/spec_helper.rb +6 -0
  58. metadata +362 -0
@@ -0,0 +1,104 @@
1
+
2
+ require "rest_client"
3
+ require "builder"
4
+ require "nokogiri"
5
+
6
+ module Geoloader
7
+ module Services
8
+
9
+ class Geoserver
10
+
11
+ attr_reader :resource
12
+
13
+ #
14
+ # Initialize the API wrapper.
15
+ #
16
+ def initialize
17
+ @resource = RestClient::Resource.new("#{Geoloader.config.geoserver.url}/rest", {
18
+ :user => Geoloader.config.geoserver.username,
19
+ :password => Geoloader.config.geoserver.password
20
+ })
21
+ end
22
+
23
+ #
24
+ # Does a workspace with a given name exist?
25
+ #
26
+ # @param [String] workspace
27
+ #
28
+ def workspace_exists?(workspace)
29
+ workspaces = @resource["workspaces"].get
30
+ !!Nokogiri::XML(workspaces).at_xpath("//workspace[name[text()='#{workspace}']]")
31
+ end
32
+
33
+ #
34
+ # Create a new workspace.
35
+ #
36
+ # @param [String] workspace
37
+ #
38
+ def create_workspace(workspace)
39
+ payload = Builder::XmlMarkup.new.workspace { |w| w.name workspace }
40
+ @resource["workspaces"].post(payload, :content_type => :xml)
41
+ end
42
+
43
+ #
44
+ # Check to see if a workspace exists, and if not, create it.
45
+ #
46
+ # @param [String] workspace
47
+ #
48
+ def ensure_workspace(workspace)
49
+ create_workspace(workspace) unless workspace_exists?(workspace)
50
+ end
51
+
52
+ #
53
+ # Delete a workspace.
54
+ #
55
+ # @param [String] workspace
56
+ #
57
+ def delete_workspace(workspace)
58
+ @resource["workspaces/#{workspace}"].delete({:params => {:recurse => true}})
59
+ end
60
+
61
+ #
62
+ # Create a new coveragestore and layer for a GeoTIFF.
63
+ #
64
+ # @param [Geoloader::Geotiff] geotiff
65
+ #
66
+ def create_coveragestore(geotiff)
67
+ url = "workspaces/#{geotiff.workspace}/coveragestores/#{geotiff.file_base}/file.geotiff"
68
+ @resource[url].put(File.read(geotiff.file_name))
69
+ end
70
+
71
+ #
72
+ # Delete the coveragestore that corresponds to a GeoTIFF.
73
+ #
74
+ # @param [Geoloader::Geotiff] geotiff
75
+ #
76
+ def delete_coveragestore(geotiff)
77
+ url = "workspaces/#{geotiff.workspace}/coveragestores/#{geotiff.file_base}"
78
+ @resource[url].delete({:params => {:recurse => true}})
79
+ end
80
+
81
+ #
82
+ # Create a new datastore and layer for a Shapefile.
83
+ #
84
+ # @param [Geoloader::Shapefile] shapefile
85
+ #
86
+ def create_datastore(shapefile)
87
+ url = "workspaces/#{shapefile.workspace}/datastores/#{shapefile.file_base}/file.shp"
88
+ @resource[url].put(shapefile.get_zipfile, :content_type => :zip)
89
+ end
90
+
91
+ #
92
+ # Delete the datastore that corresponds to a shapefile.
93
+ #
94
+ # @param [Geoloader::Shapefile] shapefile
95
+ #
96
+ def delete_datastore(shapefile)
97
+ url = "workspaces/#{shapefile.workspace}/datastores/#{shapefile.file_base}"
98
+ @resource[url].delete({:params => {:recurse => true}})
99
+ end
100
+
101
+ end
102
+
103
+ end
104
+ end
@@ -0,0 +1,62 @@
1
+
2
+ require "rsolr-ext"
3
+
4
+ module Geoloader
5
+ module Services
6
+
7
+ class Solr
8
+
9
+ attr_reader :resource
10
+
11
+ #
12
+ # Initialize the API wrapper.
13
+ #
14
+ def initialize
15
+ @resource = RSolr::Ext.connect(:url => Geoloader.config.solr.url)
16
+ end
17
+
18
+ #
19
+ # Add a new document to the index.
20
+ #
21
+ # @param [Geoloader::Asset] asset
22
+ #
23
+ def create_document(asset)
24
+ @resource.add(asset.solr_document)
25
+ @resource.commit
26
+ end
27
+
28
+ #
29
+ # Count the number of documents in each workspace.
30
+ #
31
+ def get_workspace_counts
32
+
33
+ workspaces = []
34
+
35
+ # Select all documents, 0 rows, faceting on workspace.
36
+ query = { :queries => "*:*", :facets => { :fields => "WorkspaceName" }, :rows => 0 }
37
+
38
+ # Flatted out the counts.
39
+ @resource.find(query).facets.each do |facet|
40
+ facet.items.each do |item|
41
+ workspaces << [item.value, item.hits]
42
+ end
43
+ end
44
+
45
+ workspaces
46
+
47
+ end
48
+
49
+ #
50
+ # Delete all documents in a workspace.
51
+ #
52
+ # @param [String] workspace
53
+ #
54
+ def delete_by_workspace(workspace)
55
+ @resource.delete_by_query("WorkspaceName:#{workspace}")
56
+ @resource.commit
57
+ end
58
+
59
+ end
60
+
61
+ end
62
+ end
@@ -0,0 +1,28 @@
1
+
2
+ module Geoloader
3
+ module Tasks
4
+
5
+ module Geonetwork
6
+
7
+ #
8
+ # Publish all records in a Geonetwork group.
9
+ #
10
+ # @param [String] workspace
11
+ #
12
+ def self.publish(workspace)
13
+ Geoloader::Services::Geonetwork.new.publish_group(workspace)
14
+ end
15
+
16
+ #
17
+ # Delete all stores from a Geonetwork group.
18
+ #
19
+ # @param [String] workspace
20
+ #
21
+ def self.clear(workspace)
22
+ Geoloader::Services::Geonetwork.new.delete_records_by_group(workspace)
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+ end
@@ -0,0 +1,19 @@
1
+
2
+ module Geoloader
3
+ module Tasks
4
+
5
+ module Geoserver
6
+
7
+ #
8
+ # Delete all stores from a Geoserver workspace.
9
+ #
10
+ # @param [String] workspace
11
+ #
12
+ def self.clear(workspace)
13
+ Geoloader::Services::Geoserver.new.delete_workspace(workspace)
14
+ end
15
+
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+
2
+ module Geoloader
3
+ module Tasks
4
+
5
+ module Solr
6
+
7
+ #
8
+ # Delete all Solr documents in a workspace.
9
+ #
10
+ # @param [String] workspace
11
+ #
12
+ def self.clear(workspace)
13
+ Geoloader::Services::Solr.new.delete_by_workspace(workspace)
14
+ end
15
+
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,4 @@
1
+
2
+ module Geoloader
3
+ VERSION = "0.1.0"
4
+ end
@@ -0,0 +1,13 @@
1
+ ---
2
+ categories:
3
+ - category1
4
+ - category2
5
+
6
+ keywords:
7
+ - keyword1
8
+ - keyword2
9
+ ---
10
+
11
+ # Testing Title
12
+
13
+ A testing abstract! More content here.
@@ -0,0 +1,6 @@
1
+ 0.0000094514
2
+ 0.0000000000
3
+ 0.0000000000
4
+ -0.0000094514
5
+ -78.3710882667
6
+ 38.1005695644
Binary file
@@ -0,0 +1,1315 @@
1
+ <PAMDataset>
2
+ <Metadata/>
3
+ <Metadata domain="ESRI">
4
+ <MDI key="PyramidResamplingType">NEAREST</MDI>
5
+ </Metadata>
6
+ <PAMRasterBand band="1">
7
+ <Histograms>
8
+ <HistItem>
9
+ <HistMin>1</HistMin>
10
+ <HistMax>255</HistMax>
11
+ <BucketCount>256</BucketCount>
12
+ <IncludeOutOfRange>1</IncludeOutOfRange>
13
+ <Approximate>0</Approximate>
14
+ <HistCounts>43|83|930|1043|1984|3657|6666|10566|15793|21717|27173|33814|41286|47055|56361|67960|78979|92594|106589|114618|122732|126532|122722|119259|112296|103896|95303|86604|78543|71283|65060|59876|56360|54425|53771|54490|54917|56712|59030|61720|65362|69013|72217|75702|80131|83147|86715|91003|93931|96984|100867|103237|106788|109252|112052|114646|117138|119729|122182|124174|125710|127851|130934|132192|133811|136083|138192|139580|140942|142832|143763|145541|146618|147841|149428|149803|150945|151359|152558|153090|152875|154055|154304|154782|154641|155185|156420|155563|156391|156096|156321|157217|156781|156432|156034|157860|157552|157640|157521|157329|157872|157513|157537|157654|157665|157318|157579|156373|157101|155728|156284|156142|155492|154880|154763|155367|155173|154178|154701|154320|153530|153964|152940|153481|153635|153175|153201|152417|153318|152166|152837|153312|152875|151961|152055|152306|152419|152522|152957|152668|152173|152619|153383|153496|153455|153987|154259|153544|153990|154548|154675|154276|154106|154211|154371|155014|155307|155145|154857|155417|155393|155351|155473|155964|155662|155873|156082|156606|156449|156912|156733|156206|156864|156298|156362|155822|156386|156028|155728|155711|155323|154659|154759|153823|153810|152933|152119|150735|150514|151180|149204|148955|148500|148337|147536|145110|144717|144377|142195|140706|139036|137220|136406|133645|131740|130435|128338|125215|123368|120268|118708|116241|113127|110027|107172|104290|100750|97057|93903|90560|86745|82741|79630|76078|71940|68229|64614|61846|57705|54433|50757|47755|44947|41786|38862|35495|32382|29976|27344|24284|22315|19728|17279|14871|12985|11018|9336|8140|7297|6291|5966|5854|5679|7113|0|25255</HistCounts>
15
+ </HistItem>
16
+ </Histograms>
17
+ <GDALRasterAttributeTable>
18
+ <FieldDefn index="0">
19
+ <Name>Rowid</Name>
20
+ <Type>0</Type>
21
+ <Usage>0</Usage>
22
+ </FieldDefn>
23
+ <FieldDefn index="1">
24
+ <Name>VALUE</Name>
25
+ <Type>0</Type>
26
+ <Usage>0</Usage>
27
+ </FieldDefn>
28
+ <FieldDefn index="2">
29
+ <Name>COUNT</Name>
30
+ <Type>0</Type>
31
+ <Usage>0</Usage>
32
+ </FieldDefn>
33
+ <Row index="0">
34
+ <F>0</F>
35
+ <F>0</F>
36
+ <F>745466</F>
37
+ </Row>
38
+ <Row index="1">
39
+ <F>1</F>
40
+ <F>1</F>
41
+ <F>43</F>
42
+ </Row>
43
+ <Row index="2">
44
+ <F>2</F>
45
+ <F>2</F>
46
+ <F>83</F>
47
+ </Row>
48
+ <Row index="3">
49
+ <F>3</F>
50
+ <F>3</F>
51
+ <F>930</F>
52
+ </Row>
53
+ <Row index="4">
54
+ <F>4</F>
55
+ <F>4</F>
56
+ <F>1043</F>
57
+ </Row>
58
+ <Row index="5">
59
+ <F>5</F>
60
+ <F>5</F>
61
+ <F>1984</F>
62
+ </Row>
63
+ <Row index="6">
64
+ <F>6</F>
65
+ <F>6</F>
66
+ <F>3657</F>
67
+ </Row>
68
+ <Row index="7">
69
+ <F>7</F>
70
+ <F>7</F>
71
+ <F>6666</F>
72
+ </Row>
73
+ <Row index="8">
74
+ <F>8</F>
75
+ <F>8</F>
76
+ <F>10566</F>
77
+ </Row>
78
+ <Row index="9">
79
+ <F>9</F>
80
+ <F>9</F>
81
+ <F>15793</F>
82
+ </Row>
83
+ <Row index="10">
84
+ <F>10</F>
85
+ <F>10</F>
86
+ <F>21717</F>
87
+ </Row>
88
+ <Row index="11">
89
+ <F>11</F>
90
+ <F>11</F>
91
+ <F>27173</F>
92
+ </Row>
93
+ <Row index="12">
94
+ <F>12</F>
95
+ <F>12</F>
96
+ <F>33814</F>
97
+ </Row>
98
+ <Row index="13">
99
+ <F>13</F>
100
+ <F>13</F>
101
+ <F>41286</F>
102
+ </Row>
103
+ <Row index="14">
104
+ <F>14</F>
105
+ <F>14</F>
106
+ <F>47055</F>
107
+ </Row>
108
+ <Row index="15">
109
+ <F>15</F>
110
+ <F>15</F>
111
+ <F>56361</F>
112
+ </Row>
113
+ <Row index="16">
114
+ <F>16</F>
115
+ <F>16</F>
116
+ <F>67960</F>
117
+ </Row>
118
+ <Row index="17">
119
+ <F>17</F>
120
+ <F>17</F>
121
+ <F>78979</F>
122
+ </Row>
123
+ <Row index="18">
124
+ <F>18</F>
125
+ <F>18</F>
126
+ <F>92594</F>
127
+ </Row>
128
+ <Row index="19">
129
+ <F>19</F>
130
+ <F>19</F>
131
+ <F>106589</F>
132
+ </Row>
133
+ <Row index="20">
134
+ <F>20</F>
135
+ <F>20</F>
136
+ <F>114618</F>
137
+ </Row>
138
+ <Row index="21">
139
+ <F>21</F>
140
+ <F>21</F>
141
+ <F>122732</F>
142
+ </Row>
143
+ <Row index="22">
144
+ <F>22</F>
145
+ <F>22</F>
146
+ <F>126532</F>
147
+ </Row>
148
+ <Row index="23">
149
+ <F>23</F>
150
+ <F>23</F>
151
+ <F>122722</F>
152
+ </Row>
153
+ <Row index="24">
154
+ <F>24</F>
155
+ <F>24</F>
156
+ <F>119259</F>
157
+ </Row>
158
+ <Row index="25">
159
+ <F>25</F>
160
+ <F>25</F>
161
+ <F>112296</F>
162
+ </Row>
163
+ <Row index="26">
164
+ <F>26</F>
165
+ <F>26</F>
166
+ <F>103896</F>
167
+ </Row>
168
+ <Row index="27">
169
+ <F>27</F>
170
+ <F>27</F>
171
+ <F>95303</F>
172
+ </Row>
173
+ <Row index="28">
174
+ <F>28</F>
175
+ <F>28</F>
176
+ <F>86604</F>
177
+ </Row>
178
+ <Row index="29">
179
+ <F>29</F>
180
+ <F>29</F>
181
+ <F>78543</F>
182
+ </Row>
183
+ <Row index="30">
184
+ <F>30</F>
185
+ <F>30</F>
186
+ <F>71283</F>
187
+ </Row>
188
+ <Row index="31">
189
+ <F>31</F>
190
+ <F>31</F>
191
+ <F>65060</F>
192
+ </Row>
193
+ <Row index="32">
194
+ <F>32</F>
195
+ <F>32</F>
196
+ <F>59876</F>
197
+ </Row>
198
+ <Row index="33">
199
+ <F>33</F>
200
+ <F>33</F>
201
+ <F>56360</F>
202
+ </Row>
203
+ <Row index="34">
204
+ <F>34</F>
205
+ <F>34</F>
206
+ <F>54425</F>
207
+ </Row>
208
+ <Row index="35">
209
+ <F>35</F>
210
+ <F>35</F>
211
+ <F>53771</F>
212
+ </Row>
213
+ <Row index="36">
214
+ <F>36</F>
215
+ <F>36</F>
216
+ <F>54490</F>
217
+ </Row>
218
+ <Row index="37">
219
+ <F>37</F>
220
+ <F>37</F>
221
+ <F>54917</F>
222
+ </Row>
223
+ <Row index="38">
224
+ <F>38</F>
225
+ <F>38</F>
226
+ <F>56712</F>
227
+ </Row>
228
+ <Row index="39">
229
+ <F>39</F>
230
+ <F>39</F>
231
+ <F>59030</F>
232
+ </Row>
233
+ <Row index="40">
234
+ <F>40</F>
235
+ <F>40</F>
236
+ <F>61720</F>
237
+ </Row>
238
+ <Row index="41">
239
+ <F>41</F>
240
+ <F>41</F>
241
+ <F>65362</F>
242
+ </Row>
243
+ <Row index="42">
244
+ <F>42</F>
245
+ <F>42</F>
246
+ <F>69013</F>
247
+ </Row>
248
+ <Row index="43">
249
+ <F>43</F>
250
+ <F>43</F>
251
+ <F>72217</F>
252
+ </Row>
253
+ <Row index="44">
254
+ <F>44</F>
255
+ <F>44</F>
256
+ <F>75702</F>
257
+ </Row>
258
+ <Row index="45">
259
+ <F>45</F>
260
+ <F>45</F>
261
+ <F>80131</F>
262
+ </Row>
263
+ <Row index="46">
264
+ <F>46</F>
265
+ <F>46</F>
266
+ <F>83147</F>
267
+ </Row>
268
+ <Row index="47">
269
+ <F>47</F>
270
+ <F>47</F>
271
+ <F>86715</F>
272
+ </Row>
273
+ <Row index="48">
274
+ <F>48</F>
275
+ <F>48</F>
276
+ <F>91003</F>
277
+ </Row>
278
+ <Row index="49">
279
+ <F>49</F>
280
+ <F>49</F>
281
+ <F>93931</F>
282
+ </Row>
283
+ <Row index="50">
284
+ <F>50</F>
285
+ <F>50</F>
286
+ <F>96984</F>
287
+ </Row>
288
+ <Row index="51">
289
+ <F>51</F>
290
+ <F>51</F>
291
+ <F>100867</F>
292
+ </Row>
293
+ <Row index="52">
294
+ <F>52</F>
295
+ <F>52</F>
296
+ <F>103237</F>
297
+ </Row>
298
+ <Row index="53">
299
+ <F>53</F>
300
+ <F>53</F>
301
+ <F>106788</F>
302
+ </Row>
303
+ <Row index="54">
304
+ <F>54</F>
305
+ <F>54</F>
306
+ <F>109252</F>
307
+ </Row>
308
+ <Row index="55">
309
+ <F>55</F>
310
+ <F>55</F>
311
+ <F>112052</F>
312
+ </Row>
313
+ <Row index="56">
314
+ <F>56</F>
315
+ <F>56</F>
316
+ <F>114646</F>
317
+ </Row>
318
+ <Row index="57">
319
+ <F>57</F>
320
+ <F>57</F>
321
+ <F>117138</F>
322
+ </Row>
323
+ <Row index="58">
324
+ <F>58</F>
325
+ <F>58</F>
326
+ <F>119729</F>
327
+ </Row>
328
+ <Row index="59">
329
+ <F>59</F>
330
+ <F>59</F>
331
+ <F>122182</F>
332
+ </Row>
333
+ <Row index="60">
334
+ <F>60</F>
335
+ <F>60</F>
336
+ <F>124174</F>
337
+ </Row>
338
+ <Row index="61">
339
+ <F>61</F>
340
+ <F>61</F>
341
+ <F>125710</F>
342
+ </Row>
343
+ <Row index="62">
344
+ <F>62</F>
345
+ <F>62</F>
346
+ <F>127851</F>
347
+ </Row>
348
+ <Row index="63">
349
+ <F>63</F>
350
+ <F>63</F>
351
+ <F>130934</F>
352
+ </Row>
353
+ <Row index="64">
354
+ <F>64</F>
355
+ <F>64</F>
356
+ <F>132192</F>
357
+ </Row>
358
+ <Row index="65">
359
+ <F>65</F>
360
+ <F>65</F>
361
+ <F>133811</F>
362
+ </Row>
363
+ <Row index="66">
364
+ <F>66</F>
365
+ <F>66</F>
366
+ <F>136083</F>
367
+ </Row>
368
+ <Row index="67">
369
+ <F>67</F>
370
+ <F>67</F>
371
+ <F>138192</F>
372
+ </Row>
373
+ <Row index="68">
374
+ <F>68</F>
375
+ <F>68</F>
376
+ <F>139580</F>
377
+ </Row>
378
+ <Row index="69">
379
+ <F>69</F>
380
+ <F>69</F>
381
+ <F>140942</F>
382
+ </Row>
383
+ <Row index="70">
384
+ <F>70</F>
385
+ <F>70</F>
386
+ <F>142832</F>
387
+ </Row>
388
+ <Row index="71">
389
+ <F>71</F>
390
+ <F>71</F>
391
+ <F>143763</F>
392
+ </Row>
393
+ <Row index="72">
394
+ <F>72</F>
395
+ <F>72</F>
396
+ <F>145541</F>
397
+ </Row>
398
+ <Row index="73">
399
+ <F>73</F>
400
+ <F>73</F>
401
+ <F>146618</F>
402
+ </Row>
403
+ <Row index="74">
404
+ <F>74</F>
405
+ <F>74</F>
406
+ <F>147841</F>
407
+ </Row>
408
+ <Row index="75">
409
+ <F>75</F>
410
+ <F>75</F>
411
+ <F>149428</F>
412
+ </Row>
413
+ <Row index="76">
414
+ <F>76</F>
415
+ <F>76</F>
416
+ <F>149803</F>
417
+ </Row>
418
+ <Row index="77">
419
+ <F>77</F>
420
+ <F>77</F>
421
+ <F>150945</F>
422
+ </Row>
423
+ <Row index="78">
424
+ <F>78</F>
425
+ <F>78</F>
426
+ <F>151359</F>
427
+ </Row>
428
+ <Row index="79">
429
+ <F>79</F>
430
+ <F>79</F>
431
+ <F>152558</F>
432
+ </Row>
433
+ <Row index="80">
434
+ <F>80</F>
435
+ <F>80</F>
436
+ <F>153090</F>
437
+ </Row>
438
+ <Row index="81">
439
+ <F>81</F>
440
+ <F>81</F>
441
+ <F>152875</F>
442
+ </Row>
443
+ <Row index="82">
444
+ <F>82</F>
445
+ <F>82</F>
446
+ <F>154055</F>
447
+ </Row>
448
+ <Row index="83">
449
+ <F>83</F>
450
+ <F>83</F>
451
+ <F>154304</F>
452
+ </Row>
453
+ <Row index="84">
454
+ <F>84</F>
455
+ <F>84</F>
456
+ <F>154782</F>
457
+ </Row>
458
+ <Row index="85">
459
+ <F>85</F>
460
+ <F>85</F>
461
+ <F>154641</F>
462
+ </Row>
463
+ <Row index="86">
464
+ <F>86</F>
465
+ <F>86</F>
466
+ <F>155185</F>
467
+ </Row>
468
+ <Row index="87">
469
+ <F>87</F>
470
+ <F>87</F>
471
+ <F>156420</F>
472
+ </Row>
473
+ <Row index="88">
474
+ <F>88</F>
475
+ <F>88</F>
476
+ <F>155563</F>
477
+ </Row>
478
+ <Row index="89">
479
+ <F>89</F>
480
+ <F>89</F>
481
+ <F>156391</F>
482
+ </Row>
483
+ <Row index="90">
484
+ <F>90</F>
485
+ <F>90</F>
486
+ <F>156096</F>
487
+ </Row>
488
+ <Row index="91">
489
+ <F>91</F>
490
+ <F>91</F>
491
+ <F>156321</F>
492
+ </Row>
493
+ <Row index="92">
494
+ <F>92</F>
495
+ <F>92</F>
496
+ <F>157217</F>
497
+ </Row>
498
+ <Row index="93">
499
+ <F>93</F>
500
+ <F>93</F>
501
+ <F>156781</F>
502
+ </Row>
503
+ <Row index="94">
504
+ <F>94</F>
505
+ <F>94</F>
506
+ <F>156432</F>
507
+ </Row>
508
+ <Row index="95">
509
+ <F>95</F>
510
+ <F>95</F>
511
+ <F>156034</F>
512
+ </Row>
513
+ <Row index="96">
514
+ <F>96</F>
515
+ <F>96</F>
516
+ <F>157860</F>
517
+ </Row>
518
+ <Row index="97">
519
+ <F>97</F>
520
+ <F>97</F>
521
+ <F>157552</F>
522
+ </Row>
523
+ <Row index="98">
524
+ <F>98</F>
525
+ <F>98</F>
526
+ <F>157640</F>
527
+ </Row>
528
+ <Row index="99">
529
+ <F>99</F>
530
+ <F>99</F>
531
+ <F>157521</F>
532
+ </Row>
533
+ <Row index="100">
534
+ <F>100</F>
535
+ <F>100</F>
536
+ <F>157329</F>
537
+ </Row>
538
+ <Row index="101">
539
+ <F>101</F>
540
+ <F>101</F>
541
+ <F>157872</F>
542
+ </Row>
543
+ <Row index="102">
544
+ <F>102</F>
545
+ <F>102</F>
546
+ <F>157513</F>
547
+ </Row>
548
+ <Row index="103">
549
+ <F>103</F>
550
+ <F>103</F>
551
+ <F>157537</F>
552
+ </Row>
553
+ <Row index="104">
554
+ <F>104</F>
555
+ <F>104</F>
556
+ <F>157654</F>
557
+ </Row>
558
+ <Row index="105">
559
+ <F>105</F>
560
+ <F>105</F>
561
+ <F>157665</F>
562
+ </Row>
563
+ <Row index="106">
564
+ <F>106</F>
565
+ <F>106</F>
566
+ <F>157318</F>
567
+ </Row>
568
+ <Row index="107">
569
+ <F>107</F>
570
+ <F>107</F>
571
+ <F>157579</F>
572
+ </Row>
573
+ <Row index="108">
574
+ <F>108</F>
575
+ <F>108</F>
576
+ <F>156373</F>
577
+ </Row>
578
+ <Row index="109">
579
+ <F>109</F>
580
+ <F>109</F>
581
+ <F>157101</F>
582
+ </Row>
583
+ <Row index="110">
584
+ <F>110</F>
585
+ <F>110</F>
586
+ <F>155728</F>
587
+ </Row>
588
+ <Row index="111">
589
+ <F>111</F>
590
+ <F>111</F>
591
+ <F>156284</F>
592
+ </Row>
593
+ <Row index="112">
594
+ <F>112</F>
595
+ <F>112</F>
596
+ <F>156142</F>
597
+ </Row>
598
+ <Row index="113">
599
+ <F>113</F>
600
+ <F>113</F>
601
+ <F>155492</F>
602
+ </Row>
603
+ <Row index="114">
604
+ <F>114</F>
605
+ <F>114</F>
606
+ <F>154880</F>
607
+ </Row>
608
+ <Row index="115">
609
+ <F>115</F>
610
+ <F>115</F>
611
+ <F>154763</F>
612
+ </Row>
613
+ <Row index="116">
614
+ <F>116</F>
615
+ <F>116</F>
616
+ <F>155367</F>
617
+ </Row>
618
+ <Row index="117">
619
+ <F>117</F>
620
+ <F>117</F>
621
+ <F>155173</F>
622
+ </Row>
623
+ <Row index="118">
624
+ <F>118</F>
625
+ <F>118</F>
626
+ <F>154178</F>
627
+ </Row>
628
+ <Row index="119">
629
+ <F>119</F>
630
+ <F>119</F>
631
+ <F>154701</F>
632
+ </Row>
633
+ <Row index="120">
634
+ <F>120</F>
635
+ <F>120</F>
636
+ <F>154320</F>
637
+ </Row>
638
+ <Row index="121">
639
+ <F>121</F>
640
+ <F>121</F>
641
+ <F>153530</F>
642
+ </Row>
643
+ <Row index="122">
644
+ <F>122</F>
645
+ <F>122</F>
646
+ <F>153964</F>
647
+ </Row>
648
+ <Row index="123">
649
+ <F>123</F>
650
+ <F>123</F>
651
+ <F>152940</F>
652
+ </Row>
653
+ <Row index="124">
654
+ <F>124</F>
655
+ <F>124</F>
656
+ <F>153481</F>
657
+ </Row>
658
+ <Row index="125">
659
+ <F>125</F>
660
+ <F>125</F>
661
+ <F>153635</F>
662
+ </Row>
663
+ <Row index="126">
664
+ <F>126</F>
665
+ <F>126</F>
666
+ <F>153175</F>
667
+ </Row>
668
+ <Row index="127">
669
+ <F>127</F>
670
+ <F>127</F>
671
+ <F>153201</F>
672
+ </Row>
673
+ <Row index="128">
674
+ <F>128</F>
675
+ <F>128</F>
676
+ <F>152417</F>
677
+ </Row>
678
+ <Row index="129">
679
+ <F>129</F>
680
+ <F>129</F>
681
+ <F>153318</F>
682
+ </Row>
683
+ <Row index="130">
684
+ <F>130</F>
685
+ <F>130</F>
686
+ <F>152166</F>
687
+ </Row>
688
+ <Row index="131">
689
+ <F>131</F>
690
+ <F>131</F>
691
+ <F>152837</F>
692
+ </Row>
693
+ <Row index="132">
694
+ <F>132</F>
695
+ <F>132</F>
696
+ <F>153312</F>
697
+ </Row>
698
+ <Row index="133">
699
+ <F>133</F>
700
+ <F>133</F>
701
+ <F>152875</F>
702
+ </Row>
703
+ <Row index="134">
704
+ <F>134</F>
705
+ <F>134</F>
706
+ <F>151961</F>
707
+ </Row>
708
+ <Row index="135">
709
+ <F>135</F>
710
+ <F>135</F>
711
+ <F>152055</F>
712
+ </Row>
713
+ <Row index="136">
714
+ <F>136</F>
715
+ <F>136</F>
716
+ <F>152306</F>
717
+ </Row>
718
+ <Row index="137">
719
+ <F>137</F>
720
+ <F>137</F>
721
+ <F>152419</F>
722
+ </Row>
723
+ <Row index="138">
724
+ <F>138</F>
725
+ <F>138</F>
726
+ <F>152522</F>
727
+ </Row>
728
+ <Row index="139">
729
+ <F>139</F>
730
+ <F>139</F>
731
+ <F>152957</F>
732
+ </Row>
733
+ <Row index="140">
734
+ <F>140</F>
735
+ <F>140</F>
736
+ <F>152668</F>
737
+ </Row>
738
+ <Row index="141">
739
+ <F>141</F>
740
+ <F>141</F>
741
+ <F>152173</F>
742
+ </Row>
743
+ <Row index="142">
744
+ <F>142</F>
745
+ <F>142</F>
746
+ <F>152619</F>
747
+ </Row>
748
+ <Row index="143">
749
+ <F>143</F>
750
+ <F>143</F>
751
+ <F>153383</F>
752
+ </Row>
753
+ <Row index="144">
754
+ <F>144</F>
755
+ <F>144</F>
756
+ <F>153496</F>
757
+ </Row>
758
+ <Row index="145">
759
+ <F>145</F>
760
+ <F>145</F>
761
+ <F>153455</F>
762
+ </Row>
763
+ <Row index="146">
764
+ <F>146</F>
765
+ <F>146</F>
766
+ <F>153987</F>
767
+ </Row>
768
+ <Row index="147">
769
+ <F>147</F>
770
+ <F>147</F>
771
+ <F>154259</F>
772
+ </Row>
773
+ <Row index="148">
774
+ <F>148</F>
775
+ <F>148</F>
776
+ <F>153544</F>
777
+ </Row>
778
+ <Row index="149">
779
+ <F>149</F>
780
+ <F>149</F>
781
+ <F>153990</F>
782
+ </Row>
783
+ <Row index="150">
784
+ <F>150</F>
785
+ <F>150</F>
786
+ <F>154548</F>
787
+ </Row>
788
+ <Row index="151">
789
+ <F>151</F>
790
+ <F>151</F>
791
+ <F>154675</F>
792
+ </Row>
793
+ <Row index="152">
794
+ <F>152</F>
795
+ <F>152</F>
796
+ <F>154276</F>
797
+ </Row>
798
+ <Row index="153">
799
+ <F>153</F>
800
+ <F>153</F>
801
+ <F>154106</F>
802
+ </Row>
803
+ <Row index="154">
804
+ <F>154</F>
805
+ <F>154</F>
806
+ <F>154211</F>
807
+ </Row>
808
+ <Row index="155">
809
+ <F>155</F>
810
+ <F>155</F>
811
+ <F>154371</F>
812
+ </Row>
813
+ <Row index="156">
814
+ <F>156</F>
815
+ <F>156</F>
816
+ <F>155014</F>
817
+ </Row>
818
+ <Row index="157">
819
+ <F>157</F>
820
+ <F>157</F>
821
+ <F>155307</F>
822
+ </Row>
823
+ <Row index="158">
824
+ <F>158</F>
825
+ <F>158</F>
826
+ <F>155145</F>
827
+ </Row>
828
+ <Row index="159">
829
+ <F>159</F>
830
+ <F>159</F>
831
+ <F>154857</F>
832
+ </Row>
833
+ <Row index="160">
834
+ <F>160</F>
835
+ <F>160</F>
836
+ <F>155417</F>
837
+ </Row>
838
+ <Row index="161">
839
+ <F>161</F>
840
+ <F>161</F>
841
+ <F>155393</F>
842
+ </Row>
843
+ <Row index="162">
844
+ <F>162</F>
845
+ <F>162</F>
846
+ <F>155351</F>
847
+ </Row>
848
+ <Row index="163">
849
+ <F>163</F>
850
+ <F>163</F>
851
+ <F>155473</F>
852
+ </Row>
853
+ <Row index="164">
854
+ <F>164</F>
855
+ <F>164</F>
856
+ <F>155964</F>
857
+ </Row>
858
+ <Row index="165">
859
+ <F>165</F>
860
+ <F>165</F>
861
+ <F>155662</F>
862
+ </Row>
863
+ <Row index="166">
864
+ <F>166</F>
865
+ <F>166</F>
866
+ <F>155873</F>
867
+ </Row>
868
+ <Row index="167">
869
+ <F>167</F>
870
+ <F>167</F>
871
+ <F>156082</F>
872
+ </Row>
873
+ <Row index="168">
874
+ <F>168</F>
875
+ <F>168</F>
876
+ <F>156606</F>
877
+ </Row>
878
+ <Row index="169">
879
+ <F>169</F>
880
+ <F>169</F>
881
+ <F>156449</F>
882
+ </Row>
883
+ <Row index="170">
884
+ <F>170</F>
885
+ <F>170</F>
886
+ <F>156912</F>
887
+ </Row>
888
+ <Row index="171">
889
+ <F>171</F>
890
+ <F>171</F>
891
+ <F>156733</F>
892
+ </Row>
893
+ <Row index="172">
894
+ <F>172</F>
895
+ <F>172</F>
896
+ <F>156206</F>
897
+ </Row>
898
+ <Row index="173">
899
+ <F>173</F>
900
+ <F>173</F>
901
+ <F>156864</F>
902
+ </Row>
903
+ <Row index="174">
904
+ <F>174</F>
905
+ <F>174</F>
906
+ <F>156298</F>
907
+ </Row>
908
+ <Row index="175">
909
+ <F>175</F>
910
+ <F>175</F>
911
+ <F>156362</F>
912
+ </Row>
913
+ <Row index="176">
914
+ <F>176</F>
915
+ <F>176</F>
916
+ <F>155822</F>
917
+ </Row>
918
+ <Row index="177">
919
+ <F>177</F>
920
+ <F>177</F>
921
+ <F>156386</F>
922
+ </Row>
923
+ <Row index="178">
924
+ <F>178</F>
925
+ <F>178</F>
926
+ <F>156028</F>
927
+ </Row>
928
+ <Row index="179">
929
+ <F>179</F>
930
+ <F>179</F>
931
+ <F>155728</F>
932
+ </Row>
933
+ <Row index="180">
934
+ <F>180</F>
935
+ <F>180</F>
936
+ <F>155711</F>
937
+ </Row>
938
+ <Row index="181">
939
+ <F>181</F>
940
+ <F>181</F>
941
+ <F>155323</F>
942
+ </Row>
943
+ <Row index="182">
944
+ <F>182</F>
945
+ <F>182</F>
946
+ <F>154659</F>
947
+ </Row>
948
+ <Row index="183">
949
+ <F>183</F>
950
+ <F>183</F>
951
+ <F>154759</F>
952
+ </Row>
953
+ <Row index="184">
954
+ <F>184</F>
955
+ <F>184</F>
956
+ <F>153823</F>
957
+ </Row>
958
+ <Row index="185">
959
+ <F>185</F>
960
+ <F>185</F>
961
+ <F>153810</F>
962
+ </Row>
963
+ <Row index="186">
964
+ <F>186</F>
965
+ <F>186</F>
966
+ <F>152933</F>
967
+ </Row>
968
+ <Row index="187">
969
+ <F>187</F>
970
+ <F>187</F>
971
+ <F>152119</F>
972
+ </Row>
973
+ <Row index="188">
974
+ <F>188</F>
975
+ <F>188</F>
976
+ <F>150735</F>
977
+ </Row>
978
+ <Row index="189">
979
+ <F>189</F>
980
+ <F>189</F>
981
+ <F>150514</F>
982
+ </Row>
983
+ <Row index="190">
984
+ <F>190</F>
985
+ <F>190</F>
986
+ <F>151180</F>
987
+ </Row>
988
+ <Row index="191">
989
+ <F>191</F>
990
+ <F>191</F>
991
+ <F>149204</F>
992
+ </Row>
993
+ <Row index="192">
994
+ <F>192</F>
995
+ <F>192</F>
996
+ <F>148955</F>
997
+ </Row>
998
+ <Row index="193">
999
+ <F>193</F>
1000
+ <F>193</F>
1001
+ <F>148500</F>
1002
+ </Row>
1003
+ <Row index="194">
1004
+ <F>194</F>
1005
+ <F>194</F>
1006
+ <F>148337</F>
1007
+ </Row>
1008
+ <Row index="195">
1009
+ <F>195</F>
1010
+ <F>195</F>
1011
+ <F>147536</F>
1012
+ </Row>
1013
+ <Row index="196">
1014
+ <F>196</F>
1015
+ <F>196</F>
1016
+ <F>145110</F>
1017
+ </Row>
1018
+ <Row index="197">
1019
+ <F>197</F>
1020
+ <F>197</F>
1021
+ <F>144717</F>
1022
+ </Row>
1023
+ <Row index="198">
1024
+ <F>198</F>
1025
+ <F>198</F>
1026
+ <F>144377</F>
1027
+ </Row>
1028
+ <Row index="199">
1029
+ <F>199</F>
1030
+ <F>199</F>
1031
+ <F>142195</F>
1032
+ </Row>
1033
+ <Row index="200">
1034
+ <F>200</F>
1035
+ <F>200</F>
1036
+ <F>140706</F>
1037
+ </Row>
1038
+ <Row index="201">
1039
+ <F>201</F>
1040
+ <F>201</F>
1041
+ <F>139036</F>
1042
+ </Row>
1043
+ <Row index="202">
1044
+ <F>202</F>
1045
+ <F>202</F>
1046
+ <F>137220</F>
1047
+ </Row>
1048
+ <Row index="203">
1049
+ <F>203</F>
1050
+ <F>203</F>
1051
+ <F>136406</F>
1052
+ </Row>
1053
+ <Row index="204">
1054
+ <F>204</F>
1055
+ <F>204</F>
1056
+ <F>133645</F>
1057
+ </Row>
1058
+ <Row index="205">
1059
+ <F>205</F>
1060
+ <F>205</F>
1061
+ <F>131740</F>
1062
+ </Row>
1063
+ <Row index="206">
1064
+ <F>206</F>
1065
+ <F>206</F>
1066
+ <F>130435</F>
1067
+ </Row>
1068
+ <Row index="207">
1069
+ <F>207</F>
1070
+ <F>207</F>
1071
+ <F>128338</F>
1072
+ </Row>
1073
+ <Row index="208">
1074
+ <F>208</F>
1075
+ <F>208</F>
1076
+ <F>125215</F>
1077
+ </Row>
1078
+ <Row index="209">
1079
+ <F>209</F>
1080
+ <F>209</F>
1081
+ <F>123368</F>
1082
+ </Row>
1083
+ <Row index="210">
1084
+ <F>210</F>
1085
+ <F>210</F>
1086
+ <F>120268</F>
1087
+ </Row>
1088
+ <Row index="211">
1089
+ <F>211</F>
1090
+ <F>211</F>
1091
+ <F>118708</F>
1092
+ </Row>
1093
+ <Row index="212">
1094
+ <F>212</F>
1095
+ <F>212</F>
1096
+ <F>116241</F>
1097
+ </Row>
1098
+ <Row index="213">
1099
+ <F>213</F>
1100
+ <F>213</F>
1101
+ <F>113127</F>
1102
+ </Row>
1103
+ <Row index="214">
1104
+ <F>214</F>
1105
+ <F>214</F>
1106
+ <F>110027</F>
1107
+ </Row>
1108
+ <Row index="215">
1109
+ <F>215</F>
1110
+ <F>215</F>
1111
+ <F>107172</F>
1112
+ </Row>
1113
+ <Row index="216">
1114
+ <F>216</F>
1115
+ <F>216</F>
1116
+ <F>104290</F>
1117
+ </Row>
1118
+ <Row index="217">
1119
+ <F>217</F>
1120
+ <F>217</F>
1121
+ <F>100750</F>
1122
+ </Row>
1123
+ <Row index="218">
1124
+ <F>218</F>
1125
+ <F>218</F>
1126
+ <F>97057</F>
1127
+ </Row>
1128
+ <Row index="219">
1129
+ <F>219</F>
1130
+ <F>219</F>
1131
+ <F>93903</F>
1132
+ </Row>
1133
+ <Row index="220">
1134
+ <F>220</F>
1135
+ <F>220</F>
1136
+ <F>90560</F>
1137
+ </Row>
1138
+ <Row index="221">
1139
+ <F>221</F>
1140
+ <F>221</F>
1141
+ <F>86745</F>
1142
+ </Row>
1143
+ <Row index="222">
1144
+ <F>222</F>
1145
+ <F>222</F>
1146
+ <F>82741</F>
1147
+ </Row>
1148
+ <Row index="223">
1149
+ <F>223</F>
1150
+ <F>223</F>
1151
+ <F>79630</F>
1152
+ </Row>
1153
+ <Row index="224">
1154
+ <F>224</F>
1155
+ <F>224</F>
1156
+ <F>76078</F>
1157
+ </Row>
1158
+ <Row index="225">
1159
+ <F>225</F>
1160
+ <F>225</F>
1161
+ <F>71940</F>
1162
+ </Row>
1163
+ <Row index="226">
1164
+ <F>226</F>
1165
+ <F>226</F>
1166
+ <F>68229</F>
1167
+ </Row>
1168
+ <Row index="227">
1169
+ <F>227</F>
1170
+ <F>227</F>
1171
+ <F>64614</F>
1172
+ </Row>
1173
+ <Row index="228">
1174
+ <F>228</F>
1175
+ <F>228</F>
1176
+ <F>61846</F>
1177
+ </Row>
1178
+ <Row index="229">
1179
+ <F>229</F>
1180
+ <F>229</F>
1181
+ <F>57705</F>
1182
+ </Row>
1183
+ <Row index="230">
1184
+ <F>230</F>
1185
+ <F>230</F>
1186
+ <F>54433</F>
1187
+ </Row>
1188
+ <Row index="231">
1189
+ <F>231</F>
1190
+ <F>231</F>
1191
+ <F>50757</F>
1192
+ </Row>
1193
+ <Row index="232">
1194
+ <F>232</F>
1195
+ <F>232</F>
1196
+ <F>47755</F>
1197
+ </Row>
1198
+ <Row index="233">
1199
+ <F>233</F>
1200
+ <F>233</F>
1201
+ <F>44947</F>
1202
+ </Row>
1203
+ <Row index="234">
1204
+ <F>234</F>
1205
+ <F>234</F>
1206
+ <F>41786</F>
1207
+ </Row>
1208
+ <Row index="235">
1209
+ <F>235</F>
1210
+ <F>235</F>
1211
+ <F>38862</F>
1212
+ </Row>
1213
+ <Row index="236">
1214
+ <F>236</F>
1215
+ <F>236</F>
1216
+ <F>35495</F>
1217
+ </Row>
1218
+ <Row index="237">
1219
+ <F>237</F>
1220
+ <F>237</F>
1221
+ <F>32382</F>
1222
+ </Row>
1223
+ <Row index="238">
1224
+ <F>238</F>
1225
+ <F>238</F>
1226
+ <F>29976</F>
1227
+ </Row>
1228
+ <Row index="239">
1229
+ <F>239</F>
1230
+ <F>239</F>
1231
+ <F>27344</F>
1232
+ </Row>
1233
+ <Row index="240">
1234
+ <F>240</F>
1235
+ <F>240</F>
1236
+ <F>24284</F>
1237
+ </Row>
1238
+ <Row index="241">
1239
+ <F>241</F>
1240
+ <F>241</F>
1241
+ <F>22315</F>
1242
+ </Row>
1243
+ <Row index="242">
1244
+ <F>242</F>
1245
+ <F>242</F>
1246
+ <F>19728</F>
1247
+ </Row>
1248
+ <Row index="243">
1249
+ <F>243</F>
1250
+ <F>243</F>
1251
+ <F>17279</F>
1252
+ </Row>
1253
+ <Row index="244">
1254
+ <F>244</F>
1255
+ <F>244</F>
1256
+ <F>14871</F>
1257
+ </Row>
1258
+ <Row index="245">
1259
+ <F>245</F>
1260
+ <F>245</F>
1261
+ <F>12985</F>
1262
+ </Row>
1263
+ <Row index="246">
1264
+ <F>246</F>
1265
+ <F>246</F>
1266
+ <F>11018</F>
1267
+ </Row>
1268
+ <Row index="247">
1269
+ <F>247</F>
1270
+ <F>247</F>
1271
+ <F>9336</F>
1272
+ </Row>
1273
+ <Row index="248">
1274
+ <F>248</F>
1275
+ <F>248</F>
1276
+ <F>8140</F>
1277
+ </Row>
1278
+ <Row index="249">
1279
+ <F>249</F>
1280
+ <F>249</F>
1281
+ <F>7297</F>
1282
+ </Row>
1283
+ <Row index="250">
1284
+ <F>250</F>
1285
+ <F>250</F>
1286
+ <F>6291</F>
1287
+ </Row>
1288
+ <Row index="251">
1289
+ <F>251</F>
1290
+ <F>251</F>
1291
+ <F>5966</F>
1292
+ </Row>
1293
+ <Row index="252">
1294
+ <F>252</F>
1295
+ <F>252</F>
1296
+ <F>5854</F>
1297
+ </Row>
1298
+ <Row index="253">
1299
+ <F>253</F>
1300
+ <F>253</F>
1301
+ <F>5679</F>
1302
+ </Row>
1303
+ <Row index="254">
1304
+ <F>254</F>
1305
+ <F>254</F>
1306
+ <F>7113</F>
1307
+ </Row>
1308
+ <Row index="255">
1309
+ <F>255</F>
1310
+ <F>255</F>
1311
+ <F>25255</F>
1312
+ </Row>
1313
+ </GDALRasterAttributeTable>
1314
+ </PAMRasterBand>
1315
+ </PAMDataset>