Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Eric Duminil
RegionChooser
Commits
9fdd1e51
Commit
9fdd1e51
authored
Jun 16, 2016
by
duminil
Browse files
RegionChooser: Munich + Berlin
parent
12d52281
Changes
3
Show whitespace changes
Inline
Side-by-side
src/eu/simstadt/regionchooser/RegionExtractor.java
View file @
9fdd1e51
...
...
@@ -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."
);
}
...
...
src/eu/simstadt/regionchooser/website/data/citygml_hulls.kml
View file @
9fdd1e51
...
...
@@ -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>
...
...
src/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
View file @
9fdd1e51
...
...
@@ -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
,
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment