Commit 9fdd1e51 authored by duminil's avatar duminil
Browse files

RegionChooser: Munich + Berlin

parent 12d52281
......@@ -14,6 +14,8 @@
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.io.ParseException;
import com.vividsolutions.jts.io.WKTReader;
import de.hft.stuttgart.citydoctor.writer.CityDoctorModel;
import eu.simstadt.geo.GeoCoordinatesAccessor;
public class RegionExtractor
......@@ -33,18 +35,30 @@ static public StringBuffer selectRegionDirectlyFromCityGML(Path citygmlPath, Str
.compile("(?s)<(core:)?cityObjectMember[^>]*>.*?<\\/(core:)?cityObjectMember>\\s*");
Pattern coordinatesPattern = null;
switch (srsName)
{
switch (srsName) {
case "EPSG:31467":
coordinatesPattern = Pattern
.compile("(?<![\\d\\.])(3\\d\\d\\d\\d\\d\\d[\\.\\d]*) (5\\d\\d\\d\\d\\d\\d[\\.\\d]*)");
break;
case "EPSG:32118":
coordinatesPattern = Pattern
.compile("(?<![\\d\\.])([23]\\d\\d\\d\\d\\d[\\.\\d]*) ([4-8]\\d\\d\\d\\d[\\.\\d]*)");
.compile("(?<![\\d\\.])([23]\\d\\d\\d\\d\\d[\\.\\d]*) ([4-8]\\d\\d\\d\\d[\\.\\d]*)"); //NOTE: NYC
break;
case "EPSG:3068":
coordinatesPattern = Pattern
.compile("(?<![\\d\\.])(2\\d\\d\\d\\d[\\.\\d]*) (2\\d\\d\\d\\d[\\.\\d]*)"); //NOTE: Berlin
break;
case "EPSG:32632":
coordinatesPattern = Pattern
.compile("(?<![\\d\\.])(69\\d\\d\\d\\d[\\.\\d]*) (533\\d\\d\\d\\d[\\.\\d]*)"); //NOTE: Munich
break;
default:
System.out.println(srsName + " not supported yet.");
CityDoctorModel model = CityDoctorModel.loadWithEnergyADEAndNoSchemaValidation(citygmlPath.toFile());
GeoCoordinatesAccessor coordinates = GeoCoordinatesAccessor.coordinatesComputedFromBuildingsIfNeeded(model);
System.out.println(coordinates.getLowerCorner());
System.out.println(coordinates.getUpperCorner());
throw new IllegalArgumentException("Sorry. " + srsName + " is not supported yet.");
}
......
......@@ -396,6 +396,46 @@
<LinearRing>
<tessellate>1</tessellate>
<coordinates>9.1870588,48.8989619,0 9.1871836,48.8989633,0 9.1871859,48.8989226,0 9.1871859,48.8989133,0 9.1870593,48.8989115,0 9.1870591,48.8989317,0 9.1870588,48.8989619,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Berlin_Pariser_Platz_v1.0.0.gml</name>
<ExtendedData>
<Data name="project">
<value>Test</value>
</Data>
<Data name="srsName">
<value>EPSG:3068</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>13.3762067,52.5146704,0 13.3761870,52.5181346,0 13.3830046,52.5181489,0 13.3830238,52.5146847,0 13.3762067,52.5146704,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Munich_v_1_0_0.gml</name>
<ExtendedData>
<Data name="project">
<value>Test</value>
</Data>
<Data name="srsName">
<value>EPSG:32632</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>11.5761232,48.1392729,0 11.5762056,48.1409185,0 11.5807278,48.1408170,0 11.5806452,48.1391713,0 11.5761232,48.1392729,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
......@@ -1916,6 +1956,126 @@
<LinearRing>
<tessellate>1</tessellate>
<coordinates>9.1526175,49.0110384,0 9.1526576,49.0111754,0 9.1531982,49.0124895,0 9.1538747,49.0126757,0 9.1554917,49.0126355,0 9.1556064,49.0126151,0 9.1556036,49.0125673,0 9.1555855,49.0123983,0 9.1554646,49.0118802,0 9.1554236,49.0118188,0 9.1553981,49.0117847,0 9.1553429,49.0117158,0 9.1552814,49.0116444,0 9.1544759,49.0107739,0 9.1526175,49.0110384,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Geb1srs_lod2_or.gml</name>
<ExtendedData>
<Data name="project">
<value>WeBest</value>
</Data>
<Data name="srsName">
<value>EPSG:31466</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>3.9708458,51.4305044,0 3.9708412,51.4306094,0 3.9710202,51.4306125,0 3.9710249,51.4305075,0 3.9708458,51.4305044,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Geb2srs_lod2_or.gml</name>
<ExtendedData>
<Data name="project">
<value>WeBest</value>
</Data>
<Data name="srsName">
<value>EPSG:31466</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>3.9746887,51.4306654,0 3.9746844,51.4307617,0 3.9750083,51.4307673,0 3.9750126,51.4306710,0 3.9746887,51.4306654,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Geb3srs_lod2_or.gml</name>
<ExtendedData>
<Data name="project">
<value>WeBest</value>
</Data>
<Data name="srsName">
<value>EPSG:31466</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>3.9746167,51.4313725,0 3.9746103,51.4315169,0 3.9748523,51.4315211,0 3.9748587,51.4313767,0 3.9746167,51.4313725,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Geb4srs_lod2_or.gml</name>
<ExtendedData>
<Data name="project">
<value>WeBest</value>
</Data>
<Data name="srsName">
<value>EPSG:31466</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>4.0122368,51.4181947,0 4.0122317,51.4183108,0 4.0123848,51.4183134,0 4.0123899,51.4181973,0 4.0122368,51.4181947,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Geb5srs_lod2_or.gml</name>
<ExtendedData>
<Data name="project">
<value>WeBest</value>
</Data>
<Data name="srsName">
<value>EPSG:31466</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>4.1176615,51.4191713,0 4.1176506,51.4194378,0 4.1179332,51.4194423,0 4.1179441,51.4191759,0 4.1176615,51.4191713,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Geb6srs_lod2_or.gml</name>
<ExtendedData>
<Data name="project">
<value>WeBest</value>
</Data>
<Data name="srsName">
<value>EPSG:31466</value>
</Data>
</ExtendedData>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>1</tessellate>
<coordinates>4.1163708,51.4333908,0 4.1163659,51.4335094,0 4.1165532,51.4335124,0 4.1165581,51.4333939,0 4.1163708,51.4333908,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
......
......@@ -5,6 +5,8 @@ var dataPanel = $('#dataPanel');
var wgs84Sphere = new ol.Sphere(6378137);
proj4.defs("EPSG:3068", "+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +datum=potsdam +units=m +no_defs"); // http://spatialreference.org/ref/epsg/31467/proj4js/
proj4.defs("EPSG:32632", "+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"); // http://spatialreference.org/ref/epsg/31467/proj4js/
proj4.defs("EPSG:31467", "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0" + " +ellps=bessel +datum=potsdam +units=m +no_defs"); // http://spatialreference.org/ref/epsg/31467/proj4js/
proj4.defs("EPSG:32118", "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"); // http://spatialreference.org/ref/epsg/32118/proj4js/
......@@ -306,6 +308,7 @@ function downloadRegionFromNovaFACTORY(i) {
}
function sketchAsWKT(srsName) {
console.log(srsName);
srsName = (typeof srsName === 'undefined') ? 'EPSG:4326' : srsName;
var wktFormat = new ol.format.WKT();
return wktFormat.writeFeature(sketch, {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment