Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Mayer
CircularGreenSimCity
Commits
534d15df
Commit
534d15df
authored
Apr 15, 2024
by
Eric Duminil
Browse files
Test.
parent
bbf99ee0
Changes
2
Show whitespace changes
Inline
Side-by-side
enrich-citygml-with-greenarea/src/main/java/de/hft/stuttgart/citygml/green/osm/GreenEnricher.java
View file @
534d15df
...
@@ -116,16 +116,22 @@ public class GreenEnricher
...
@@ -116,16 +116,22 @@ public class GreenEnricher
InterruptedException
,
ParserConfigurationException
,
CityGMLWriteException
,
JAXBException
{
InterruptedException
,
ParserConfigurationException
,
CityGMLWriteException
,
JAXBException
{
System
.
out
.
println
(
"Reading CityGML file"
);
System
.
out
.
println
(
"Reading CityGML file"
);
Path
inFile
=
Paths
.
get
(
args
[
0
]);
Path
inFile
=
Paths
.
get
(
args
[
0
]);
Path
baumKatasterPath
=
Paths
.
get
(
args
[
1
]);
String
outputSuffix
=
args
[
2
];
CityModel
cityModel
=
readCityGml
(
inFile
);
CityModel
cityModel
=
readCityGml
(
inFile
);
createTransformers
(
cityModel
);
createTransformers
(
cityModel
);
OsmData
osmData
=
new
OsmData
();
OsmData
osmData
=
new
OsmData
();
String
boundingBoxString
=
extractAndConvertBoundingBox
(
cityModel
,
osmData
);
String
boundingBoxString
=
GreenEnricher
.
extractAndConvertBoundingBox
(
cityModel
,
osmData
);
// HttpResponse<String> response = getOsmData(boundingBoxString);
String
boundingBoxBasename
=
boundingBoxString
.
replace
(
","
,
"__"
).
replace
(
'.'
,
'_'
);
// Files.write(Path.of("osm_response.xml"), response.body().getBytes(StandardCharsets.UTF_8));
Path
osmCache
=
Paths
.
get
(
"data"
,
"cache"
,
"osm_response_"
+
boundingBoxBasename
+
".xml"
);
// String osmResponse = response.body();
if
(!
Files
.
exists
(
osmCache
))
{
String
osmResponse
=
Files
.
readString
(
Paths
.
get
(
"data"
,
"osm_response.xml"
));
System
.
out
.
println
(
"Downloading OSM data for "
+
boundingBoxString
);
HttpResponse
<
String
>
response
=
GreenEnricher
.
getOsmData
(
boundingBoxString
);
Files
.
write
(
osmCache
,
response
.
body
().
getBytes
(
StandardCharsets
.
UTF_8
));
}
String
osmResponse
=
Files
.
readString
(
osmCache
);
System
.
out
.
println
(
"Parsing OSM response"
);
System
.
out
.
println
(
"Parsing OSM response"
);
parseOsmResponse
(
osmResponse
,
osmData
);
parseOsmResponse
(
osmResponse
,
osmData
);
...
@@ -141,13 +147,13 @@ public class GreenEnricher
...
@@ -141,13 +147,13 @@ public class GreenEnricher
convertWaterAreasToCityGML
(
cityModel
,
osmData
);
convertWaterAreasToCityGML
(
cityModel
,
osmData
);
// trees
// trees
TreeUtils
.
insertTrees
(
cityModel
,
osmData
);
TreeUtils
.
insertTrees
(
cityModel
,
osmData
,
baumKatasterPath
);
clampToGround
(
cityModel
);
clampToGround
(
cityModel
);
String
inputString
=
inFile
.
getFileName
().
toString
();
String
inputString
=
inFile
.
getFileName
().
toString
();
String
inputPathWithoutFileEnding
=
inputString
.
substring
(
0
,
inputString
.
lastIndexOf
(
'.'
));
String
inputPathWithoutFileEnding
=
inputString
.
substring
(
0
,
inputString
.
lastIndexOf
(
'.'
));
Path
outputPath
=
Paths
.
get
(
"data"
,
inputPathWithoutFileEnding
+
"_
with_osm_greens
.gml"
);
Path
outputPath
=
Paths
.
get
(
"data"
,
inputPathWithoutFileEnding
+
"_
"
+
outputSuffix
+
"
.gml"
);
System
.
out
.
println
(
"Writing output file."
);
System
.
out
.
println
(
"Writing output file."
);
writeCityGML
(
cityModel
,
outputPath
);
writeCityGML
(
cityModel
,
outputPath
);
System
.
out
.
println
(
"Done"
);
System
.
out
.
println
(
"Done"
);
...
...
enrich-citygml-with-greenarea/src/test/java/de/hft/stuttgart/citygml/green/alkis/AlkisGreenEnricherTest.java
View file @
534d15df
package
de.hft.stuttgart.citygml.green.alkis
;
package
de.hft.stuttgart.citygml.green.alkis
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertFalse
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertTrue
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
org.junit.jupiter.api.Test
;
import
org.junit.jupiter.api.Test
;
...
@@ -7,11 +12,15 @@ class AlkisGreenEnricherTest
...
@@ -7,11 +12,15 @@ class AlkisGreenEnricherTest
{
{
@Test
@Test
void
testAlkisGreen
()
throws
Exception
{
void
testAlkisGreen
()
throws
Exception
{
Path
outputGML
=
Paths
.
get
(
"data/Grombühl_v4_case_study_with_alkis_greens_realistic.gml"
);
Files
.
deleteIfExists
(
outputGML
);
assertFalse
(
Files
.
exists
(
outputGML
));
String
[]
args
=
new
String
[]
{
"data/Grombühl_v4_case_study.gml"
,
// Input GML
String
[]
args
=
new
String
[]
{
"data/Grombühl_v4_case_study.gml"
,
// Input GML
"data/tn_09663/Nutzung.shp"
,
// ALKIS Data
"data/tn_09663/Nutzung.shp"
,
// ALKIS Data
"data/Trees/Trees_realisticScenario_20240201.shp"
,
// Added trees, in Baumkatasterformat,
"data/Trees/Trees_realisticScenario_20240201.shp"
,
// Added trees, in Baumkatasterformat,
"with_alkis_greens_realistic"
// Output GML suffix
"with_alkis_greens_realistic"
// Output GML suffix
};
};
AlkisGreenEnricher
.
main
(
args
);
AlkisGreenEnricher
.
main
(
args
);
assertTrue
(
Files
.
exists
(
outputGML
));
}
}
}
}
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