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
d1b5a44c
Commit
d1b5a44c
authored
2 years ago
by
Eric Duminil
Browse files
Options
Download
Email Patches
Plain Diff
Working example
parent
3096e1c7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/main/java/eu/simstadt/regionchooser/RegionChooserCommandLineInterface.java
+18
-0
...tadt/regionchooser/RegionChooserCommandLineInterface.java
with
18 additions
and
0 deletions
+18
-0
src/main/java/eu/simstadt/regionchooser/RegionChooserCommandLineInterface.java
+
18
-
0
View file @
d1b5a44c
...
...
@@ -6,11 +6,19 @@
import
java.nio.file.Paths
;
import
java.util.Scanner
;
import
java.util.concurrent.Callable
;
import
org.locationtech.jts.geom.Polygon
;
import
org.locationtech.jts.io.WKTReader
;
import
org.locationtech.jts.io.WKTWriter
;
import
org.osgeo.proj4j.CoordinateReferenceSystem
;
import
picocli.CommandLine
;
import
picocli.CommandLine.Command
;
import
picocli.CommandLine.Option
;
// Example usage:
// --input /home/ricou/Desktop/CGSC_Repository/Würzburg.proj/LoD2_566_5516_2_BY.gml,/home/ricou/Desktop/CGSC_Repository/Würzburg.proj/LoD2_568_5516_2_BY.gml
// --output /home/ricou/Desktop/output.gml
// --wkt /home/ricou/Desktop/grombuhl.txt
@Command
(
name
=
"region_chooser"
,
mixinStandardHelpOptions
=
true
,
version
=
"regionChooser x.x"
,
description
=
"Extracts a region from one or more citygmls."
,
sortOptions
=
false
)
class
RegionChooserCommandLineInterface
implements
Callable
<
Integer
>
...
...
@@ -36,6 +44,8 @@ class RegionChooserCommandLineInterface implements Callable<Integer>
@Override
public
Integer
call
()
throws
Exception
{
//TODO: Move as much logic to utils as possible, and test it.
//TODO: Use logger
CoordinateReferenceSystem
localCRS
;
if
(
espgId
==
null
)
{
...
...
@@ -43,6 +53,7 @@ public Integer call() throws Exception {
}
else
{
localCRS
=
RegionChooserUtils
.
crsFromSrsName
(
"EPSG:"
+
espgId
);
}
System
.
out
.
println
(
"Coordinate system is "
+
localCRS
);
String
wktPolygon
;
...
...
@@ -60,13 +71,20 @@ public Integer call() throws Exception {
}
if
(!
localCoordinates
)
{
final
WKTReader
WKT_READER
=
new
WKTReader
();
final
WKTWriter
WKT_WRITER
=
new
WKTWriter
();
// WKT coordinates are in WGS84, so should be first converted to srsName
Polygon
wgs84Polygon
=
(
Polygon
)
WKT_READER
.
read
(
wktPolygon
);
wktPolygon
=
WKT_WRITER
.
write
(
RegionChooserUtils
.
changePolygonCRS
(
wgs84Polygon
,
RegionChooserUtils
.
WGS84
,
localCRS
));
}
System
.
out
.
println
(
"WKT Polygon : "
+
wktPolygon
);
StringBuilder
sb
=
RegionExtractor
.
selectRegionDirectlyFromCityGML
(
wktPolygon
,
localCRS
.
toString
(),
citygmls
);
//TODO: Check how many buildings are written. Warning if 0?
RegionChooserUtils
.
writeStringBuilderToFile
(
sb
,
outputCityGML
);
return
0
;
...
...
This diff is collapsed.
Click to expand it.
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