1
|
<html><body style="background-color:yellow;">
|
2
|
<h1 style="text-align:center;"> CTFS to VegX conversion </h1>
|
3
|
|
4
|
<?php
|
5
|
$dbhost = 'localhost';
|
6
|
$dbuser = 's_sramteke';
|
7
|
$dbpass = 'S6a52mxX';
|
8
|
echo date("m/d/y :H:i:s",time());
|
9
|
$conn = mysql_connect($dbhost,$dbuser,$dbpass) or die ('Error');
|
10
|
|
11
|
$dbname = 's_sramteke';
|
12
|
mysql_select_db($dbname);
|
13
|
|
14
|
//$sql = "SELECT * FROM `DFtemp`";
|
15
|
//$result = mysql_query($sql);
|
16
|
|
17
|
$xmlHandle = fopen("new_Xml_CTFS_row.xml","w");
|
18
|
|
19
|
|
20
|
$writer = new XMLWriter();
|
21
|
$writer->openMemory();
|
22
|
$writer->setIndent(true);
|
23
|
$writer->setIndentString(" ");
|
24
|
$writer->startDocument('1.0', 'UTF-8');
|
25
|
|
26
|
$writer->startElement('vegX');
|
27
|
$writer->writeAttribute("xsi:noNamespaceSchemaLocation", "C:/Development/Utilities/LCR.Utilities.DataImport/LCR.Utilities.MappingTool/Resources/VEGX15~1.2/veg.xsd");
|
28
|
$writer->writeAttribute("xmlns:acc", "eml://ecoinformatics.org/access-2.0.1");
|
29
|
$writer->writeAttribute("xmlns:cov", "eml://ecoinformatics.org/coverage-2.0.1");
|
30
|
$writer->writeAttribute("xmlns:doc", "eml://ecoinformatics.org/documentation-2.0.1");
|
31
|
$writer->writeAttribute("xmlns:lit", "eml://ecoinformatics.org/literature-2.0.1");
|
32
|
$writer->writeAttribute("xmlns:party","eml://ecoinformatics.org/party-2.0.1");
|
33
|
$writer->writeAttribute("xmlns:proj","eml://ecoinformatics.org/project-2.0.1");
|
34
|
$writer->writeAttribute("xmlns:res","eml://ecoinformatics.org/resource-2.0.1");
|
35
|
$writer->writeAttribute("xmlns:txt","eml://ecoinformatics.org/text-2.0.1");
|
36
|
$writer->writeAttribute("xmlns:dwe","http://rs.tdwg.org/dwc/dwelement/");
|
37
|
$writer->writeAttribute("xmlns:dwg","http://rs.tdwg.org/dwc/geospatial/");
|
38
|
$writer->writeAttribute("xmlns:misc","http://www.bfn.de/misc-1.0.1");
|
39
|
$writer->writeAttribute("xmlns:org","http://www.bfn.de/organismobservation-1.0.1");
|
40
|
$writer->writeAttribute("xmlns:plot","http://www.bfn.de/plot-1.0.1");
|
41
|
$writer->writeAttribute("xmlns:obs","http://www.bfn.de/plotobservation-1.0.1");
|
42
|
$writer->writeAttribute("xmlns:tcs","http://www.tdwg.org/schemas/tcs/1.01");
|
43
|
$writer->writeAttribute("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");
|
44
|
$filename = "new_Xml_CTFS_row.xml";
|
45
|
|
46
|
$file = $writer->outputMemory();
|
47
|
|
48
|
file_put_contents($filename,$file);
|
49
|
|
50
|
$i=0;
|
51
|
|
52
|
/*while($row = mysql_fetch_row($result))
|
53
|
{
|
54
|
$writer->startElement('projects');
|
55
|
|
56
|
$writer->startElement('project');
|
57
|
$writer->writeElement('title','Project 1');
|
58
|
$writer->endElement();
|
59
|
$writer->endElement();
|
60
|
|
61
|
|
62
|
}*/
|
63
|
|
64
|
$sql = "SELECT distinct `PlotID`, `Plot`, `QuadratID`, `QuadratName`, `gx`, `gy` FROM `DFtemp` WHERE plot = 'bci'";
|
65
|
|
66
|
$result = mysql_query($sql);
|
67
|
$writer->startElement('plots');
|
68
|
|
69
|
while($row = mysql_fetch_row($result))
|
70
|
{
|
71
|
|
72
|
$writer->startElement('plot');
|
73
|
$writer->writeElement('plotUniqueIdentifier',$row[0]);
|
74
|
$writer->writeElement('plotName',$row[1]);
|
75
|
|
76
|
$writer->startElement('geospatial');
|
77
|
$writer->writeElement('dwg:VerbatimLatitude',$row[4]);
|
78
|
$writer->writeElement('dwg:VerbatimLongitude',$row[5]);
|
79
|
$writer->endElement();
|
80
|
|
81
|
$writer->endElement();
|
82
|
|
83
|
$writer->startElement('plot');
|
84
|
$writer->writeElement('plotUniqueIdentifier',$row[2]);
|
85
|
$writer->writeElement('plotName',$row[3]);
|
86
|
|
87
|
$writer->startElement('relatedPlot');
|
88
|
$writer->startElement('relatedPlot');
|
89
|
$writer->writeElement('relatedPlotID',$row[0]);
|
90
|
$writer->writeElement('plotRelationship',"Quadrant");
|
91
|
$writer->endElement();
|
92
|
$writer->endElement();
|
93
|
$writer->endElement();
|
94
|
$i++;
|
95
|
|
96
|
if($i == 1000)
|
97
|
{
|
98
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
99
|
$i = 0;
|
100
|
}
|
101
|
}
|
102
|
$writer->endElement();
|
103
|
|
104
|
file_put_contents($filename, $writer->flush(true), FILE_APPEND);
|
105
|
|
106
|
$i=0;
|
107
|
|
108
|
$sql = "select MeasureID,CensusID,QuadratID, PlotCensusNumber, ExactDate,PLotID FROM `DFtemp` WHERE plot = 'bci'";
|
109
|
$result = mysql_query($sql);
|
110
|
|
111
|
$writer->startElement('plotObservations');
|
112
|
while($row = mysql_fetch_row($result))
|
113
|
{
|
114
|
$writer->startElement('plotObservation');
|
115
|
$writer->writeAttribute("id",$row[0]);
|
116
|
$writer->writeElement('plotUniqueIdentifierID',$row[5]);
|
117
|
$writer->writeElement('obsStartDate',$row[4]);
|
118
|
$writer->startElement('simpleUserdefined');
|
119
|
$writer->writeElement('name',"CensusID");
|
120
|
$writer->writeElement('value',$row[1]);
|
121
|
$writer->writeElement('methodID',"CensusID");
|
122
|
$writer->endElement();
|
123
|
$writer->endElement();
|
124
|
|
125
|
$writer->startElement('plotObservation');
|
126
|
$writer->writeAttribute("id",$row[2]);
|
127
|
$writer->writeElement('plotUniqueIdentifierID',$row[2]);
|
128
|
$writer->writeElement('obsStartDate',$row[4]);
|
129
|
$writer->startElement('simpleUserdefined');
|
130
|
$writer->writeElement('name',"CensusID");
|
131
|
$writer->writeElement('value',$row[1]);
|
132
|
$writer->writeElement('methodID',"CensusID");
|
133
|
$writer->endElement();
|
134
|
$writer->endElement();
|
135
|
|
136
|
$i++;
|
137
|
|
138
|
if($i == 1000)
|
139
|
{
|
140
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
141
|
$i = 0;
|
142
|
}
|
143
|
|
144
|
}
|
145
|
$writer->endElement();
|
146
|
|
147
|
file_put_contents($filename, $writer->flush(true), FILE_APPEND);
|
148
|
|
149
|
$i=0;
|
150
|
|
151
|
$sql = " select Genus,Family,SpeciesName,GenusSpecies,SpeciesID,Mnemonic FROM `DFtemp` WHERE plot = 'bci'";
|
152
|
|
153
|
$result = mysql_query($sql);
|
154
|
$writer->startElement('taxonConcepts');
|
155
|
while($row = mysql_fetch_row($result))
|
156
|
{
|
157
|
$writer->startElement('taxonConcept');
|
158
|
$writer->writeAttribute("id",$row[0]);
|
159
|
$writer->writeElement('tcs:Name',$row[0]);
|
160
|
$writer->writeAttribute("scientific","false");
|
161
|
//$writer->endElement();
|
162
|
$writer->writeElement('tcs:Rank',"Genus");
|
163
|
$writer->endElement();
|
164
|
|
165
|
$writer->startElement('taxonConcept');
|
166
|
$writer->writeAttribute("id",$row[1]);
|
167
|
$writer->writeElement('tcs:Name',$row[1]);
|
168
|
$writer->writeAttribute("scientific","false");
|
169
|
//$writer->endElement();
|
170
|
$writer->writeElement('tcs:Rank',"Family");
|
171
|
|
172
|
$writer->startElement('tcs:TaxonRelationships');
|
173
|
$writer->startElement('tcs:TaxonRelationship');
|
174
|
$writer->writeAttribute("type","is child taxon of");
|
175
|
$writer->writeElement('tcs:ToTaxonConcept',$row[0]);
|
176
|
$writer->endElement();
|
177
|
$writer->endElement();
|
178
|
$writer->endElement();
|
179
|
|
180
|
$writer->startElement('taxonConcept');
|
181
|
$writer->writeAttribute("id",$row[2]);
|
182
|
$writer->startElement('tcs:Name');
|
183
|
$writer->startAttribute("scientific");
|
184
|
$writer->text("false");
|
185
|
$writer->endAttribute();
|
186
|
$writer->text($row[2]);
|
187
|
$writer->endElement();
|
188
|
$writer->writeElement('tcs:Rank',"Species");
|
189
|
|
190
|
$writer->startElement('tcs:TaxonRelationships');
|
191
|
$writer->startElement('tcs:TaxonRelationship');
|
192
|
$writer->writeAttribute("type","is child taxon of");
|
193
|
$writer->writeElement('tcs:ToTaxonConcept',$row[0]);
|
194
|
$writer->endElement();
|
195
|
$writer->startElement('tcs:TaxonRelationship');
|
196
|
$writer->writeAttribute("type","is child taxon of");
|
197
|
$writer->writeElement('tcs:ToTaxonConcept',$row[1]);
|
198
|
$writer->endElement();
|
199
|
$writer->endElement();
|
200
|
$writer->endElement();
|
201
|
|
202
|
$i++;
|
203
|
|
204
|
if($i == 1000)
|
205
|
{
|
206
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
207
|
$i = 0;
|
208
|
}
|
209
|
|
210
|
}
|
211
|
$writer->endElement();
|
212
|
|
213
|
$i=0;
|
214
|
|
215
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
216
|
|
217
|
$sql = "select SpeciesID,Mnemonic FROM `DFtemp` WHERE plot = 'bci'";
|
218
|
|
219
|
$result = mysql_query($sql);
|
220
|
$writer->startElement('taxonNameUsageConcepts');
|
221
|
while($row = mysql_fetch_row($result))
|
222
|
{
|
223
|
$writer->startElement('taxonNameUsageConcept');
|
224
|
$writer->writeAttribute("id",$row[0]);
|
225
|
$writer->writeElement('authorName');
|
226
|
$writer->writeElement('authorCode',$row[1]);
|
227
|
$writer->endElement();
|
228
|
|
229
|
$i++;
|
230
|
|
231
|
if($i == 1000)
|
232
|
{
|
233
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
234
|
$i = 0;
|
235
|
}
|
236
|
|
237
|
}
|
238
|
$writer->endElement();
|
239
|
|
240
|
$i=0;
|
241
|
|
242
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
243
|
|
244
|
$sql = "select MeasureID,PlotID,x,y,TreeID,Tag,StemId,StemTag,DBH,HOM,ListOfTSM,status FROM `DFtemp` WHERE plot = 'bci'";
|
245
|
|
246
|
$result = mysql_query($sql);
|
247
|
$writer->startElement('individualOrganismObservations');
|
248
|
while($row = mysql_fetch_row($result))
|
249
|
{
|
250
|
$writer->startElement('individualOrganismObservation');
|
251
|
$writer->writeAttribute("id",$row[0]);
|
252
|
$writer->writeElement('plotObservationID',$row[0]);
|
253
|
$writer->writeElement('individualOrganismID',$row[4]);
|
254
|
$writer->startElement('diameterBaseDistance');
|
255
|
$writer->startElement('diameter');
|
256
|
$writer->writeElement('value',$row[8]);
|
257
|
$writer->writeElement('attributeID',"DBH");
|
258
|
$writer->endElement();
|
259
|
$writer->startElement('baseDistance');
|
260
|
$writer->writeElement('value',$row[9]);
|
261
|
$writer->writeElement('attributeID',"HOM");
|
262
|
$writer->endElement();
|
263
|
$writer->endElement();
|
264
|
|
265
|
$writer->startElement("relatedIndividual");
|
266
|
$writer->startElement("relatedItem");
|
267
|
$writer->writeElement('relatedItemID',$row[6]);
|
268
|
$writer->writeElement('itemRelationship',"Stem");
|
269
|
$writer->endElement();
|
270
|
$writer->endElement();
|
271
|
|
272
|
$writer->startElement('relativePlotPosition');
|
273
|
$writer->writeElement('relativeX',$row[2]);
|
274
|
$writer->writeElement('relativeY',$row[3]);
|
275
|
$writer->endElement();
|
276
|
|
277
|
$str = $row[10];
|
278
|
while($str != "")
|
279
|
{
|
280
|
$pos = strpos($str,',');
|
281
|
if($pos === false)
|
282
|
{
|
283
|
$TSMcode = $str;
|
284
|
$str = "";
|
285
|
}
|
286
|
else
|
287
|
{
|
288
|
$TSMcode=substr($str,0,$pos);
|
289
|
$str = substr($str,$pos+1);
|
290
|
}
|
291
|
//echo $TSMcode;
|
292
|
$sqlt = "select status from attributes where attr = '" . $TSMcode . "'";
|
293
|
//echo $sqlt;
|
294
|
$resultt = mysql_query($sqlt);
|
295
|
$rowt = mysql_fetch_row($resultt);
|
296
|
//echo $rowt[0];
|
297
|
|
298
|
$writer->startElement('simpleUserdefined');
|
299
|
$writer->writeElement('name',$rowt[0]);
|
300
|
$writer->writeElement('value',$TSMcode);
|
301
|
$writer->writeElement('methodID',$TSMcode);
|
302
|
$writer->endElement();
|
303
|
}
|
304
|
|
305
|
$writer->writeElement('individualOrganismHealth',$row[11]);
|
306
|
|
307
|
$writer->endElement();
|
308
|
|
309
|
$i++;
|
310
|
|
311
|
if($i == 1000)
|
312
|
{
|
313
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
314
|
$i = 0;
|
315
|
}
|
316
|
}
|
317
|
$writer->endElement();
|
318
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
319
|
|
320
|
$sql = "select SpeciesID,TreeID,Tag,StemId,StemTag FROM `DFtemp` WHERE plot = 'bci'";
|
321
|
|
322
|
$i = 0;
|
323
|
|
324
|
$result = mysql_query($sql);
|
325
|
$writer->startElement('individualOrganisms');
|
326
|
while($row = mysql_fetch_row($result))
|
327
|
{
|
328
|
$writer->startElement('individualOrganism');
|
329
|
$writer->writeAttribute("id",$row[1]);
|
330
|
$writer->writeElement('taxonNameUsageConceptID',$row[0]);
|
331
|
$writer->writeElement('identificationLabel',$row[2]);
|
332
|
$writer->endElement();
|
333
|
|
334
|
$writer->startElement('individualOrganism');
|
335
|
$writer->writeAttribute("id",$row[3]);
|
336
|
$writer->writeElement('taxonNameUsageConceptID',$row[0]);
|
337
|
$writer->writeElement('identificationLabel',$row[4]);
|
338
|
$writer->endElement();
|
339
|
$i++;
|
340
|
|
341
|
if($i == 1000)
|
342
|
{
|
343
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
344
|
$i = 0;
|
345
|
}
|
346
|
}
|
347
|
$writer->endElement();
|
348
|
file_put_contents('new_Xml_CTFS_row.xml', $writer->flush(true), FILE_APPEND);
|
349
|
|
350
|
$writer->startElement('attributes');
|
351
|
$writer->startElement('attribute');
|
352
|
$writer->writeAttribute("id","DBH");
|
353
|
$writer->startElement('quantitative');
|
354
|
$writer->writeElement('methodID');
|
355
|
$writer->writeElement('unit','m');
|
356
|
$writer->writeElement('precision','.01');
|
357
|
$writer->writeElement('upperBound',"10000");
|
358
|
$writer->writeElement('lowerBound',"0");
|
359
|
$writer->endElement();
|
360
|
$writer->endElement();
|
361
|
$writer->startElement('attribute');
|
362
|
$writer->writeAttribute("id","HOM");
|
363
|
$writer->startElement('quantitative');
|
364
|
$writer->writeElement('methodID');
|
365
|
$writer->writeElement('unit','m');
|
366
|
$writer->writeElement('precision','.01');
|
367
|
$writer->writeElement('upperBound',"10000");
|
368
|
$writer->writeElement('lowerBound',"0");
|
369
|
$writer->endElement();
|
370
|
$writer->endElement();
|
371
|
$writer->endElement();
|
372
|
|
373
|
|
374
|
|
375
|
$sql = "select attr,status from attributes";
|
376
|
$result = mysql_query($sql);
|
377
|
$writer->startElement('methods');
|
378
|
$writer->startElement('method');
|
379
|
$writer->writeAttribute("id","CensusID");
|
380
|
$writer->writeElement('description',"Census information");
|
381
|
$writer->writeElement('name',"CensusID");
|
382
|
$writer->endElement();
|
383
|
while($row = mysql_fetch_row($result))
|
384
|
{
|
385
|
$writer->startElement('method');
|
386
|
$writer->writeAttribute("id",$row[0]);
|
387
|
$writer->writeElement('description',$row[1]);
|
388
|
$writer->writeElement('name',$row[0]);
|
389
|
$writer->endElement();
|
390
|
}
|
391
|
$writer->endElement();
|
392
|
|
393
|
$writer->endElement();
|
394
|
|
395
|
$writer->endDocument();
|
396
|
|
397
|
//header('Content-type: text/xml');
|
398
|
|
399
|
//echo $writer->outputMemory();
|
400
|
|
401
|
$filename = "new_Xml_CTFS_row.xml";
|
402
|
|
403
|
//$file = $writer->outputMemory();
|
404
|
file_put_contents($filename, $writer->flush(true), FILE_APPEND);
|
405
|
//file_put_contents($filename,$file);
|
406
|
|
407
|
echo "and Veg-X file for the uploaded csv file was created";
|
408
|
echo date("m/d/y :H:i:s",time());
|
409
|
?>
|
410
|
<FORM METHOD="LINK" ACTION="new_Xml_CTFS_row.xml">
|
411
|
<br/>
|
412
|
<br/>
|
413
|
<br/>
|
414
|
<INPUT TYPE="submit" VALUE="Click to See the VegX file">
|
415
|
</FORM>
|
416
|
</body></html>
|
417
|
|
418
|
|
419
|
|
420
|
|
421
|
|
422
|
|
423
|
|
424
|
|
425
|
|
426
|
|
427
|
|