-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathswgap_prep.rtf
More file actions
280 lines (280 loc) · 41.7 KB
/
swgap_prep.rtf
File metadata and controls
280 lines (280 loc) · 41.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
{\rtf1\ansi\ansicpg1252\deff0
{\fonttbl
{\f0\fnil\fcharset0\fprq0\fttruetype Times New Roman;}
{\f1\fnil\fcharset0\fprq0\fttruetype DejaVu Sans;}
{\f2\fnil\fcharset0\fprq0\fttruetype Dingbats;}
{\f3\fnil\fcharset0\fprq0\fttruetype Symbol;}
{\f4\fnil\fcharset0\fprq0\fttruetype Courier New;}}
{\colortbl
\red0\green0\blue0;
\red255\green255\blue255;}
{\stylesheet
{\s1\fi-429\li720\sbasedon29\snext29Contents 1;}
{\s2\fi-429\li1440\sbasedon29\snext29Contents 2;}
{\s3\fi-429\li2160\sbasedon29\snext29Contents 3;}
{\s8\fi-429\li720\sbasedon29Lower Roman List;}
{\s5\tx431\sbasedon25\snext29Numbered Heading 1;}
{\s6\tx431\sbasedon26\snext29Numbered Heading 2;}
{\s7\fi-429\li720Square List;}
{\*\cs11\sbasedon29Endnote Text;}
{\s4\fi-429\li2880\sbasedon29\snext29Contents 4;}
{\s9\fi-429\li720Diamond List;}
{\s10\fi-429\li720Numbered List;}
{\*\cs12\fs20\superEndnote Reference;}
{\s13\fi-429\li720Triangle List;}
{\s14\tx431\sbasedon27\snext29Numbered Heading 3;}
{\s15\fi-429\li720Dashed List;}
{\s16\fi-429\li720\sbasedon10Upper Roman List;}
{\s17\sb440\sa60\f1\fs24\b\sbasedon29\snext29Heading 4;}
{\s18\fi-429\li720Heart List;}
{\s35\fi-429\li720Box List;}
{\*\cs20\fs20Reference;}
{\s21\fi-429\li720\sbasedon10Upper Case List;}
{\s22\fi-429\li720Bullet List;}
{\s23\fi-429\li720Hand List;}
{\*\cs24\fs20\sbasedon29Footnote Text;}
{\s25\sb440\sa60\f1\fs34\b\sbasedon29\snext29Heading 1;}
{\s26\sb440\sa60\f1\fs28\b\sbasedon29\snext29Heading 2;}
{\s19\qc\sb240\sa118\f1\fs32\b\sbasedon29\snext29Contents Header;}
{\s28\fi-429\li720Tick List;}
{\s27\sb440\sa60\f1\fs24\b\sbasedon29\snext29Heading 3;}
{\s30\fi-429\li720\sbasedon10Lower Case List;}
{\s31\li1440\ri1440\sa118\sbasedon29Block Text;}
{\s37\f4\sbasedon29Plain Text;}
{\s33\tx1584\sbasedon5\snext29Section Heading;}
{\s34\fi-429\li720Implies List;}
{\s29\f0\fs24\lang1033Normal;}
{\s36\fi-429\li720Star List;}
{\*\cs32\fs20\superFootnote Reference;}
{\s38\tx1584\sbasedon5\snext29Chapter Heading;}}
\kerning0\cf0\ftnbj\fet2\ftnstart1\ftnnar\aftnnar\ftnstart1\aftnstart1\aenddoc\revprop3{\info\uc1}\deftab720\viewkind1\paperw12240\paperh15840\margl1440\margr1440\widowctrl
\sectd\sbknone\colsx360\pgncont\ltrsect
\pard\plain\ltrpar\qc\s29\sl240\slmult1\itap0{\s29\f0\fs32\lang1033{\*\listtag0}\abinodiroverride\ltrch SWGAP Project Data Preparation}{\s29\f0\fs32\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs32\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch I will review here the import of SWGAP data into the project for use by the web site.That is to say, how was the data imported into GRASS (raster data) and Postgresql (vector data).}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\qc\s29\sl240\slmult1\itap0{\s29\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch GRASS Import}{\s29\f0\fs24\b\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\b\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The first step in importing the data into GRASS is creation of a location for the data which involves entering the projection parameters and spatial extents. Here is the output of the g.region -p and g.proj -p commands for this location:}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch projection: 99 (Albers Equal Area)}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch zone: 0}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch datum: nad83}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch ellipsoid: grs80}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch north: 2368086.72}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch south: 990906.72}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch west: -2127517.2}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch east: -502267.25}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch nsres: 30}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch ewres: 29.99999908}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch rows: 45906}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch cols: 54175}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch cells: 2486957550}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch name : Albers Equal Area}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch datum : nad83}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch towgs84 : 0.000,0.000,0.000}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch proj : aea}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch ellps : grs80}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch a : 6378137.0000000000}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch es : 0.0066943800}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch f : 298.2572221010}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch lat_0 : 23.0000000000}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch lat_1 : 29.5000000000}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch lat_2 : 45.5000000000}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch lon_0 : -96.0000000000}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch x_0 : 0.0000000000}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch y_0 : 0.0000000000}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch -PROJ_UNITS------------------------------------------------}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch unit : meter}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch units : meters}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch meters : 1.0}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The import of the land cover and stewardship rasters and ecosystem mask were done at the GRASS command line using r.in.gdal, r.reclass, and r.colors. There are some files in the /var/www/html/swgap/grass directory that can be useful for this. The predicted distribution rasters were located in several directories on the SWGAP ftp server, which I downloaded to metacomet. These files were zipped and we found that if they were all unzipped at once it used all available disk space. The script I wrote for GRASS import unzipped one file at a time, imported into GRASS, and deleted the unzipped data. This worked fine, except that with approximately 850 species it was taking too long to run. The final script was run on 4 different directories simultaneously, and still took close to 2 weeks to finish.}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch #import os, commands}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch import glob}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch import string}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch import os}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.putenv("GISBASE", "/usr/local/grass-6.2.1")}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.putenv("GISRC", "/data2/grassrc")}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.putenv("PATH", "/usr/local/grass-6.2.1/bin:/usr/local/grass-6.2.1/scripts:/usr/local/bin:/usr/bin:/bin")}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch mylist = glob.glob('/data2/swtemp3/*.zip')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch for a in mylist:}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch #b = string.split(a, '_')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch #c = string.split(b[0], '/')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system('unzip -d /data2/swtemp3/ ' + a)}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch }{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch myfile = glob.glob('/data2/swtemp3/*.img')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch b = string.split(myfile[0], '.')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch c = string.split(b[0], '/')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch }{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch command1 = "r.in.gdal input=%s output=i_%s" % (myfile[0] , c[3])}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch print command1}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system(command1)}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system('chmod 777 /data2/swtemp3/*.gmd; rm /data2/swtemp3/*.gmd')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system('chmod 777 /data2/swtemp3/*.ige; rm /data2/swtemp3/*.ige') }{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system('chmod 777 /data2/swtemp3/*.img; rm /data2/swtemp3/*.img')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system('chmod 777 /data2/swtemp3/*.rrd; rm /data2/swtemp3/*.rrd')}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch }{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch command2 = "cat /home/grassmonkey/sw_pd_recl | r.reclass input=i_%s output=r_%s" % (c[3], c[3])}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch print command2}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system(command2)}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch command3 = "r.mapcalc 'pd_%s=r_%s * swmask'" % (c[3], c[3])}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch print command3}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system(command3)}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch command4 = "g.remove rast=r_%s" % c[3]}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch print command4}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system(command4)}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch command5 = "g.remove rast=i_%s" % c[3]}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch print command5}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system(command5)}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch command6 = "cat /home/grassmonkey/pd_color | r.colors map=pd_%s color=rules" % c[3]}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch print command6}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch os.system(command6)}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The contents of the file /home/grassmonkey/sw_pd_recl translated the range coding (see http://fws-nmcfwru.nmsu.edu/swregap/habitatreview/RangeCoding.htm) to 0s and 1s and is:}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 0 61 62 69 = 0}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch * = 1}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The rasters supplied with itis codes -1, -2, and -3 were converted to 990001, 990002, and 990003. }{\s29\f0\fs24\lang1033{\*\listtag0}Additionally, some of the rasters were non-standard, i.e. the name did not match the itis code. For these instances we created a database table which currently has the following entries:}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch itiscode | raster}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch ----------+----------------}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 173663 | pd_173663_mtn}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 176177 | pd_176177breed}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 176221 | pd_176221breed}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 177935 | pd_177935f}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 179223 | pd_179223b}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 180010 | pd_180010cliff}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 180198 | pd_180198_mtn}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 550236 | pd_550236ply}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 174169 | pd_nodata}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\qc\s29\sl240\slmult1\itap0{\s29\f0\fs24\b\lang1033{\*\listtag0}\abinodiroverride\ltrch Database Import}{\s29\f0\fs24\b\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\qc\s29\sl240\slmult1\itap0{\s29\f0\fs24\b\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\b\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Import of non spatial data is done with SQL create table and copy commands. The southwest GAP projection does not have a EPSG code, so when importing spatial data a file was used which contained this text. }{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch PROJCS["USA_Contiguous_Albers_Equal_Area_Conic_USGS_version",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["longitude_of_center",-96.0],PARAMETER["Standard_Parallel_1",29.5],PARAMETER["Standard_Parallel_2",45.5],PARAMETER["latitude_of_center",23.0],UNIT["Meter",1.0]]}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch This projection was assigned the srid in postgis of 32769, and this text can be retrieved with the query:}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch select srtext from spatial_ref_sys where srid = 32769;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Layers were used that were taken from http://www.nationalatlas.gov, and were found to have no projection, so we first needed to create new shapefiles which were assigned a projection with ogr2ogr which was:}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4269"]]}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The command such as }{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch ogr2ogr -f "PostgreSQL" -nln sw_states_test -nlt MULTIPOLYGON -t_srs /home/grassmonkey/sw_proj_32769 PG:dbname=swgap statesp020.shp}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch will then properly import the shapefile into the database. If this layer is to be used to create AOI you need to check that it is created with srid value 32769. Several different scripts were then used to remove features of the layer that were not in the southwest. Here is an example.}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch CREATE OR REPLACE FUNCTION sewtshd() returns void as $$}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch DECLARE}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch i record;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch j record;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch num integer;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch my_geom1 geometry;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch my_geom2 geometry;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch my_area numeric(16,3);}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch BEGIN}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch SELECT INTO my_geom1 multi(wkb_geometry) from se_bnd where ogc_fid = 2;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch for i in select * from se_wtshds loop}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch if (intersects(my_geom1, i.wkb_geometry)) then}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch SELECT INTO my_geom2 multi(intersection(my_geom1, i.wkb_geometry));}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch update se_wtshds set wkb_geometry = multi(my_geom2) where ogc_fid = i.ogc_fid;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch else}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch delete from se_wtshds where ogc_fid = i.ogc_fid;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch end if;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch end loop;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Return;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch $$ LANGUAGE plpgsql;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch As in the ncgap project the stewardship table was rebuilt into 3 separate tables and the range_from_aoi table was built (see ncgap project data preparation notes). However, one difference was that the stewardship table was too large to create one entry for each category in the owner, management and status tables. The script looped through 150 polygons of the stewardship table and wrote that row to the table and then continued. Here is the script to build the ownership table.}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch CREATE OR REPLACE FUNCTION steward_man_temp() returns void as $$}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch DECLARE}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch i record;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch j record;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch k record;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch num integer;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch num_recs integer;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch loop_cnt integer;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch my_geom geometry;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch my_area numeric(16,3);}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch BEGIN}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch FOR i IN select distinct own_c_recl, own_desc from se_steward LOOP}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch FOR k IN select distinct state_fips, state_name from se_steward LOOP}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch if i.own_c_recl <> 22 and i.own_c_recl <> 23 and i.own_c_recl <> 24}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch then}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch select into num count(*) from se_steward where own_c_recl = i.own_c_recl and state_fips = k.state_fips;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch my_geom := NULL;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch RAISE NOTICE 'owner code is %, and state is % and count is % ', i.own_c_recl, k.state_fips, num;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch num_recs := 0;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch loop_cnt := 0;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch FOR j IN SELECT wkb_geometry, ogc_fid FROM se_steward WHERE own_c_recl = i.own_c_recl and state_fips = k.state_fips LOOP}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch if my_geom IS NULL}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch THEN}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch my_geom := j.wkb_geometry;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END IF;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch SELECT INTO my_geom multi((geomunion(my_geom, j.wkb_geometry)));}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch num_recs := num_recs + 1;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch RAISE NOTICE 'table se_owner row updated, ogc_fid is % mun records %', j.ogc_fid, num_recs;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch loop_cnt := loop_cnt + 1;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch if loop_cnt = 150}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch then}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch loop_cnt := 0;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch insert into se_owner(own_c_recl, own_desc, state_fips, state_name, wkb_geometry) values(i.own_c_recl, i.own_desc, k.state_fips, k.state_name, my_geom);}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch my_geom := null;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch end if;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END LOOP;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch insert into se_owner(own_c_recl, own_desc, state_fips, state_name, wkb_geometry) values(i.own_c_recl, i.own_desc, k.state_fips, k.state_name, my_geom);}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch --select into my_area area(my_geom);}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch --RAISE NOTICE 'table sw_owner updated, area is %', my_area;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch end if;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END LOOP;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END LOOP;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Return;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch $$ LANGUAGE plpgsql;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Here is an example for building the range_from_aoi table.}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch CREATE OR REPLACE FUNCTION range_cache() returns void as $$}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch DECLARE}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch i record;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch j record;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch rec_int boolean;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch BEGIN}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch FOR i IN select ogc_fid, wkb_geometry from sw_bcr LOOP}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch FOR j IN select ogc_fid, wkb_geometry from sw_wtshds_gap LOOP}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch select into rec_int intersects(i.wkb_geometry, j.wkb_geometry);}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch -- RAISE NOTICE 'range_ogc_fid % counties_ogc_fid % overlaps %', j.ogc_fid, i.ogc_fid, rec_int;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch if rec_int then}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch insert into range_from_aoi(sw_wtshds_gap_ogc_fid, sw_bcr_ogc_fid) values (j.ogc_fid, i.ogc_fid);}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch end if;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END LOOP;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END LOOP;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch END;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch $$ LANGUAGE plpgsql;}{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}
\pard\plain\ltrpar\ql\s29\sl240\slmult1\itap0{\s29\f0\fs24\lang1033{\*\listtag0}\par}}