changeset 85:108c853e0900 trimmed_data

CSV to KML conversion moved to seperate function
author Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
date Thu, 07 Mar 2013 14:35:30 +0100
parents 00f7860d9ee5
children ed444173aef0
files war/scripts/sti/STICore.js
diffstat 1 files changed, 89 insertions(+), 74 deletions(-) [+]
line wrap: on
line diff
--- a/war/scripts/sti/STICore.js	Fri Feb 01 17:21:47 2013 +0100
+++ b/war/scripts/sti/STICore.js	Thu Mar 07 14:35:30 2013 +0100
@@ -605,8 +605,93 @@
     },
 
     /**
-	 * converts the csv-file, then parses the kml-file which includes the
-	 * results for a given search request
+	 * converts the csv-file to a kml-file
+	 * 
+	 * @param {String}
+	 *            text
+	 */
+    convertCsv: function(text){
+
+		var status = document.getElementById("statusText");
+		status.innerHTML = "Converting CSV to KML ...";   		
+		/* convert here from csv to kml */
+		var kmlString = '<?xml version="1.0" standalone="yes"?>\n';
+			kmlString += '<kml xmlns="http://www.opengis.com/kml/ext/2.2">\n';
+			kmlString += '\t<Folder>\n';
+		/* define expected csv table headers (first line) */
+		var expectedHeaders = new Array("Name","Address","Description","Longitude","Latitude","TimeStamp","TimeSpan:begin","TimeSpan:end");
+		/* convert csv string to array of arrays using ucsv library */
+		var csvArray = CSV.csvToArray(text);
+		/* get real used table headers from csv file (first line) */
+		var usedHeaders = csvArray[0];
+		/* loop outer array, begin with second line */
+		for (var i = 1; i < csvArray.length; i++) {
+			var innerArray = csvArray[i];
+			kmlString += '\t\t<Placemark>\n';
+			/* declare few variables */                                   
+			var timespanBegin = "";
+			var timespanEnd = "";
+			var longitude = "";
+			var latitude = "";
+		   	/* loop inner array */
+			for (var j = 0; j < innerArray.length; j++) {
+				/* Name */
+				if (usedHeaders[j] == expectedHeaders[0]) {
+					kmlString += '\t\t\t<name>' + innerArray[j] + '</name>\n';
+				}
+				/* Address */
+				if (usedHeaders[j] == expectedHeaders[1]) {
+					kmlString += '\t\t\t<address>' + innerArray[j] + '</address>\n';
+				}
+				/* Description */
+				if (usedHeaders[j] == expectedHeaders[2]) {
+					kmlString += '\t\t\t<description>' + innerArray[j] + '</description>\n';
+				}
+				/* TimeStamp */
+				if (usedHeaders[j] == expectedHeaders[5]) {
+					kmlString += '\t\t\t<TimeStamp>\n' +
+						'\t\t\t\t<when>' + innerArray[j] + '</when>\n' +
+						'\t\t\t</TimeStamp>\n';
+				}
+				/* TimeSpan:begin */
+				if (usedHeaders[j] == expectedHeaders[6]) {
+					timespanBegin = innerArray[j];
+				}   						
+				/* TimeSpan:end */
+				if (usedHeaders[j] == expectedHeaders[7]) {
+					timespanEnd = innerArray[j];
+				}   						
+				/* Longitude */                                                          
+				if (usedHeaders[j] == expectedHeaders[3]) {                              
+					longitude = innerArray[j];                                           
+				}                                                                        
+				/* Latitude */                                                           
+				if (usedHeaders[j] == expectedHeaders[4]) {                              
+					latitude = innerArray[j];
+				}
+			}
+			/* set timespan:begin und timespan:end */
+			kmlString += '\t\t\t<TimeSpan>\n' +
+				'\t\t\t\t<begin>' + timespanBegin + '</begin>\n' +
+				'\t\t\t\t<end>' + timespanEnd + '</end>\n' +
+				'\t\t\t</TimeSpan>\n';
+			/* set longitude and latitude */                                                 
+			kmlString += '\t\t\t<Point>\n' +                                                 
+				'\t\t\t\t<coordinates>' +                                                
+				longitude +',' + latitude +                                              
+				'</coordinates>\n' +
+				'\t\t\t</Point>\n';
+			/* end Placemark */
+			kmlString += '\t\t</Placemark>\n';
+		}
+		kmlString += '\t</Folder>\n';
+		kmlString += '</kml>\n';
+		
+		return kmlString;
+    },
+    
+    /**
+	 * loads the csv-file
 	 * 
 	 * @param {File}
 	 *            csvFile
@@ -631,78 +716,8 @@
    			var status = document.getElementById("statusText");
    			status.innerHTML = "Converting CSV to KML ...";   		
    			/* convert here from csv to kml */
-   			var kmlString = '<?xml version="1.0" standalone="yes"?>\n';
-   				kmlString += '<kml xmlns="http://www.opengis.com/kml/ext/2.2">\n';
-   				kmlString += '\t<Folder>\n';
-   			/* define expected csv table headers (first line) */
-   			var expectedHeaders = new Array("Name","Address","Description","Longitude","Latitude","TimeStamp","TimeSpan:begin","TimeSpan:end");
-   			/* convert csv string to array of arrays using ucsv library */
-   			var csvArray = CSV.csvToArray(text);
-   			/* get real used table headers from csv file (first line) */
-   			var usedHeaders = csvArray[0];
-   			/* loop outer array, begin with second line */
-   			for (var i = 1; i < csvArray.length; i++) {
-   				var innerArray = csvArray[i];
-   				kmlString += '\t\t<Placemark>\n';
-   				/* declare few variables */                                   
-   				var timespanBegin = "";
-   				var timespanEnd = "";
-   				var longitude = "";
-   				var latitude = "";
-   			   	/* loop inner array */
-   				for (var j = 0; j < innerArray.length; j++) {
-   					/* Name */
-   					if (usedHeaders[j] == expectedHeaders[0]) {
-   						kmlString += '\t\t\t<name>' + innerArray[j] + '</name>\n';
-   					}
-   					/* Address */
-   					if (usedHeaders[j] == expectedHeaders[1]) {
-   						kmlString += '\t\t\t<address>' + innerArray[j] + '</address>\n';
-   					}
-   					/* Description */
-   					if (usedHeaders[j] == expectedHeaders[2]) {
-   						kmlString += '\t\t\t<description>' + innerArray[j] + '</description>\n';
-   					}
-   					/* TimeStamp */
-   					if (usedHeaders[j] == expectedHeaders[5]) {
-   						kmlString += '\t\t\t<TimeStamp>\n' +
-   							'\t\t\t\t<when>' + innerArray[j] + '</when>\n' +
-   							'\t\t\t</TimeStamp>\n';
-   					}
-   					/* TimeSpan:begin */
-   					if (usedHeaders[j] == expectedHeaders[6]) {
-   						timespanBegin = innerArray[j];
-   					}   						
-   					/* TimeSpan:end */
-   					if (usedHeaders[j] == expectedHeaders[7]) {
-   						timespanEnd = innerArray[j];
-   					}   						
-   					/* Longitude */                                                          
-   					if (usedHeaders[j] == expectedHeaders[3]) {                              
-   						longitude = innerArray[j];                                           
-   					}                                                                        
-   					/* Latitude */                                                           
-   					if (usedHeaders[j] == expectedHeaders[4]) {                              
-   						latitude = innerArray[j];
-   					}
-   				}
-   				/* set timespan:begin und timespan:end */
-   				kmlString += '\t\t\t<TimeSpan>\n' +
-					'\t\t\t\t<begin>' + timespanBegin + '</begin>\n' +
-					'\t\t\t\t<end>' + timespanEnd + '</end>\n' +
-					'\t\t\t</TimeSpan>\n';
-   				/* set longitude and latitude */                                                 
-   				kmlString += '\t\t\t<Point>\n' +                                                 
-   					'\t\t\t\t<coordinates>' +                                                
-   					longitude +',' + latitude +                                              
-   					'</coordinates>\n' +
-   					'\t\t\t</Point>\n';
-   				/* end Placemark */
-   				kmlString += '\t\t</Placemark>\n';
-   			}
-   			kmlString += '\t</Folder>\n';
-   			kmlString += '</kml>\n';
-   			console.log("kmlstring="+kmlString);			
+   			var kmlString = convertCsv(text);
+			
    			/* convert string to xml */
    			var kmlXml = $.parseXML(kmlString);
    			console.log(kmlXml);