comparison gnv-artifacts/src/main/java/de/intevation/gnv/transition/CoordinateSelectionTransition.java @ 180:72bd41ba548d

Added Transformation from WKT-Coordinate Reperesentation to BSH-Coordinate Representation. issue38 gnv-artifacts/trunk@224 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Fri, 16 Oct 2009 08:01:47 +0000
parents 1b2fc94766c9
children 6e7952fd1744
comparison
equal deleted inserted replaced
179:f2c76f35da5a 180:72bd41ba548d
3 */ 3 */
4 package de.intevation.gnv.transition; 4 package de.intevation.gnv.transition;
5 5
6 import java.util.ArrayList; 6 import java.util.ArrayList;
7 import java.util.Collection; 7 import java.util.Collection;
8 import java.util.Iterator;
8 9
9 import org.apache.log4j.Logger; 10 import org.apache.log4j.Logger;
10 11
11 import com.vividsolutions.jts.geom.Point; 12 import com.vividsolutions.jts.geom.Point;
13 import com.vividsolutions.jts.io.ParseException;
14 import com.vividsolutions.jts.io.WKTReader;
12 15
13 import de.intevation.gnv.geobackend.base.Result; 16 import de.intevation.gnv.geobackend.base.Result;
17 import de.intevation.gnv.transition.describedata.DefaultKeyValueDescribeData;
14 import de.intevation.gnv.transition.describedata.KeyValueDescibeData; 18 import de.intevation.gnv.transition.describedata.KeyValueDescibeData;
19 import de.intevation.gnv.transition.describedata.NamedArrayList;
15 import de.intevation.gnv.transition.describedata.NamedCollection; 20 import de.intevation.gnv.transition.describedata.NamedCollection;
16 import de.intevation.gnv.utils.InputValidator; 21 import de.intevation.gnv.utils.InputValidator;
17 import de.intevation.gnv.utils.exception.ValidationException; 22 import de.intevation.gnv.utils.exception.ValidationException;
18 23
19 /** 24 /**
83 log.error(e,e); 88 log.error(e,e);
84 } 89 }
85 return returnValue; 90 return returnValue;
86 91
87 } 92 }
93
94 /**
95 * @see de.intevation.gnv.transition.TransitionBase#extractKVP(java.util.Collection, java.lang.String, java.lang.String)
96 */
97 @Override
98 protected NamedCollection<KeyValueDescibeData> extractKVP(
99 Collection<Result> result,
100 String keyid,
101 String valueid) {
102 Iterator<Result> rit = result.iterator();
103 NamedCollection<KeyValueDescibeData> keyValueDescibeData = new NamedArrayList<KeyValueDescibeData>(
104 this.dataName, result.size());
105 keyValueDescibeData.setMultiSelect(this.dataMultiSelect);
106 while (rit.hasNext()) {
107 Result resultValue = rit.next();
108 keyValueDescibeData.add(new DefaultKeyValueDescribeData(resultValue
109 .getString(keyid), this.convert2DisplayCoordinate(resultValue.getString(valueid))));
110 }
111 return keyValueDescibeData;
112 }
113
114 protected String convert2DisplayCoordinate(String wkt){
115 String formattedCoordinate = null;
116 try {
117 Point p = (Point)new WKTReader().read(wkt);
118 double lat = p.getY();
119 double lon =p.getX();
120 String nord="N";
121 String ost="E";
122 if (lat <0 ){nord="S"; lat=-lat;}
123 if (lon <0 ){ost="W"; lon=-lon;}
124 formattedCoordinate = String.format("%1$02d°%2$1S %3$05.2f' %4$03d°%5$1S %6$05.2f'",
125 (int)lat, nord,60.*(lat-((int)lat)),(int)lon,ost,60.*(lon-((int)lon)));
126 } catch (ParseException e) {
127 log.error(e,e);
128 }
129
130 return formattedCoordinate;
131 }
88 } 132 }

http://dive4elements.wald.intevation.org