diff --git a/CityDoctorParent/CityDoctorModel/pom.xml b/CityDoctorParent/CityDoctorModel/pom.xml index 2354ab19d548ea33db673f519204cfee747cd009..9a8cabde9c347068750a6427ea758b29301f14de 100644 --- a/CityDoctorParent/CityDoctorModel/pom.xml +++ b/CityDoctorParent/CityDoctorModel/pom.xml @@ -58,7 +58,13 @@ <groupId>org.locationtech.proj4j</groupId> <artifactId>proj4j</artifactId> </dependency> - </dependencies> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.16.1</version> + <scope>compile</scope> + </dependency> + </dependencies> <build> <resources> <resource> diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/parser/CityGmlParser.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/parser/CityGmlParser.java index 9cfbd4b4b7e42423bad28ea6a298869880bd4260..3b093322af1dbb3644be49321a5e5644f8fd49d9 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/parser/CityGmlParser.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/parser/CityGmlParser.java @@ -203,7 +203,7 @@ public class CityGmlParser { } } InputStream is = archive.getInputStream(entry); - return parseCityGmlStream(is, config, context); + return parseCityGmlStream(is, archive, config, context); } private static List<String> validateStream(InputStream vis, CityGMLContext context) throws CityGmlParseException { @@ -239,12 +239,12 @@ public class CityGmlParser { } } - public static CityDoctorModel parseCityGmlStream(InputStream is, ParserConfiguration config, CityGMLContext context) + public static CityDoctorModel parseCityGmlStream(InputStream is, ZipFile archive ,ParserConfiguration config, CityGMLContext context) throws CityGmlParseException { - return parseCityGmlStream(is, config, null, context); + return parseCityGmlStream(is, archive, config, null, context); } - public static CityDoctorModel parseCityGmlStream(InputStream is, ParserConfiguration config, ProgressListener l, CityGMLContext context) + public static CityDoctorModel parseCityGmlStream(InputStream is, ZipFile archive, ParserConfiguration config, ProgressListener l, CityGMLContext context) throws CityGmlParseException { try { @@ -256,13 +256,18 @@ public class CityGmlParser { if (l != null){ ois.addListener(l::updateProgress); } - return readAndKeepFeatures(config, Path.of(""), in, ois); + return readAndKeepFeatures(config, Path.of(archive.getName()), in, ois); } } catch (CityGMLReadException | IOException e) { throw new CityGmlParseException("Failed to read CityGML file", e); } } + private static CityDoctorModel readAndKeepFeatures(ZipFile archive, ParserConfiguration config, + CityGMLInputFactory inputFactory, ObservedInputStream ois) throws CityGMLReadException { + return readAndKeepModel(new Citygml3FeatureMapper(config, Path.of(archive.getName())), inputFactory, ois); + } + private static void readEpsgCodeFromInputStream(BufferedInputStream bis, ParserConfiguration config) throws CityGmlParseException { try{ // Mark start position of GML-"file" @@ -422,8 +427,12 @@ public class CityGmlParser { private static CityDoctorModel readAndKeepFeatures(ParserConfiguration config, Path file, CityGMLInputFactory inputFactory, ObservedInputStream ois) throws CityGMLReadException { + return readAndKeepModel(new Citygml3FeatureMapper(config, file), inputFactory, ois); + } + + private static CityDoctorModel readAndKeepModel(Citygml3FeatureMapper mapper, CityGMLInputFactory inputFactory, + ObservedInputStream ois) throws CityGMLReadException{ try (CityGMLReader reader = inputFactory.createCityGMLReader(ois)) { - Citygml3FeatureMapper mapper = new Citygml3FeatureMapper(config, file); CityGMLVersion version = null; // model is read in chunked mode // object members are replaced by href in model diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/utils/ArchivePacker.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/ArchivePacker.java similarity index 92% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/utils/ArchivePacker.java rename to CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/ArchivePacker.java index fc4cc2d5f83f37ebe07759f39f876dcdbe3b8036..f9a6f46f94681e0a1eb3abf88f32f60ff5962d5e 100644 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/utils/ArchivePacker.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/ArchivePacker.java @@ -1,9 +1,9 @@ -package de.hft.stuttgart.citydoctor2.ziploader.utils; +package de.hft.stuttgart.citydoctor2.utils; import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel; -import de.hft.stuttgart.citydoctor2.ziploader.CityGmlArchive; -import de.hft.stuttgart.citydoctor2.ziploader.CityGmlZipEntry; -import de.hft.stuttgart.citydoctor2.ziploader.ErroneousEntry; +import de.hft.stuttgart.citydoctor2.zip.CityGmlArchive; +import de.hft.stuttgart.citydoctor2.zip.CityGmlZipEntry; +import de.hft.stuttgart.citydoctor2.zip.ErroneousEntry; import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/CityGmlArchive.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlArchive.java similarity index 51% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/CityGmlArchive.java rename to CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlArchive.java index cdae92f03b5c97d7550cd9084b586a7ff5739302..d8327819176e0767508bb7bd65c01614a49b6aed 100644 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/CityGmlArchive.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlArchive.java @@ -1,21 +1,18 @@ -package de.hft.stuttgart.citydoctor2.ziploader; +package de.hft.stuttgart.citydoctor2.zip; -import de.hft.stuttgart.citydoctor2.check.Checker; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.ziploader.utils.ArchivePacker; +import de.hft.stuttgart.citydoctor2.utils.ArchivePacker; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.Serial; +import java.io.*; -import java.io.Serializable; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; import java.util.zip.ZipEntry; +import java.util.zip.ZipException; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; @@ -26,13 +23,14 @@ public class CityGmlArchive implements Serializable { @Serial private static final long serialVersionUID = 2168389511043362615L; - private final List<CityGmlZipEntry> entries; + private List<CityGmlZipEntry> entries; private final Path archivePath; + private ZipFile zipFile; public static CityGmlArchive fromZipFile(String zipFile, ParserConfiguration config) { ArrayList<CityGmlZipEntry> archiveEntries = new ArrayList<>(); ZipFile zip = null; - try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile));) { + try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) { zip = new ZipFile(zipFile); ZipEntry ze; while ((ze = zis.getNextEntry()) != null ) @@ -59,23 +57,76 @@ public class CityGmlArchive implements Serializable { return new CityGmlArchive(archiveEntries, Path.of(zipFile)); } + public static CityGmlArchive register(String zipFile) { + ArrayList<CityGmlZipEntry> archiveEntries = new ArrayList<>(); + CityGmlArchive cgmlArchive = new CityGmlArchive(Path.of(zipFile)); + try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) { + ZipEntry ze; + while ((ze = zis.getNextEntry()) != null ) + { + if (ze.isDirectory()) { + continue; + } + if (ze.getName().endsWith(".gml")) { + archiveEntries.add(CityGmlZipEntry.register(ze)); + } + } + cgmlArchive.setEntries(archiveEntries); + return cgmlArchive; + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public void mountArchive(ParserConfiguration config){ + try (ZipFile zip = new ZipFile(archivePath.toFile())) { + zipFile = zip; + for (CityGmlZipEntry entry : entries){ + entry.loadEntry(zip, config); + } + } catch (IOException e) { + logger.error(e); + } finally { + zipFile = null; + } + } + + private CityGmlArchive(Path archivePath){ + this.archivePath = archivePath; + } + private CityGmlArchive(List<CityGmlZipEntry> entries, Path archivePath) { + setEntries(entries); + this.archivePath = archivePath; + } + + private void setEntries(List<CityGmlZipEntry> entries) { this.entries = entries; entries.forEach(e -> e.setArchive(this)); - this.archivePath = archivePath; } public void exportToZipFile(String path) { ArchivePacker.packArchive(path, this); } - public void checkEntries(){ + + public InputStream getInputStream(CityGmlZipEntry entry) throws IOException { + if(zipFile == null){ + throw new ZipException("Requested InputStream from unmounted CityGmlArchive"); + } + return zipFile.getInputStream(zipFile.getEntry(entry.getFileName())); + } + + public CityGmlZipEntry getEntry(String fileName) { for(CityGmlZipEntry entry : entries){ - Checker checker = new Checker(entry.getModel()); - checker.runChecks(); + if(entry.getFileName().equals(fileName)){ + return entry; + } } + return null; } + public Path getArchivePath() { return archivePath; } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipEntry.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..158555eaa5dcc1cdbcf80d78572356e79478b2ae --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipEntry.java @@ -0,0 +1,127 @@ +package de.hft.stuttgart.citydoctor2.zip; + +import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel; +import de.hft.stuttgart.citydoctor2.parser.CityGmlParseException; +import de.hft.stuttgart.citydoctor2.parser.CityGmlParser; +import de.hft.stuttgart.citydoctor2.parser.InvalidGmlFileException; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +public class CityGmlZipEntry { + + private static final Logger logger = LogManager.getLogger(CityGmlZipEntry.class); + + private final String fileName; + private CityDoctorModel model; + private CityGmlArchive parentArchive; + private boolean validated = false; + private boolean decompressed = false; + private long size = -1L; + + public static CityGmlZipEntry of(ZipEntry entry, ZipFile archive, ParserConfiguration config){ + CityGmlZipEntry ze = CityGmlZipEntry.register(entry); + return ze.loadEntry(archive, config); + } + + public CityGmlZipEntry loadEntry(ZipFile zip ,ParserConfiguration config){ + if (decompressed){ + return this; + } + ZipEntry ze = zip.getEntry(fileName); + try { + if (!entrySizeWithinMemoryLimits(ze,zip)) { + return new ErroneousEntry(ze, ZipEntryErrorType.EXCESSIVE_FILESIZE); + } + CityGmlParser.gagLogger(true); + this.model = CityGmlParser.parseCityGmlZipEntry(ze, zip, config); + this.decompressed = true; + return this; + } catch (CityGmlParseException | InvalidGmlFileException e) { + logger.error(e); + return new ErroneousEntry(ze, ZipEntryErrorType.INVALID_CITY_GML_FILE); + } catch (IOException e){ + logger.error(e); + return new ErroneousEntry(ze, ZipEntryErrorType.IO_ERROR); + } + } + + public static CityGmlZipEntry register(ZipEntry entry){ + return new CityGmlZipEntry(entry, false); + } + + private boolean entrySizeWithinMemoryLimits(ZipEntry ze, ZipFile zip) throws IOException { + long mb = 1024 * 1024L; + long maxMemory = (long) Math.ceil(((double) Runtime.getRuntime().maxMemory() / mb)*0.9); + if (size != -1L){ + return maxMemory > size; + } + if (ze.getSize() == -1L){ + //unknown filesize, check by streaming file + InputStream is = zip.getInputStream(ze); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + for(int i = is.read(); i != -1;i=is.read()) { + baos.write(i); + if ((baos.size() / mb) + 1 > maxMemory) { + //Entry will exceed available memory + return false; + } + } + // end of stream reached + this.size = baos.size(); + return true; + } else { + size = (long) Math.ceil((double) ze.getSize() / mb); + return maxMemory > size; + } + } + + private CityGmlZipEntry(ZipEntry entry, CityDoctorModel model){ + this.fileName = entry.getName(); + this.model = model; + } + + protected CityGmlZipEntry(ZipEntry entry, boolean decompressed) { + this.fileName = entry.getName(); + this.model = null; + this.decompressed = decompressed; + } + + private static int calculateEntrySize(ZipEntry entry, ZipFile archive) { + try { + InputStream is = archive.getInputStream(entry); + + } catch (IOException e) { + throw new RuntimeException(e); + } + return 0; + } + + public void setArchive(CityGmlArchive archive){ + parentArchive = archive; + } + + public CityGmlArchive getArchive(){ + return parentArchive; + } + + + public boolean isValidated(){ + return validated; + } + + public String getFileName() { + return fileName; + } + + public CityDoctorModel getModel() { + return model; + } + +} diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ErroneousEntry.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ErroneousEntry.java similarity index 69% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ErroneousEntry.java rename to CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ErroneousEntry.java index ba17f604d169e56c6be573d746f5900e2f4eba76..c103ce1c61cbad814f9a264e2d41479e0023bd53 100644 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ErroneousEntry.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ErroneousEntry.java @@ -1,4 +1,4 @@ -package de.hft.stuttgart.citydoctor2.ziploader; +package de.hft.stuttgart.citydoctor2.zip; import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel; @@ -9,14 +9,10 @@ public class ErroneousEntry extends CityGmlZipEntry { private ZipEntryErrorType errorType = null; public ErroneousEntry(ZipEntry entry, ZipEntryErrorType errorType){ - super(entry); + super(entry, true); this.errorType = errorType; } - @Override - public void validateModel(){ - /* Erroneous entries could not parse their CityModel and thus skip validation */ - } @Override public CityDoctorModel getModel(){ diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ZipEntryErrorType.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ZipEntryErrorType.java similarity index 65% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ZipEntryErrorType.java rename to CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ZipEntryErrorType.java index d1d4faefe7c9123171c8cad4bd9b7b9871a62752..d68209fff07a9e7588a59549f7339c4764280c99 100644 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ZipEntryErrorType.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ZipEntryErrorType.java @@ -1,4 +1,4 @@ -package de.hft.stuttgart.citydoctor2.ziploader; +package de.hft.stuttgart.citydoctor2.zip; public enum ZipEntryErrorType { INVALID_CITY_GML_FILE, EXCESSIVE_FILESIZE, IO_ERROR diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ZipParser.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ZipParser.java new file mode 100644 index 0000000000000000000000000000000000000000..e65d96b82ad2b8f3d29109348ccf6bb22107de2e --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/ZipParser.java @@ -0,0 +1,12 @@ +package de.hft.stuttgart.citydoctor2.zip; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class ZipParser { + + private static final Logger logger = LogManager.getLogger(ZipParser.class); + + + +} diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/java/de/hft/stuttgart/citydoctor2/ziploader/ZipTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java similarity index 90% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/java/de/hft/stuttgart/citydoctor2/ziploader/ZipTest.java rename to CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java index b933add1d376866873bc2562295c36a099be6537..0cd37f9465753567f6149e1d0b5df97dbdd04c58 100644 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/java/de/hft/stuttgart/citydoctor2/ziploader/ZipTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java @@ -1,4 +1,4 @@ -package de.hft.stuttgart.citydoctor2.ziploader; +package de.hft.stuttgart.citydoctor2.zip; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import org.apache.commons.io.FileUtils; @@ -23,7 +23,7 @@ public class ZipTest { @Test public void testUnzipping() { - CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/mock_archive.zip", config); + CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/zip/mock_archive.zip", config); checkMockArchive(cgmlArch); } @@ -41,7 +41,7 @@ public class ZipTest { @Test public void testZipping() throws IOException { - CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/mock_archive.zip", config); + CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/zip/mock_archive.zip", config); Path tmpDir = null; try { tmpDir = Files.createTempDirectory("testTmp"); @@ -62,7 +62,7 @@ public class ZipTest { @Test public void testEpsgParsing() { - CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/epsg.zip", config); + CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/zip/epsg.zip", config); assertNotNull(cgmlArch); List<String> epsgs = new ArrayList<>(2); epsgs.add("25832"); @@ -78,11 +78,11 @@ public class ZipTest { @Test public void testValidation(){ ParserConfiguration valConfig = new ParserConfiguration(8,true); - CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/validate.zip", valConfig); + CityGmlArchive cgmlArch = CityGmlArchive.fromZipFile("src/test/resources/zip/validate.zip", valConfig); int faultyFiles = 0; for (CityGmlZipEntry entry : cgmlArch.getEntries()) { if (entry instanceof ErroneousEntry errEntry) { - assertTrue(entry.getFileName().matches("^valFaulty.gml$")); + assertTrue(entry.getFileName().matches("validate/valFaulty.gml$")); assertEquals(ZipEntryErrorType.INVALID_CITY_GML_FILE, errEntry.getErrorType()); faultyFiles++; } diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/epsg.zip b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/epsg.zip similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/epsg.zip rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/epsg.zip diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/epsg/epsg1.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/epsg/epsg1.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/epsg/epsg1.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/epsg/epsg1.gml diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/epsg/epsg2.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/epsg/epsg2.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/epsg/epsg2.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/epsg/epsg2.gml diff --git a/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit.zip b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit.zip new file mode 100644 index 0000000000000000000000000000000000000000..092b45e43f00c3ef77f3dbbda4d2ed2d6c753a56 Binary files /dev/null and b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit.zip differ diff --git a/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Implicit1.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Implicit1.gml new file mode 100644 index 0000000000000000000000000000000000000000..c0539e3331c92816d90c607749cc53a0a0c4f80b --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Implicit1.gml @@ -0,0 +1,1004 @@ +<?xml version="1.0" encoding="UTF-8"?> +<core:CityModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:core="http://www.opengis.net/citygml/2.0" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:tran="http://www.opengis.net/citygml/transportation/2.0" + xmlns:wtr="http://www.opengis.net/citygml/waterbody/2.0" + xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" + xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/2.0" + xmlns:luse="http://www.opengis.net/citygml/landuse/2.0" + xmlns:frn="http://www.opengis.net/citygml/cityfurniture/2.0" + xmlns:app="http://www.opengis.net/citygml/appearance/2.0" + xmlns:tex="http://www.opengis.net/citygml/texturedsurface/2.0" + xmlns:smil20="http://www.w3.org/2001/SMIL20/" + xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" + xmlns:bldg="http://www.opengis.net/citygml/building/2.0" + xmlns:dem="http://www.opengis.net/citygml/relief/2.0" + xmlns:veg="http://www.opengis.net/citygml/vegetation/2.0" + xmlns:brid="http://www.opengis.net/citygml/bridge/2.0" + xmlns:tun="http://www.opengis.net/citygml/tunnel/2.0" + xmlns:gen="http://www.opengis.net/citygml/generics/2.0" + xmlns:wfs="http://www.opengis.net/wfs" + xsi:schemaLocation="http://www.opengis.net/citygml/landuse/2.0 http://schemas.opengis.net/citygml/landuse/2.0/landUse.xsd http://www.opengis.net/citygml/cityfurniture/2.0 http://schemas.opengis.net/citygml/cityfurniture/2.0/cityFurniture.xsd http://www.opengis.net/citygml/appearance/2.0 http://schemas.opengis.net/citygml/appearance/2.0/appearance.xsd http://www.opengis.net/citygml/texturedsurface/2.0 http://schemas.opengis.net/citygml/texturedsurface/2.0/texturedSurface.xsd http://www.opengis.net/citygml/transportation/2.0 http://schemas.opengis.net/citygml/transportation/2.0/transportation.xsd http://www.opengis.net/citygml/waterbody/2.0 http://schemas.opengis.net/citygml/waterbody/2.0/waterBody.xsd http://www.opengis.net/citygml/building/2.0 http://schemas.opengis.net/citygml/building/2.0/building.xsd http://www.opengis.net/citygml/relief/2.0 http://schemas.opengis.net/citygml/relief/2.0/relief.xsd http://www.opengis.net/citygml/vegetation/2.0 http://schemas.opengis.net/citygml/vegetation/2.0/vegetation.xsd http://www.opengis.net/citygml/cityobjectgroup/2.0 http://schemas.opengis.net/citygml/cityobjectgroup/2.0/cityObjectGroup.xsd http://www.opengis.net/citygml/bridge/2.0 http://schemas.opengis.net/citygml/bridge/2.0/bridge.xsd http://www.opengis.net/citygml/tunnel/2.0 http://schemas.opengis.net/citygml/tunnel/2.0/tunnel.xsd http://www.opengis.net/citygml/generics/2.0 http://schemas.opengis.net/citygml/generics/2.0/generics.xsd"> +<gml:description>Testdataset</gml:description> +<gml:name>ImplicitGeometry zipfile testdata</gml:name> +<core:cityObjectMember> + <gen:GenericCityObject> + <gml:description>CPA_Symbol</gml:description> + <gml:name>Implicit1</gml:name> + <gen:lod2Geometry> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-5"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-5"> + <gml:posList srsDimension="3">0.549000 0.854000 1.282000 0.549000 0.854000 1.232000 -0.542000 0.855000 1.232000 -0.542000 0.855000 1.282000 0.549000 0.854000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-6"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-6"> + <gml:posList srsDimension="3">-0.744000 0.755000 0.000000 -0.744000 0.755000 2.100000 -0.745000 -0.895000 2.100000 -0.745000 -0.895000 2.190000 -0.745000 -0.825000 2.260000 -0.744000 0.785000 2.260000 -0.744000 0.855000 2.190000 -0.744000 0.855000 0.000000 -0.744000 0.755000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-7"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-7"> + <gml:posList srsDimension="3">0.647000 -0.896000 2.100000 0.647000 -0.896000 2.190000 -0.745000 -0.895000 2.190000 -0.745000 -0.895000 2.100000 0.647000 -0.896000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-8"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-8"> + <gml:posList srsDimension="3">-0.745000 -0.825000 2.260000 -0.745000 -0.895000 2.190000 0.647000 -0.896000 2.190000 0.647000 -0.826000 2.260000 -0.745000 -0.825000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-9"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-9"> + <gml:posList srsDimension="3">-0.744000 0.855000 2.190000 -0.744000 0.785000 2.260000 0.647000 0.784000 2.260000 0.647000 0.854000 2.190000 -0.744000 0.855000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-10"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-10"> + <gml:posList srsDimension="3">-0.542000 0.855000 1.132000 -0.542000 0.855000 1.182000 0.549000 0.854000 1.182000 0.549000 0.854000 1.132000 -0.542000 0.855000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-11"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-11"> + <gml:posList srsDimension="3">0.647000 0.784000 2.260000 -0.744000 0.785000 2.260000 -0.745000 -0.825000 2.260000 0.647000 -0.826000 2.260000 0.647000 0.784000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-12"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-12"> + <gml:posList srsDimension="3">-0.646000 0.755000 2.100000 -0.744000 0.755000 2.100000 -0.744000 0.755000 0.000000 -0.646000 0.755000 0.000000 -0.646000 0.755000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-13"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-13"> + <gml:posList srsDimension="3">-0.745000 -0.895000 2.100000 -0.744000 0.755000 2.100000 -0.646000 0.755000 2.100000 -0.646000 0.855000 2.100000 0.647000 0.854000 2.100000 0.647000 -0.896000 2.100000 -0.745000 -0.895000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-14"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-14"> + <gml:posList srsDimension="3">-0.744000 0.855000 2.190000 0.647000 0.854000 2.190000 0.647000 0.854000 2.100000 -0.646000 0.855000 2.100000 -0.646000 0.855000 0.547000 -0.646000 0.855000 0.504000 -0.646000 0.855000 0.300000 -0.646000 0.855000 0.220000 -0.646000 0.855000 0.000000 -0.744000 0.855000 0.000000 -0.744000 0.855000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-15"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-15"> + <gml:posList srsDimension="3">-0.646000 0.855000 0.220000 -0.646000 0.855000 0.300000 0.647000 0.854000 0.300000 0.647000 0.854000 0.220000 -0.646000 0.855000 0.220000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-16"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-16"> + <gml:posList srsDimension="3">-0.646000 0.855000 2.100000 -0.646000 0.755000 2.100000 -0.646000 0.755000 0.000000 -0.646000 0.855000 0.000000 -0.646000 0.855000 0.220000 -0.646000 0.855000 0.300000 -0.646000 0.855000 0.504000 -0.646000 0.855000 0.547000 -0.646000 0.855000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-17"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-17"> + <gml:posList srsDimension="3">-0.646000 0.855000 0.547000 -0.646000 0.855000 0.504000 -0.546000 0.855000 0.504000 -0.546000 0.855000 0.547000 -0.646000 0.855000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-18"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-18"> + <gml:posList srsDimension="3">-0.546000 0.855000 0.504000 -0.546000 0.530000 0.504000 -0.546000 0.530000 0.547000 -0.546000 0.855000 0.547000 -0.546000 0.855000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-19"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-19"> + <gml:posList srsDimension="3">-0.496000 0.530000 0.504000 -0.496000 0.855000 0.504000 -0.496000 0.855000 0.547000 -0.496000 0.530000 0.547000 -0.496000 0.530000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-20"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-20"> + <gml:posList srsDimension="3">-0.546000 0.530000 0.547000 -0.546000 0.530000 0.504000 -0.496000 0.530000 0.504000 -0.496000 0.530000 0.547000 -0.546000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-21"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-21"> + <gml:posList srsDimension="3">-0.546000 0.855000 0.547000 -0.546000 0.530000 0.547000 -0.496000 0.530000 0.547000 -0.496000 0.855000 0.547000 -0.546000 0.855000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-22"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-22"> + <gml:posList srsDimension="3">0.497000 0.854000 0.504000 0.497000 0.530000 0.504000 0.497000 0.530000 0.547000 0.497000 0.854000 0.547000 0.497000 0.854000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-23"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-23"> + <gml:posList srsDimension="3">0.547000 0.530000 0.504000 0.547000 0.530000 0.547000 0.497000 0.530000 0.547000 0.497000 0.530000 0.504000 0.547000 0.530000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-24"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-24"> + <gml:posList srsDimension="3">0.547000 0.530000 0.547000 0.547000 0.854000 0.547000 0.497000 0.854000 0.547000 0.497000 0.530000 0.547000 0.547000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-25"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-25"> + <gml:posList srsDimension="3">-0.196000 0.855000 0.547000 -0.196000 0.530000 0.547000 -0.146000 0.530000 0.547000 -0.146000 0.854000 0.547000 -0.196000 0.855000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-26"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-26"> + <gml:posList srsDimension="3">-0.196000 0.530000 0.547000 -0.196000 0.530000 0.504000 -0.146000 0.530000 0.504000 -0.146000 0.530000 0.547000 -0.196000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-27"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-27"> + <gml:posList srsDimension="3">-0.146000 0.530000 0.504000 -0.146000 0.854000 0.504000 -0.146000 0.854000 0.547000 -0.146000 0.530000 0.547000 -0.146000 0.530000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-28"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-28"> + <gml:posList srsDimension="3">-0.196000 0.855000 0.504000 -0.196000 0.530000 0.504000 -0.196000 0.530000 0.547000 -0.196000 0.855000 0.547000 -0.196000 0.855000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-29"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-29"> + <gml:posList srsDimension="3">0.144000 0.530000 0.547000 0.144000 0.530000 0.504000 0.194000 0.530000 0.504000 0.194000 0.530000 0.547000 0.144000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-30"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-30"> + <gml:posList srsDimension="3">0.194000 0.530000 0.504000 0.194000 0.854000 0.504000 0.194000 0.854000 0.547000 0.194000 0.530000 0.547000 0.194000 0.530000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-31"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-31"> + <gml:posList srsDimension="3">0.144000 0.854000 0.547000 0.144000 0.530000 0.547000 0.194000 0.530000 0.547000 0.194000 0.854000 0.547000 0.144000 0.854000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-32"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-32"> + <gml:posList srsDimension="3">-0.476000 0.835000 0.547000 -0.476000 0.530000 0.547000 -0.216000 0.530000 0.547000 -0.216000 0.835000 0.547000 -0.476000 0.835000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-33"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-33"> + <gml:posList srsDimension="3">-0.476000 0.530000 0.520000 -0.476000 0.835000 0.520000 -0.216000 0.835000 0.520000 -0.216000 0.530000 0.520000 -0.476000 0.530000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-34"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-34"> + <gml:posList srsDimension="3">-0.476000 0.530000 0.547000 -0.476000 0.835000 0.547000 -0.476000 0.835000 0.520000 -0.476000 0.530000 0.520000 -0.476000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-35"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-35"> + <gml:posList srsDimension="3">-0.476000 0.835000 0.547000 -0.216000 0.835000 0.547000 -0.216000 0.835000 0.520000 -0.476000 0.835000 0.520000 -0.476000 0.835000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-36"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-36"> + <gml:posList srsDimension="3">-0.216000 0.835000 0.547000 -0.216000 0.530000 0.547000 -0.216000 0.530000 0.520000 -0.216000 0.835000 0.520000 -0.216000 0.835000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-37"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-37"> + <gml:posList srsDimension="3">-0.216000 0.530000 0.547000 -0.476000 0.530000 0.547000 -0.476000 0.530000 0.520000 -0.216000 0.530000 0.520000 -0.216000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-38"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-38"> + <gml:posList srsDimension="3">0.144000 0.854000 0.504000 0.144000 0.530000 0.504000 0.144000 0.530000 0.547000 0.144000 0.854000 0.547000 0.144000 0.854000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-39"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-39"> + <gml:posList srsDimension="3">-0.132000 0.834000 0.547000 0.128000 0.834000 0.547000 0.128000 0.834000 0.520000 -0.132000 0.834000 0.520000 -0.132000 0.834000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-40"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-40"> + <gml:posList srsDimension="3">-0.132000 0.530000 0.520000 -0.132000 0.834000 0.520000 0.128000 0.834000 0.520000 0.128000 0.530000 0.520000 -0.132000 0.530000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-41"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-41"> + <gml:posList srsDimension="3">-0.132000 0.530000 0.547000 -0.132000 0.834000 0.547000 -0.132000 0.834000 0.520000 -0.132000 0.530000 0.520000 -0.132000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-42"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-42"> + <gml:posList srsDimension="3">0.128000 0.530000 0.547000 -0.132000 0.530000 0.547000 -0.132000 0.530000 0.520000 0.128000 0.530000 0.520000 0.128000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-43"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-43"> + <gml:posList srsDimension="3">0.128000 0.834000 0.547000 0.128000 0.530000 0.547000 0.128000 0.530000 0.520000 0.128000 0.834000 0.520000 0.128000 0.834000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-44"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-44"> + <gml:posList srsDimension="3">-0.132000 0.834000 0.547000 -0.132000 0.530000 0.547000 0.128000 0.530000 0.547000 0.128000 0.834000 0.547000 -0.132000 0.834000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-45"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-45"> + <gml:posList srsDimension="3">0.215000 0.834000 0.547000 0.215000 0.530000 0.547000 0.475000 0.530000 0.547000 0.475000 0.834000 0.547000 0.215000 0.834000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-46"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-46"> + <gml:posList srsDimension="3">0.475000 0.834000 0.547000 0.475000 0.530000 0.547000 0.475000 0.530000 0.520000 0.475000 0.834000 0.520000 0.475000 0.834000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-47"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-47"> + <gml:posList srsDimension="3">0.215000 0.530000 0.520000 0.215000 0.834000 0.520000 0.475000 0.834000 0.520000 0.475000 0.530000 0.520000 0.215000 0.530000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-48"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-48"> + <gml:posList srsDimension="3">0.475000 0.530000 0.547000 0.215000 0.530000 0.547000 0.215000 0.530000 0.520000 0.475000 0.530000 0.520000 0.475000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-49"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-49"> + <gml:posList srsDimension="3">0.215000 0.834000 0.547000 0.475000 0.834000 0.547000 0.475000 0.834000 0.520000 0.215000 0.834000 0.520000 0.215000 0.834000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-50"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-50"> + <gml:posList srsDimension="3">0.215000 0.530000 0.547000 0.215000 0.834000 0.547000 0.215000 0.834000 0.520000 0.215000 0.530000 0.520000 0.215000 0.530000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-51"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-51"> + <gml:posList srsDimension="3">0.547000 0.530000 0.504000 0.547000 0.854000 0.504000 0.547000 0.854000 0.547000 0.547000 0.530000 0.547000 0.547000 0.530000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-52"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-52"> + <gml:posList srsDimension="3">0.194000 0.854000 0.547000 0.194000 0.854000 0.504000 0.144000 0.854000 0.504000 0.144000 0.854000 0.547000 0.194000 0.854000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-53"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-53"> + <gml:posList srsDimension="3">-0.146000 0.854000 0.547000 -0.146000 0.854000 0.504000 -0.196000 0.855000 0.504000 -0.196000 0.855000 0.547000 -0.146000 0.854000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-54"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-54"> + <gml:posList srsDimension="3">0.547000 0.854000 0.504000 0.497000 0.854000 0.504000 0.497000 0.854000 0.547000 0.547000 0.854000 0.547000 0.547000 0.854000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-55"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-55"> + <gml:posList srsDimension="3">-0.496000 0.855000 0.504000 -0.546000 0.855000 0.504000 -0.546000 0.855000 0.547000 -0.496000 0.855000 0.547000 -0.496000 0.855000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-56"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-56"> + <gml:posList srsDimension="3">-0.546000 0.855000 0.504000 -0.496000 0.855000 0.504000 -0.196000 0.855000 0.504000 -0.146000 0.854000 0.504000 0.144000 0.854000 0.504000 0.194000 0.854000 0.504000 0.497000 0.854000 0.504000 0.547000 0.854000 0.504000 0.647000 0.854000 0.504000 0.647000 0.854000 0.300000 -0.646000 0.855000 0.300000 -0.646000 0.855000 0.504000 -0.546000 0.855000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-57"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-57"> + <gml:posList srsDimension="3">-0.146000 0.854000 0.547000 -0.146000 0.854000 0.504000 0.144000 0.854000 0.504000 0.144000 0.854000 0.547000 -0.146000 0.854000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-58"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-58"> + <gml:posList srsDimension="3">-0.496000 0.855000 0.547000 -0.496000 0.855000 0.504000 -0.196000 0.855000 0.504000 -0.196000 0.855000 0.547000 -0.496000 0.855000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-59"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-59"> + <gml:posList srsDimension="3">0.194000 0.854000 0.547000 0.194000 0.854000 0.504000 0.497000 0.854000 0.504000 0.497000 0.854000 0.547000 0.194000 0.854000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-60"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-60"> + <gml:posList srsDimension="3">0.547000 0.854000 0.547000 0.547000 0.854000 0.504000 0.647000 0.854000 0.504000 0.647000 0.854000 0.547000 0.547000 0.854000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-61"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-61"> + <gml:posList srsDimension="3">0.647000 0.854000 2.100000 0.647000 0.854000 0.547000 0.547000 0.854000 0.547000 0.497000 0.854000 0.547000 0.194000 0.854000 0.547000 0.144000 0.854000 0.547000 -0.146000 0.854000 0.547000 -0.196000 0.855000 0.547000 -0.496000 0.855000 0.547000 -0.546000 0.855000 0.547000 -0.646000 0.855000 0.547000 -0.646000 0.855000 2.100000 0.647000 0.854000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-61_1"> + <gml:posList srsDimension="3">0.549000 0.854000 1.182000 -0.542000 0.855000 1.182000 -0.542000 0.855000 1.132000 0.549000 0.854000 1.132000 0.549000 0.854000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-61_2"> + <gml:posList srsDimension="3">-0.542000 0.855000 1.282000 -0.542000 0.855000 1.232000 0.549000 0.854000 1.232000 0.549000 0.854000 1.282000 -0.542000 0.855000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-62"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-62"> + <gml:posList srsDimension="3">2.136000 0.754000 2.100000 2.038000 0.754000 2.100000 2.038000 0.754000 0.000000 2.136000 0.754000 0.000000 2.136000 0.754000 0.220000 2.136000 0.754000 0.300000 2.136000 0.754000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-63"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-63"> + <gml:posList srsDimension="3">2.068000 0.784000 2.260000 2.136000 0.854000 2.190000 0.647000 0.854000 2.190000 0.647000 0.784000 2.260000 2.068000 0.784000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-64"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-64"> + <gml:posList srsDimension="3">2.136000 -0.396000 1.182000 2.136000 -0.396000 1.132000 2.136000 0.654000 1.132000 2.136000 0.654000 1.182000 2.136000 -0.396000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-65"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-65"> + <gml:posList srsDimension="3">2.136000 0.854000 2.190000 2.068000 0.784000 2.260000 2.067000 -0.826000 2.260000 2.136000 -0.896000 2.190000 2.136000 0.854000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-66"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-66"> + <gml:posList srsDimension="3">0.647000 -0.896000 2.190000 2.136000 -0.896000 2.190000 2.067000 -0.826000 2.260000 0.647000 -0.826000 2.260000 0.647000 -0.896000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-67"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-67"> + <gml:posList srsDimension="3">0.843000 0.854000 1.232000 0.843000 0.854000 1.282000 1.934000 0.854000 1.282000 1.934000 0.854000 1.232000 0.843000 0.854000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-68"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-68"> + <gml:posList srsDimension="3">2.038000 -0.596000 2.100000 2.038000 -0.596000 0.000000 2.136000 -0.596000 0.000000 2.136000 -0.596000 2.100000 2.038000 -0.596000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-69"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-69"> + <gml:posList srsDimension="3">2.136000 -0.496000 0.300000 2.136000 -0.496000 0.220000 2.136000 0.754000 0.220000 2.136000 0.754000 0.300000 2.136000 -0.496000 0.300000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-70"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-70"> + <gml:posList srsDimension="3">2.038000 -0.596000 2.100000 2.038000 -0.496000 2.100000 2.038000 -0.496000 0.000000 2.038000 -0.596000 0.000000 2.038000 -0.596000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-71"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-71"> + <gml:posList srsDimension="3">2.038000 0.854000 0.300000 2.038000 0.854000 0.220000 0.745000 0.854000 0.220000 0.745000 0.854000 0.300000 2.038000 0.854000 0.300000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-72"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-72"> + <gml:posList srsDimension="3">0.745000 0.854000 2.100000 2.038000 0.854000 2.100000 2.038000 0.854000 0.300000 0.745000 0.854000 0.300000 0.745000 0.854000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-72_1"> + <gml:posList srsDimension="3">1.934000 0.854000 1.182000 0.843000 0.854000 1.182000 0.843000 0.854000 1.132000 1.934000 0.854000 1.132000 1.934000 0.854000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-72_2"> + <gml:posList srsDimension="3">1.934000 0.854000 1.232000 1.934000 0.854000 1.282000 0.843000 0.854000 1.282000 0.843000 0.854000 1.232000 1.934000 0.854000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-73"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-73"> + <gml:posList srsDimension="3">2.136000 0.654000 1.232000 2.136000 0.654000 1.282000 2.136000 -0.396000 1.282000 2.136000 -0.396000 1.232000 2.136000 0.654000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-74"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-74"> + <gml:posList srsDimension="3">1.934000 0.854000 1.182000 1.934000 0.854000 1.132000 0.843000 0.854000 1.132000 0.843000 0.854000 1.182000 1.934000 0.854000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-75"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-75"> + <gml:posList srsDimension="3">2.038000 0.754000 2.100000 2.038000 0.854000 2.100000 2.038000 0.854000 0.300000 2.038000 0.854000 0.220000 2.038000 0.854000 0.000000 2.038000 0.754000 0.000000 2.038000 0.754000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-76"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-76"> + <gml:posList srsDimension="3">2.136000 -0.496000 2.100000 2.136000 -0.496000 0.300000 2.136000 0.754000 0.300000 2.136000 0.754000 2.100000 2.136000 -0.496000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-76_1"> + <gml:posList srsDimension="3">2.136000 -0.396000 1.132000 2.136000 -0.396000 1.182000 2.136000 0.654000 1.182000 2.136000 0.654000 1.132000 2.136000 -0.396000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-76_2"> + <gml:posList srsDimension="3">2.136000 0.654000 1.232000 2.136000 -0.396000 1.232000 2.136000 -0.396000 1.282000 2.136000 0.654000 1.282000 2.136000 0.654000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-77"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-77"> + <gml:posList srsDimension="3">2.136000 -0.896000 2.100000 2.136000 -0.896000 2.190000 0.647000 -0.896000 2.190000 0.647000 -0.896000 2.100000 2.136000 -0.896000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-78"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-78"> + <gml:posList srsDimension="3">2.136000 0.854000 0.000000 2.136000 0.854000 2.190000 2.136000 -0.896000 2.190000 2.136000 -0.896000 2.100000 2.136000 -0.596000 2.100000 2.136000 -0.596000 0.000000 2.136000 -0.496000 0.000000 2.136000 -0.496000 0.220000 2.136000 -0.496000 0.300000 2.136000 -0.496000 2.100000 2.136000 0.754000 2.100000 2.136000 0.754000 0.300000 2.136000 0.754000 0.220000 2.136000 0.754000 0.000000 2.136000 0.854000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-79"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-79"> + <gml:posList srsDimension="3">2.038000 0.854000 2.100000 0.745000 0.854000 2.100000 0.745000 0.854000 0.300000 0.745000 0.854000 0.220000 0.745000 0.854000 0.000000 0.647000 0.854000 0.000000 0.647000 0.854000 2.190000 2.136000 0.854000 2.190000 2.136000 0.854000 0.000000 2.038000 0.854000 0.000000 2.038000 0.854000 0.220000 2.038000 0.854000 0.300000 2.038000 0.854000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-80"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-80"> + <gml:posList srsDimension="3">2.038000 -0.496000 2.100000 2.136000 -0.496000 2.100000 2.136000 -0.496000 0.300000 2.136000 -0.496000 0.220000 2.136000 -0.496000 0.000000 2.038000 -0.496000 0.000000 2.038000 -0.496000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-81"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-81"> + <gml:posList srsDimension="3">2.068000 0.784000 2.260000 0.647000 0.784000 2.260000 0.647000 -0.826000 2.260000 2.067000 -0.826000 2.260000 2.068000 0.784000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-82"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-82"> + <gml:posList srsDimension="3">0.745000 0.754000 2.100000 0.647000 0.754000 2.100000 0.647000 0.754000 0.000000 0.745000 0.754000 0.000000 0.745000 0.754000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-83"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-83"> + <gml:posList srsDimension="3">0.647000 0.754000 0.000000 0.647000 0.754000 2.100000 0.647000 -0.896000 2.100000 0.647000 -0.896000 2.190000 0.647000 -0.826000 2.260000 0.647000 0.784000 2.260000 0.647000 0.854000 2.190000 0.647000 0.854000 0.000000 0.647000 0.754000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-84"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-84"> + <gml:posList srsDimension="3">0.745000 0.854000 2.100000 0.745000 0.754000 2.100000 0.745000 0.754000 0.000000 0.745000 0.854000 0.000000 0.745000 0.854000 0.220000 0.745000 0.854000 0.300000 0.745000 0.854000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-85"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-85"> + <gml:posList srsDimension="3">2.136000 -0.596000 2.100000 2.136000 -0.896000 2.100000 0.647000 -0.896000 2.100000 0.647000 0.754000 2.100000 0.745000 0.754000 2.100000 0.745000 0.854000 2.100000 2.038000 0.854000 2.100000 2.038000 0.754000 2.100000 2.136000 0.754000 2.100000 2.136000 -0.496000 2.100000 2.038000 -0.496000 2.100000 2.038000 -0.596000 2.100000 2.136000 -0.596000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-86"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-86"> + <gml:posList srsDimension="3">-0.745000 -0.895000 2.100000 -0.745000 -0.895000 2.190000 -2.136000 -0.895000 2.190000 -2.136000 -0.895000 2.100000 -0.745000 -0.895000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-87"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-87"> + <gml:posList srsDimension="3">-2.136000 -0.495000 0.300000 -2.136000 -0.495000 2.100000 -2.136000 0.755000 2.100000 -2.136000 0.755000 0.300000 -2.136000 -0.495000 0.300000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-87_1"> + <gml:posList srsDimension="3">-2.136000 0.655000 1.132000 -2.136000 0.655000 1.182000 -2.136000 -0.395000 1.182000 -2.136000 -0.395000 1.132000 -2.136000 0.655000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-87_2"> + <gml:posList srsDimension="3">-2.136000 -0.395000 1.232000 -2.136000 0.655000 1.232000 -2.136000 0.655000 1.282000 -2.136000 -0.395000 1.282000 -2.136000 -0.395000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-88"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-88"> + <gml:posList srsDimension="3">-2.067000 0.785000 2.260000 -2.068000 -0.825000 2.260000 -0.745000 -0.825000 2.260000 -0.745000 0.785000 2.260000 -2.067000 0.785000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-89"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-89"> + <gml:posList srsDimension="3">-2.136000 0.855000 2.190000 -0.745000 0.855000 2.190000 -0.745000 0.855000 2.100000 -2.038000 0.855000 2.100000 -2.038000 0.855000 0.300000 -2.038000 0.855000 0.220000 -2.038000 0.855000 0.000000 -2.136000 0.855000 0.000000 -2.136000 0.855000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-90"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-90"> + <gml:posList srsDimension="3">-2.136000 0.755000 2.100000 -2.038000 0.755000 2.100000 -2.038000 0.855000 2.100000 -0.745000 0.855000 2.100000 -0.745000 -0.895000 2.100000 -2.136000 -0.895000 2.100000 -2.136000 -0.595000 2.100000 -2.038000 -0.595000 2.100000 -2.038000 -0.495000 2.100000 -2.136000 -0.495000 2.100000 -2.136000 0.755000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-91"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-91"> + <gml:posList srsDimension="3">-2.136000 0.755000 0.300000 -2.136000 0.755000 2.100000 -2.136000 -0.495000 2.100000 -2.136000 -0.495000 0.300000 -2.136000 -0.495000 0.220000 -2.136000 -0.495000 0.000000 -2.136000 -0.595000 0.000000 -2.136000 -0.595000 2.100000 -2.136000 -0.895000 2.100000 -2.136000 -0.895000 2.190000 -2.136000 0.855000 2.190000 -2.136000 0.855000 0.000000 -2.136000 0.755000 0.000000 -2.136000 0.755000 0.220000 -2.136000 0.755000 0.300000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-92"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-92"> + <gml:posList srsDimension="3">-2.136000 -0.495000 2.100000 -2.038000 -0.495000 2.100000 -2.038000 -0.495000 0.000000 -2.136000 -0.495000 0.000000 -2.136000 -0.495000 0.220000 -2.136000 -0.495000 0.300000 -2.136000 -0.495000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-93"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-93"> + <gml:posList srsDimension="3">-2.038000 -0.595000 2.100000 -2.136000 -0.595000 2.100000 -2.136000 -0.595000 0.000000 -2.038000 -0.595000 0.000000 -2.038000 -0.595000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-94"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-94"> + <gml:posList srsDimension="3">-2.067000 0.785000 2.260000 -2.136000 0.855000 2.190000 -2.136000 -0.895000 2.190000 -2.068000 -0.825000 2.260000 -2.067000 0.785000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-95"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-95"> + <gml:posList srsDimension="3">-2.038000 -0.495000 2.100000 -2.038000 -0.595000 2.100000 -2.038000 -0.595000 0.000000 -2.038000 -0.495000 0.000000 -2.038000 -0.495000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-96"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-96"> + <gml:posList srsDimension="3">-0.745000 -0.895000 2.190000 -0.745000 -0.825000 2.260000 -2.068000 -0.825000 2.260000 -2.136000 -0.895000 2.190000 -0.745000 -0.895000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-97"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-97"> + <gml:posList srsDimension="3">-2.038000 0.755000 2.100000 -2.136000 0.755000 2.100000 -2.136000 0.755000 0.300000 -2.136000 0.755000 0.220000 -2.136000 0.755000 0.000000 -2.038000 0.755000 0.000000 -2.038000 0.755000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-98"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-98"> + <gml:posList srsDimension="3">-0.745000 0.785000 2.260000 -0.745000 0.855000 2.190000 -2.136000 0.855000 2.190000 -2.067000 0.785000 2.260000 -0.745000 0.785000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-99"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-99"> + <gml:posList srsDimension="3">-2.038000 0.855000 2.100000 -2.038000 0.755000 2.100000 -2.038000 0.755000 0.000000 -2.038000 0.855000 0.000000 -2.038000 0.855000 0.220000 -2.038000 0.855000 0.300000 -2.038000 0.855000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-100"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-100"> + <gml:posList srsDimension="3">-2.136000 -0.495000 0.220000 -2.136000 -0.495000 0.300000 -2.136000 0.755000 0.300000 -2.136000 0.755000 0.220000 -2.136000 -0.495000 0.220000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-101"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-101"> + <gml:posList srsDimension="3">-2.038000 0.855000 0.220000 -2.038000 0.855000 0.300000 -0.745000 0.855000 0.300000 -0.745000 0.855000 0.220000 -2.038000 0.855000 0.220000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-102"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-102"> + <gml:posList srsDimension="3">-2.136000 0.655000 1.282000 -2.136000 0.655000 1.232000 -2.136000 -0.395000 1.232000 -2.136000 -0.395000 1.282000 -2.136000 0.655000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-103"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-103"> + <gml:posList srsDimension="3">-2.136000 -0.395000 1.132000 -2.136000 -0.395000 1.182000 -2.136000 0.655000 1.182000 -2.136000 0.655000 1.132000 -2.136000 -0.395000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-104"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-104"> + <gml:posList srsDimension="3">-1.934000 0.855000 1.132000 -1.934000 0.855000 1.182000 -0.843000 0.855000 1.182000 -0.843000 0.855000 1.132000 -1.934000 0.855000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-105"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-105"> + <gml:posList srsDimension="3">-0.843000 0.855000 1.282000 -0.843000 0.855000 1.232000 -1.934000 0.855000 1.232000 -1.934000 0.855000 1.282000 -0.843000 0.855000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-106"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-106"> + <gml:posList srsDimension="3">-2.038000 0.855000 2.100000 -0.745000 0.855000 2.100000 -0.745000 0.855000 0.300000 -2.038000 0.855000 0.300000 -2.038000 0.855000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-106_1"> + <gml:posList srsDimension="3">-0.843000 0.855000 1.182000 -1.934000 0.855000 1.182000 -1.934000 0.855000 1.132000 -0.843000 0.855000 1.132000 -0.843000 0.855000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-106_2"> + <gml:posList srsDimension="3">-1.934000 0.855000 1.282000 -1.934000 0.855000 1.232000 -0.843000 0.855000 1.232000 -0.843000 0.855000 1.282000 -1.934000 0.855000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gen:lod2Geometry> + </gen:GenericCityObject> +</core:cityObjectMember> +</core:CityModel> diff --git a/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Implicit2.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Implicit2.gml new file mode 100644 index 0000000000000000000000000000000000000000..1da55f535a52819aa58c12c381f6e9549e9dd784 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Implicit2.gml @@ -0,0 +1,510 @@ +<?xml version="1.0" encoding="UTF-8"?> +<core:CityModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:core="http://www.opengis.net/citygml/2.0" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:tran="http://www.opengis.net/citygml/transportation/2.0" + xmlns:wtr="http://www.opengis.net/citygml/waterbody/2.0" + xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" + xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/2.0" + xmlns:luse="http://www.opengis.net/citygml/landuse/2.0" + xmlns:frn="http://www.opengis.net/citygml/cityfurniture/2.0" + xmlns:app="http://www.opengis.net/citygml/appearance/2.0" + xmlns:tex="http://www.opengis.net/citygml/texturedsurface/2.0" + xmlns:smil20="http://www.w3.org/2001/SMIL20/" + xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" + xmlns:bldg="http://www.opengis.net/citygml/building/2.0" + xmlns:dem="http://www.opengis.net/citygml/relief/2.0" + xmlns:veg="http://www.opengis.net/citygml/vegetation/2.0" + xmlns:brid="http://www.opengis.net/citygml/bridge/2.0" + xmlns:tun="http://www.opengis.net/citygml/tunnel/2.0" + xmlns:gen="http://www.opengis.net/citygml/generics/2.0" + xmlns:wfs="http://www.opengis.net/wfs" + xsi:schemaLocation="http://www.opengis.net/citygml/landuse/2.0 http://schemas.opengis.net/citygml/landuse/2.0/landUse.xsd http://www.opengis.net/citygml/cityfurniture/2.0 http://schemas.opengis.net/citygml/cityfurniture/2.0/cityFurniture.xsd http://www.opengis.net/citygml/appearance/2.0 http://schemas.opengis.net/citygml/appearance/2.0/appearance.xsd http://www.opengis.net/citygml/texturedsurface/2.0 http://schemas.opengis.net/citygml/texturedsurface/2.0/texturedSurface.xsd http://www.opengis.net/citygml/transportation/2.0 http://schemas.opengis.net/citygml/transportation/2.0/transportation.xsd http://www.opengis.net/citygml/waterbody/2.0 http://schemas.opengis.net/citygml/waterbody/2.0/waterBody.xsd http://www.opengis.net/citygml/building/2.0 http://schemas.opengis.net/citygml/building/2.0/building.xsd http://www.opengis.net/citygml/relief/2.0 http://schemas.opengis.net/citygml/relief/2.0/relief.xsd http://www.opengis.net/citygml/vegetation/2.0 http://schemas.opengis.net/citygml/vegetation/2.0/vegetation.xsd http://www.opengis.net/citygml/cityobjectgroup/2.0 http://schemas.opengis.net/citygml/cityobjectgroup/2.0/cityObjectGroup.xsd http://www.opengis.net/citygml/bridge/2.0 http://schemas.opengis.net/citygml/bridge/2.0/bridge.xsd http://www.opengis.net/citygml/tunnel/2.0 http://schemas.opengis.net/citygml/tunnel/2.0/tunnel.xsd http://www.opengis.net/citygml/generics/2.0 http://schemas.opengis.net/citygml/generics/2.0/generics.xsd"> +<gml:description>Testdataset</gml:description> +<gml:name>ImplicitGeometry zipfile testdata</gml:name> +<core:cityObjectMember> + <gen:GenericCityObject> + <gml:description>CPA_Symbol</gml:description> + <gml:name>Implicit2</gml:name> + <gen:lod2Geometry> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-5"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-5"> + <gml:posList srsDimension="3">-0.049000 0.085000 1.162000 -0.098000 0.000000 1.162000 -0.049000 -0.085000 1.162000 0.049000 -0.085000 1.162000 0.098000 0.000000 1.162000 0.049000 0.085000 1.162000 -0.049000 0.085000 1.162000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-5_1"> + <gml:posList srsDimension="3">-0.052000 0.030000 1.162000 0.000000 0.060000 1.162000 0.052000 0.030000 1.162000 0.052000 -0.030000 1.162000 0.000000 -0.060000 1.162000 -0.052000 -0.030000 1.162000 -0.052000 0.030000 1.162000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-6"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-6"> + <gml:posList srsDimension="3">-0.049000 0.085000 0.000000 -0.049000 0.085000 1.162000 0.049000 0.085000 1.162000 0.049000 0.085000 0.000000 -0.049000 0.085000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-7"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-7"> + <gml:posList srsDimension="3">-0.098000 0.000000 0.000000 -0.098000 0.000000 1.162000 -0.049000 0.085000 1.162000 -0.049000 0.085000 0.000000 -0.098000 0.000000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-8"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-8"> + <gml:posList srsDimension="3">0.098000 0.000000 0.000000 0.098000 0.000000 1.162000 0.049000 -0.085000 1.162000 0.049000 -0.085000 0.000000 0.098000 0.000000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-9"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-9"> + <gml:posList srsDimension="3">-0.049000 -0.085000 0.000000 -0.049000 -0.085000 1.162000 -0.098000 0.000000 1.162000 -0.098000 0.000000 0.000000 -0.049000 -0.085000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-10"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-10"> + <gml:posList srsDimension="3">0.049000 0.085000 0.000000 0.049000 0.085000 1.162000 0.098000 0.000000 1.162000 0.098000 0.000000 0.000000 0.049000 0.085000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-11"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-11"> + <gml:posList srsDimension="3">0.049000 -0.085000 0.000000 0.049000 -0.085000 1.162000 -0.049000 -0.085000 1.162000 -0.049000 -0.085000 0.000000 0.049000 -0.085000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-12"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-12"> + <gml:posList srsDimension="3">0.000000 0.408000 4.880000 0.353000 0.205000 4.880000 0.353000 0.205000 4.830000 0.000000 0.408000 4.830000 0.000000 0.408000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-13"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-13"> + <gml:posList srsDimension="3">0.000000 0.408000 4.880000 0.000000 0.001000 5.000000 0.353000 0.205000 4.880000 0.000000 0.408000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-14"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-14"> + <gml:posList srsDimension="3">-0.353000 -0.202000 4.880000 0.000000 -0.406000 4.880000 0.000000 0.001000 5.000000 -0.353000 -0.202000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-15"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-15"> + <gml:posList srsDimension="3">0.000000 0.001000 5.000000 0.000000 0.408000 4.880000 -0.353000 0.205000 4.880000 0.000000 0.001000 5.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-16"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-16"> + <gml:posList srsDimension="3">0.000000 -0.406000 4.880000 -0.353000 -0.202000 4.880000 -0.353000 -0.202000 4.830000 0.000000 -0.406000 4.830000 0.000000 -0.406000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-17"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-17"> + <gml:posList srsDimension="3">0.353000 -0.202000 4.880000 0.353000 0.205000 4.880000 0.000000 0.001000 5.000000 0.353000 -0.202000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-18"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-18"> + <gml:posList srsDimension="3">0.353000 0.205000 4.880000 0.353000 -0.202000 4.880000 0.353000 -0.202000 4.830000 0.353000 0.205000 4.830000 0.353000 0.205000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-19"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-19"> + <gml:posList srsDimension="3">0.353000 -0.202000 4.880000 0.000000 0.001000 5.000000 0.000000 -0.406000 4.880000 0.353000 -0.202000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-20"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-20"> + <gml:posList srsDimension="3">-0.353000 0.205000 4.880000 -0.353000 -0.202000 4.880000 0.000000 0.001000 5.000000 -0.353000 0.205000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-21"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-21"> + <gml:posList srsDimension="3">0.000000 0.080000 3.982000 0.069000 0.040000 3.982000 0.069000 0.040000 3.892000 0.000000 0.080000 3.892000 0.000000 0.080000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-22"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-22"> + <gml:posList srsDimension="3">0.069000 0.040000 3.982000 0.069000 -0.040000 3.982000 0.069000 -0.040000 3.892000 0.069000 0.040000 3.892000 0.069000 0.040000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-23"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-23"> + <gml:posList srsDimension="3">0.353000 -0.202000 4.880000 0.000000 -0.406000 4.880000 0.000000 -0.406000 4.830000 0.353000 -0.202000 4.830000 0.353000 -0.202000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-24"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-24"> + <gml:posList srsDimension="3">-0.069000 0.040000 3.982000 0.000000 0.080000 3.982000 0.000000 0.080000 3.892000 -0.069000 0.040000 3.892000 -0.069000 0.040000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-25"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-25"> + <gml:posList srsDimension="3">0.000000 -0.080000 3.982000 -0.069000 -0.040000 3.982000 -0.069000 -0.040000 3.892000 0.000000 -0.080000 3.892000 0.000000 -0.080000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-26"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-26"> + <gml:posList srsDimension="3">-0.353000 -0.202000 4.880000 -0.353000 0.205000 4.880000 -0.353000 0.205000 4.830000 -0.353000 -0.202000 4.830000 -0.353000 -0.202000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-27"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-27"> + <gml:posList srsDimension="3">-0.353000 0.205000 4.880000 0.000000 0.408000 4.880000 0.000000 0.408000 4.830000 -0.353000 0.205000 4.830000 -0.353000 0.205000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-28"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-28"> + <gml:posList srsDimension="3">-0.069000 -0.040000 3.982000 -0.069000 0.040000 3.982000 -0.069000 0.040000 3.892000 -0.069000 -0.040000 3.892000 -0.069000 -0.040000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-29"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-29"> + <gml:posList srsDimension="3">0.000000 -0.080000 3.892000 -0.069000 -0.040000 3.892000 -0.069000 0.040000 3.892000 0.000000 0.080000 3.892000 0.069000 0.040000 3.892000 0.069000 -0.040000 3.892000 0.000000 -0.080000 3.892000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-29_1"> + <gml:posList srsDimension="3">-0.052000 0.030000 3.892000 -0.052000 -0.030000 3.892000 0.000000 -0.060000 3.892000 0.052000 -0.030000 3.892000 0.052000 0.030000 3.892000 0.000000 0.060000 3.892000 -0.052000 0.030000 3.892000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-30"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-30"> + <gml:posList srsDimension="3">-0.052000 -0.030000 3.892000 -0.052000 -0.030000 1.162000 0.000000 -0.060000 1.162000 0.000000 -0.060000 3.892000 -0.052000 -0.030000 3.892000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-31"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-31"> + <gml:posList srsDimension="3">0.052000 0.030000 3.892000 0.052000 0.030000 1.162000 0.000000 0.060000 1.162000 0.000000 0.060000 3.892000 0.052000 0.030000 3.892000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-32"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-32"> + <gml:posList srsDimension="3">0.000000 0.060000 3.892000 0.000000 0.060000 1.162000 -0.052000 0.030000 1.162000 -0.052000 0.030000 3.892000 0.000000 0.060000 3.892000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-33"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-33"> + <gml:posList srsDimension="3">-0.052000 0.030000 3.892000 -0.052000 0.030000 1.162000 -0.052000 -0.030000 1.162000 -0.052000 -0.030000 3.892000 -0.052000 0.030000 3.892000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-34"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-34"> + <gml:posList srsDimension="3">0.069000 -0.040000 3.982000 0.000000 -0.080000 3.982000 0.000000 -0.080000 3.892000 0.069000 -0.040000 3.892000 0.069000 -0.040000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-35"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-35"> + <gml:posList srsDimension="3">-0.286000 0.166000 4.880000 -0.181000 0.105000 4.117000 -0.181000 -0.104000 4.117000 -0.286000 -0.164000 4.880000 -0.286000 0.166000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-36"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-36"> + <gml:posList srsDimension="3">-0.171000 -0.099000 4.050000 -0.138000 -0.080000 3.982000 0.000000 -0.160000 3.982000 0.000000 -0.197000 4.050000 -0.171000 -0.099000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-37"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-37"> + <gml:posList srsDimension="3">0.286000 -0.164000 4.880000 0.181000 -0.104000 4.117000 0.181000 0.105000 4.117000 0.286000 0.166000 4.880000 0.286000 -0.164000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-38"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-38"> + <gml:posList srsDimension="3">0.138000 -0.080000 3.982000 0.171000 -0.099000 4.050000 0.000000 -0.197000 4.050000 0.000000 -0.160000 3.982000 0.138000 -0.080000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-39"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-39"> + <gml:posList srsDimension="3">0.000000 -0.329000 4.880000 0.000000 -0.208000 4.117000 0.181000 -0.104000 4.117000 0.286000 -0.164000 4.880000 0.000000 -0.329000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-40"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-40"> + <gml:posList srsDimension="3">0.171000 -0.099000 4.050000 0.138000 -0.080000 3.982000 0.138000 0.080000 3.982000 0.171000 0.099000 4.050000 0.171000 -0.099000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-41"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-41"> + <gml:posList srsDimension="3">0.171000 0.099000 4.050000 0.181000 0.105000 4.117000 0.181000 -0.104000 4.117000 0.171000 -0.099000 4.050000 0.171000 0.099000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-42"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-42"> + <gml:posList srsDimension="3">0.171000 -0.099000 4.050000 0.181000 -0.104000 4.117000 0.000000 -0.208000 4.117000 0.000000 -0.197000 4.050000 0.171000 -0.099000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-43"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-43"> + <gml:posList srsDimension="3">-0.138000 0.080000 3.982000 -0.171000 0.099000 4.050000 0.000000 0.198000 4.050000 0.000000 0.160000 3.982000 -0.138000 0.080000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-44"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-44"> + <gml:posList srsDimension="3">0.000000 -0.060000 3.892000 0.000000 -0.060000 1.162000 0.052000 -0.030000 1.162000 0.052000 -0.030000 3.892000 0.000000 -0.060000 3.892000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-45"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-45"> + <gml:posList srsDimension="3">-0.286000 -0.164000 4.880000 -0.181000 -0.104000 4.117000 0.000000 -0.208000 4.117000 0.000000 -0.329000 4.880000 -0.286000 -0.164000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-46"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-46"> + <gml:posList srsDimension="3">0.171000 0.099000 4.050000 0.138000 0.080000 3.982000 0.000000 0.160000 3.982000 0.000000 0.198000 4.050000 0.171000 0.099000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-47"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-47"> + <gml:posList srsDimension="3">0.000000 0.198000 4.050000 0.000000 0.209000 4.117000 0.181000 0.105000 4.117000 0.171000 0.099000 4.050000 0.000000 0.198000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-48"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-48"> + <gml:posList srsDimension="3">-0.171000 -0.099000 4.050000 -0.181000 -0.104000 4.117000 -0.181000 0.105000 4.117000 -0.171000 0.099000 4.050000 -0.171000 -0.099000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-49"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-49"> + <gml:posList srsDimension="3">-0.171000 0.099000 4.050000 -0.138000 0.080000 3.982000 -0.138000 -0.080000 3.982000 -0.171000 -0.099000 4.050000 -0.171000 0.099000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-50"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-50"> + <gml:posList srsDimension="3">-0.171000 0.099000 4.050000 -0.181000 0.105000 4.117000 0.000000 0.209000 4.117000 0.000000 0.198000 4.050000 -0.171000 0.099000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-51"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-51"> + <gml:posList srsDimension="3">0.000000 0.331000 4.880000 0.000000 0.209000 4.117000 -0.181000 0.105000 4.117000 -0.286000 0.166000 4.880000 0.000000 0.331000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-52"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-52"> + <gml:posList srsDimension="3">-0.138000 0.080000 3.982000 0.000000 0.160000 3.982000 0.138000 0.080000 3.982000 0.138000 -0.080000 3.982000 0.000000 -0.160000 3.982000 -0.138000 -0.080000 3.982000 -0.138000 0.080000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-52_1"> + <gml:posList srsDimension="3">0.069000 0.040000 3.982000 0.000000 0.080000 3.982000 -0.069000 0.040000 3.982000 -0.069000 -0.040000 3.982000 0.000000 -0.080000 3.982000 0.069000 -0.040000 3.982000 0.069000 0.040000 3.982000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-53"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-53"> + <gml:posList srsDimension="3">0.052000 -0.030000 3.892000 0.052000 -0.030000 1.162000 0.052000 0.030000 1.162000 0.052000 0.030000 3.892000 0.052000 -0.030000 3.892000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-54"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-54"> + <gml:posList srsDimension="3">0.000000 -0.197000 4.050000 0.000000 -0.208000 4.117000 -0.181000 -0.104000 4.117000 -0.171000 -0.099000 4.050000 0.000000 -0.197000 4.050000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-55"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-55"> + <gml:posList srsDimension="3">0.286000 0.166000 4.880000 0.181000 0.105000 4.117000 0.000000 0.209000 4.117000 0.000000 0.331000 4.880000 0.286000 0.166000 4.880000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gen:lod2Geometry> + </gen:GenericCityObject> +</core:cityObjectMember> +</core:CityModel> diff --git a/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Main_model.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Main_model.gml new file mode 100644 index 0000000000000000000000000000000000000000..8daf1b758446dc57be4637c5fb999d01f35d8777 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/Main_model.gml @@ -0,0 +1,446 @@ +<?xml version="1.0" encoding="UTF-8"?> +<core:CityModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:core="http://www.opengis.net/citygml/2.0" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:tran="http://www.opengis.net/citygml/transportation/2.0" + xmlns:wtr="http://www.opengis.net/citygml/waterbody/2.0" + xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" + xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/2.0" + xmlns:luse="http://www.opengis.net/citygml/landuse/2.0" + xmlns:frn="http://www.opengis.net/citygml/cityfurniture/2.0" + xmlns:app="http://www.opengis.net/citygml/appearance/2.0" + xmlns:tex="http://www.opengis.net/citygml/texturedsurface/2.0" + xmlns:smil20="http://www.w3.org/2001/SMIL20/" + xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" + xmlns:bldg="http://www.opengis.net/citygml/building/2.0" + xmlns:dem="http://www.opengis.net/citygml/relief/2.0" + xmlns:veg="http://www.opengis.net/citygml/vegetation/2.0" + xmlns:brid="http://www.opengis.net/citygml/bridge/2.0" + xmlns:tun="http://www.opengis.net/citygml/tunnel/2.0" + xmlns:gen="http://www.opengis.net/citygml/generics/2.0" + xmlns:wfs="http://www.opengis.net/wfs" + xsi:schemaLocation="http://www.opengis.net/citygml/landuse/2.0 http://schemas.opengis.net/citygml/landuse/2.0/landUse.xsd http://www.opengis.net/citygml/cityfurniture/2.0 http://schemas.opengis.net/citygml/cityfurniture/2.0/cityFurniture.xsd http://www.opengis.net/citygml/appearance/2.0 http://schemas.opengis.net/citygml/appearance/2.0/appearance.xsd http://www.opengis.net/citygml/texturedsurface/2.0 http://schemas.opengis.net/citygml/texturedsurface/2.0/texturedSurface.xsd http://www.opengis.net/citygml/transportation/2.0 http://schemas.opengis.net/citygml/transportation/2.0/transportation.xsd http://www.opengis.net/citygml/waterbody/2.0 http://schemas.opengis.net/citygml/waterbody/2.0/waterBody.xsd http://www.opengis.net/citygml/building/2.0 http://schemas.opengis.net/citygml/building/2.0/building.xsd http://www.opengis.net/citygml/relief/2.0 http://schemas.opengis.net/citygml/relief/2.0/relief.xsd http://www.opengis.net/citygml/vegetation/2.0 http://schemas.opengis.net/citygml/vegetation/2.0/vegetation.xsd http://www.opengis.net/citygml/cityobjectgroup/2.0 http://schemas.opengis.net/citygml/cityobjectgroup/2.0/cityObjectGroup.xsd http://www.opengis.net/citygml/bridge/2.0 http://schemas.opengis.net/citygml/bridge/2.0/bridge.xsd http://www.opengis.net/citygml/tunnel/2.0 http://schemas.opengis.net/citygml/tunnel/2.0/tunnel.xsd http://www.opengis.net/citygml/generics/2.0 http://schemas.opengis.net/citygml/generics/2.0/generics.xsd"> +<gml:description>G:\62\GIS_tui\Produkte\3D\Zusammenarbeit_Universitäten\HFT Stuttgart\Testdatensatz_28062022\Export_Wiesdorf.gml</gml:description> +<gml:name>G:\62\GIS_tui\Produkte\3D\Zusammenarbeit_Universitäten\HFT Stuttgart\Testdatensatz_28062022\Export_Wiesdorf.gml</gml:name> +<gml:boundedBy> + <gml:Envelope srsDimension="3" srsName="urn:ogc:def:crs:EPSG::25832"> + <gml:lowerCorner>357978.09 5654873.32 0.00</gml:lowerCorner> + <gml:upperCorner>359213.91 5656013.49 0.00</gml:upperCorner> + </gml:Envelope> +</gml:boundedBy> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC40f8b818-84e2-4bf7-bbfa-22af5f20f9f3"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>359134.053 5655248.918 46.90999985</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC40f8b818-84e2-4bf7-bbfa-22af5f20f9f3"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC40f8b818-84e2-4bf7-bbfa-22af5f20f9f3"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC40f8b818-84e2-4bf7-bbfa-22af5f20f9f3"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC18370283-fc17-4a8d-812e-ac677b3cc6aa"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358805.594 5655223.78 46.59999847</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC18370283-fc17-4a8d-812e-ac677b3cc6aa"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC18370283-fc17-4a8d-812e-ac677b3cc6aa"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC18370283-fc17-4a8d-812e-ac677b3cc6aa"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="ICf9ac1d5a-4be4-466c-934e-58cdce2cb082"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358528.544 5655634.731 44.45999908</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#ICf9ac1d5a-4be4-466c-934e-58cdce2cb082"/> + <gen:lod3ImplicitRepresentation xlink:href="#ICf9ac1d5a-4be4-466c-934e-58cdce2cb082"/> + <gen:lod4ImplicitRepresentation xlink:href="#ICf9ac1d5a-4be4-466c-934e-58cdce2cb082"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC1f5d078e-869e-4adc-95bf-6e1ada98105d"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358921.258 5655754.859 44.00999832</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC1f5d078e-869e-4adc-95bf-6e1ada98105d"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC1f5d078e-869e-4adc-95bf-6e1ada98105d"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC1f5d078e-869e-4adc-95bf-6e1ada98105d"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC15f429a4-4997-4e7f-8eca-e5c6087ed869"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358566.979 5655138.757 46.36000061</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC15f429a4-4997-4e7f-8eca-e5c6087ed869"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC15f429a4-4997-4e7f-8eca-e5c6087ed869"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC15f429a4-4997-4e7f-8eca-e5c6087ed869"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="ICf9cb14cc-99a2-4bf2-ac68-75e876aebe1a"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358503.967 5655267.126 46.91999817</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#ICf9cb14cc-99a2-4bf2-ac68-75e876aebe1a"/> + <gen:lod3ImplicitRepresentation xlink:href="#ICf9cb14cc-99a2-4bf2-ac68-75e876aebe1a"/> + <gen:lod4ImplicitRepresentation xlink:href="#ICf9cb14cc-99a2-4bf2-ac68-75e876aebe1a"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC2df38958-7c1d-4804-aaea-93ea742e62c1"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>359055.978 5655849.151 42.93000031</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC2df38958-7c1d-4804-aaea-93ea742e62c1"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC2df38958-7c1d-4804-aaea-93ea742e62c1"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC2df38958-7c1d-4804-aaea-93ea742e62c1"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC6cd916e8-1916-4e68-ae19-2b48b02a3cd9"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358551.225 5655559.56 44.58000183</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC6cd916e8-1916-4e68-ae19-2b48b02a3cd9"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC6cd916e8-1916-4e68-ae19-2b48b02a3cd9"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC6cd916e8-1916-4e68-ae19-2b48b02a3cd9"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC9926fd28-fa21-4a5c-8829-9baf2100ee74"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>359050.629 5655010.897 45.25999832</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC9926fd28-fa21-4a5c-8829-9baf2100ee74"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC9926fd28-fa21-4a5c-8829-9baf2100ee74"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC9926fd28-fa21-4a5c-8829-9baf2100ee74"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC860511a3-6d12-4d5e-9ecc-c8c8ab866d48"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358445.815 5655744.757 43.90999985</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC860511a3-6d12-4d5e-9ecc-c8c8ab866d48"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC860511a3-6d12-4d5e-9ecc-c8c8ab866d48"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC860511a3-6d12-4d5e-9ecc-c8c8ab866d48"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC9a67f98b-ea7c-4650-a76b-70ddf055693e"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>357980.349 5655498.896 46.88999939</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC9a67f98b-ea7c-4650-a76b-70ddf055693e"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC9a67f98b-ea7c-4650-a76b-70ddf055693e"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC9a67f98b-ea7c-4650-a76b-70ddf055693e"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC574549b9-5daf-4404-922f-ad143f772cf5"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358828.134 5655492.423 45.84000015</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC574549b9-5daf-4404-922f-ad143f772cf5"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC574549b9-5daf-4404-922f-ad143f772cf5"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC574549b9-5daf-4404-922f-ad143f772cf5"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC16de12fd-a52a-4c99-91e1-6466bf223c35"> + <core:transformationMatrix> + 1.0 0.0 0 0 + -0.0 1.0 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit2.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358872.807 5655511.242 45.72999954</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC16de12fd-a52a-4c99-91e1-6466bf223c35"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC16de12fd-a52a-4c99-91e1-6466bf223c35"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC16de12fd-a52a-4c99-91e1-6466bf223c35"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC06c0a1de-c757-41d1-8142-eb43b941c06e"> + <core:transformationMatrix> + 0.9444916824817261 -0.3285353279676911 0 0 + 0.3285353279676911 0.9444916824817261 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit1.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358600.899 5655436.227 46.47575902257221</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC06c0a1de-c757-41d1-8142-eb43b941c06e"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC06c0a1de-c757-41d1-8142-eb43b941c06e"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC06c0a1de-c757-41d1-8142-eb43b941c06e"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="ICe37a46d4-dd5c-4da4-bc63-4fd64104fa7f"> + <core:transformationMatrix> + -0.9667328231176867 0.2557882888384602 0 0 + -0.2557882888384602 -0.9667328231176867 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit1.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358564.214 5655406.122 46.67377932584644</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#ICe37a46d4-dd5c-4da4-bc63-4fd64104fa7f"/> + <gen:lod3ImplicitRepresentation xlink:href="#ICe37a46d4-dd5c-4da4-bc63-4fd64104fa7f"/> + <gen:lod4ImplicitRepresentation xlink:href="#ICe37a46d4-dd5c-4da4-bc63-4fd64104fa7f"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="ICd0cefddc-7ed8-44c4-8ef2-a7f517e374c5"> + <core:transformationMatrix> + 0.4199574315257782 0.9075438037396715 0 0 + -0.9075438037396715 0.4199574315257782 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>Implicit1.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358996.371 5655511.698 47.731653352198045</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#ICd0cefddc-7ed8-44c4-8ef2-a7f517e374c5"/> + <gen:lod3ImplicitRepresentation xlink:href="#ICd0cefddc-7ed8-44c4-8ef2-a7f517e374c5"/> + <gen:lod4ImplicitRepresentation xlink:href="#ICd0cefddc-7ed8-44c4-8ef2-a7f517e374c5"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="IC8f1f5e1b-2612-49d8-b3a1-76a304142566"> + <core:transformationMatrix> + -0.3960952573399263 -0.9182094244304061 0 0 + 0.9182094244304061 -0.3960952573399263 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>subdir/Implicit3.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358965.209 5655485.702 47.407838617376704</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#IC8f1f5e1b-2612-49d8-b3a1-76a304142566"/> + <gen:lod3ImplicitRepresentation xlink:href="#IC8f1f5e1b-2612-49d8-b3a1-76a304142566"/> + <gen:lod4ImplicitRepresentation xlink:href="#IC8f1f5e1b-2612-49d8-b3a1-76a304142566"/> + </gen:GenericCityObject> +</core:cityObjectMember> +<core:cityObjectMember> + <gen:GenericCityObject> + <gen:lod1ImplicitRepresentation> + <core:ImplicitGeometry gml:id="ICe80df500-b965-49be-b06a-3993f02370ce"> + <core:transformationMatrix> + -0.35611833267672716 -0.9344408665782699 0 0 + 0.9344408665782699 -0.35611833267672716 0 0 + 0 0 1.0 0 + 0 0 0 1 + </core:transformationMatrix> + <core:libraryObject>subdir/Implicit3.gml</core:libraryObject> + <core:referencePoint> + <gml:Point> + <gml:pos>358973.349 5655464.637 47.32017288640677</gml:pos> + </gml:Point> + </core:referencePoint> + </core:ImplicitGeometry> + </gen:lod1ImplicitRepresentation> + <gen:lod2ImplicitRepresentation xlink:href="#ICe80df500-b965-49be-b06a-3993f02370ce"/> + <gen:lod3ImplicitRepresentation xlink:href="#ICe80df500-b965-49be-b06a-3993f02370ce"/> + <gen:lod4ImplicitRepresentation xlink:href="#ICe80df500-b965-49be-b06a-3993f02370ce"/> + </gen:GenericCityObject> +</core:cityObjectMember> +</core:CityModel> \ No newline at end of file diff --git a/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/subdir/Implicit3.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/subdir/Implicit3.gml new file mode 100644 index 0000000000000000000000000000000000000000..a6695b24029406c2de15e58a3d810158f8884acd --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/implicit/subdir/Implicit3.gml @@ -0,0 +1,1527 @@ +<?xml version="1.0" encoding="UTF-8"?> +<core:CityModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:core="http://www.opengis.net/citygml/2.0" + xmlns:gml="http://www.opengis.net/gml" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:tran="http://www.opengis.net/citygml/transportation/2.0" + xmlns:wtr="http://www.opengis.net/citygml/waterbody/2.0" + xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" + xmlns:grp="http://www.opengis.net/citygml/cityobjectgroup/2.0" + xmlns:luse="http://www.opengis.net/citygml/landuse/2.0" + xmlns:frn="http://www.opengis.net/citygml/cityfurniture/2.0" + xmlns:app="http://www.opengis.net/citygml/appearance/2.0" + xmlns:tex="http://www.opengis.net/citygml/texturedsurface/2.0" + xmlns:smil20="http://www.w3.org/2001/SMIL20/" + xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" + xmlns:bldg="http://www.opengis.net/citygml/building/2.0" + xmlns:dem="http://www.opengis.net/citygml/relief/2.0" + xmlns:veg="http://www.opengis.net/citygml/vegetation/2.0" + xmlns:brid="http://www.opengis.net/citygml/bridge/2.0" + xmlns:tun="http://www.opengis.net/citygml/tunnel/2.0" + xmlns:gen="http://www.opengis.net/citygml/generics/2.0" + xmlns:wfs="http://www.opengis.net/wfs" + xsi:schemaLocation="http://www.opengis.net/citygml/landuse/2.0 http://schemas.opengis.net/citygml/landuse/2.0/landUse.xsd http://www.opengis.net/citygml/cityfurniture/2.0 http://schemas.opengis.net/citygml/cityfurniture/2.0/cityFurniture.xsd http://www.opengis.net/citygml/appearance/2.0 http://schemas.opengis.net/citygml/appearance/2.0/appearance.xsd http://www.opengis.net/citygml/texturedsurface/2.0 http://schemas.opengis.net/citygml/texturedsurface/2.0/texturedSurface.xsd http://www.opengis.net/citygml/transportation/2.0 http://schemas.opengis.net/citygml/transportation/2.0/transportation.xsd http://www.opengis.net/citygml/waterbody/2.0 http://schemas.opengis.net/citygml/waterbody/2.0/waterBody.xsd http://www.opengis.net/citygml/building/2.0 http://schemas.opengis.net/citygml/building/2.0/building.xsd http://www.opengis.net/citygml/relief/2.0 http://schemas.opengis.net/citygml/relief/2.0/relief.xsd http://www.opengis.net/citygml/vegetation/2.0 http://schemas.opengis.net/citygml/vegetation/2.0/vegetation.xsd http://www.opengis.net/citygml/cityobjectgroup/2.0 http://schemas.opengis.net/citygml/cityobjectgroup/2.0/cityObjectGroup.xsd http://www.opengis.net/citygml/bridge/2.0 http://schemas.opengis.net/citygml/bridge/2.0/bridge.xsd http://www.opengis.net/citygml/tunnel/2.0 http://schemas.opengis.net/citygml/tunnel/2.0/tunnel.xsd http://www.opengis.net/citygml/generics/2.0 http://schemas.opengis.net/citygml/generics/2.0/generics.xsd"> +<gml:description>Testdataset</gml:description> +<gml:name>ImplicitGeometry zipfile testdata</gml:name> +<core:cityObjectMember> + <gen:GenericCityObject> + <gml:description>CPA_Symbol</gml:description> + <gml:name>Implicit3</gml:name> + <gen:lod2Geometry> + <gml:MultiSurface> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-5"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-5"> + <gml:posList srsDimension="3">-0.147000 0.860000 1.282000 -0.147000 0.860000 1.232000 -1.238000 0.860000 1.232000 -1.238000 0.860000 1.282000 -0.147000 0.860000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-6"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-6"> + <gml:posList srsDimension="3">-1.440000 0.760000 0.000000 -1.440000 0.760000 2.100000 -1.441000 -0.890000 2.100000 -1.441000 -0.890000 2.190000 -1.441000 -0.820000 2.260000 -1.440000 0.790000 2.260000 -1.440000 0.860000 2.190000 -1.440000 0.860000 0.000000 -1.440000 0.760000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-7"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-7"> + <gml:posList srsDimension="3">-0.049000 -0.890000 2.100000 -0.049000 -0.890000 2.190000 -1.441000 -0.890000 2.190000 -1.441000 -0.890000 2.100000 -0.049000 -0.890000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-8"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-8"> + <gml:posList srsDimension="3">-1.441000 -0.820000 2.260000 -1.441000 -0.890000 2.190000 -0.049000 -0.890000 2.190000 -0.049000 -0.820000 2.260000 -1.441000 -0.820000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-9"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-9"> + <gml:posList srsDimension="3">-1.440000 0.860000 2.190000 -1.440000 0.790000 2.260000 -0.049000 0.790000 2.260000 -0.049000 0.860000 2.190000 -1.440000 0.860000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-10"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-10"> + <gml:posList srsDimension="3">-1.238000 0.860000 1.132000 -1.238000 0.860000 1.182000 -0.147000 0.860000 1.182000 -0.147000 0.860000 1.132000 -1.238000 0.860000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-11"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-11"> + <gml:posList srsDimension="3">-0.049000 0.790000 2.260000 -1.440000 0.790000 2.260000 -1.441000 -0.820000 2.260000 -0.049000 -0.820000 2.260000 -0.049000 0.790000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-12"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-12"> + <gml:posList srsDimension="3">-1.342000 0.760000 2.100000 -1.440000 0.760000 2.100000 -1.440000 0.760000 0.000000 -1.342000 0.760000 0.000000 -1.342000 0.760000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-13"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-13"> + <gml:posList srsDimension="3">-1.441000 -0.890000 2.100000 -1.440000 0.760000 2.100000 -1.342000 0.760000 2.100000 -1.342000 0.860000 2.100000 -0.049000 0.860000 2.100000 -0.049000 -0.890000 2.100000 -1.441000 -0.890000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-14"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-14"> + <gml:posList srsDimension="3">-1.440000 0.860000 2.190000 -0.049000 0.860000 2.190000 -0.049000 0.860000 2.100000 -1.342000 0.860000 2.100000 -1.342000 0.860000 0.547000 -1.342000 0.860000 0.504000 -1.342000 0.860000 0.300000 -1.342000 0.860000 0.220000 -1.342000 0.860000 0.000000 -1.440000 0.860000 0.000000 -1.440000 0.860000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-15"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-15"> + <gml:posList srsDimension="3">-1.342000 0.860000 0.220000 -1.342000 0.860000 0.300000 -0.049000 0.860000 0.300000 -0.049000 0.860000 0.220000 -1.342000 0.860000 0.220000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-16"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-16"> + <gml:posList srsDimension="3">-1.342000 0.860000 2.100000 -1.342000 0.760000 2.100000 -1.342000 0.760000 0.000000 -1.342000 0.860000 0.000000 -1.342000 0.860000 0.220000 -1.342000 0.860000 0.300000 -1.342000 0.860000 0.504000 -1.342000 0.860000 0.547000 -1.342000 0.860000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-17"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-17"> + <gml:posList srsDimension="3">-1.342000 0.860000 0.547000 -1.342000 0.860000 0.504000 -1.242000 0.860000 0.504000 -1.242000 0.860000 0.547000 -1.342000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-18"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-18"> + <gml:posList srsDimension="3">-1.242000 0.860000 0.504000 -1.242000 0.535000 0.504000 -1.242000 0.535000 0.547000 -1.242000 0.860000 0.547000 -1.242000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-19"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-19"> + <gml:posList srsDimension="3">-1.192000 0.535000 0.504000 -1.192000 0.860000 0.504000 -1.192000 0.860000 0.547000 -1.192000 0.535000 0.547000 -1.192000 0.535000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-20"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-20"> + <gml:posList srsDimension="3">-1.242000 0.535000 0.547000 -1.242000 0.535000 0.504000 -1.192000 0.535000 0.504000 -1.192000 0.535000 0.547000 -1.242000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-21"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-21"> + <gml:posList srsDimension="3">-1.242000 0.860000 0.547000 -1.242000 0.535000 0.547000 -1.192000 0.535000 0.547000 -1.192000 0.860000 0.547000 -1.242000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-22"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-22"> + <gml:posList srsDimension="3">-0.199000 0.860000 0.504000 -0.199000 0.535000 0.504000 -0.199000 0.535000 0.547000 -0.199000 0.860000 0.547000 -0.199000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-23"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-23"> + <gml:posList srsDimension="3">-0.149000 0.535000 0.504000 -0.149000 0.535000 0.547000 -0.199000 0.535000 0.547000 -0.199000 0.535000 0.504000 -0.149000 0.535000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-24"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-24"> + <gml:posList srsDimension="3">-0.149000 0.535000 0.547000 -0.149000 0.860000 0.547000 -0.199000 0.860000 0.547000 -0.199000 0.535000 0.547000 -0.149000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-25"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-25"> + <gml:posList srsDimension="3">-0.892000 0.860000 0.547000 -0.892000 0.535000 0.547000 -0.842000 0.535000 0.547000 -0.842000 0.860000 0.547000 -0.892000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-26"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-26"> + <gml:posList srsDimension="3">-0.892000 0.535000 0.547000 -0.892000 0.535000 0.504000 -0.842000 0.535000 0.504000 -0.842000 0.535000 0.547000 -0.892000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-27"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-27"> + <gml:posList srsDimension="3">-0.842000 0.535000 0.504000 -0.842000 0.860000 0.504000 -0.842000 0.860000 0.547000 -0.842000 0.535000 0.547000 -0.842000 0.535000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-28"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-28"> + <gml:posList srsDimension="3">-0.892000 0.860000 0.504000 -0.892000 0.535000 0.504000 -0.892000 0.535000 0.547000 -0.892000 0.860000 0.547000 -0.892000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-29"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-29"> + <gml:posList srsDimension="3">-0.552000 0.535000 0.547000 -0.552000 0.535000 0.504000 -0.502000 0.535000 0.504000 -0.502000 0.535000 0.547000 -0.552000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-30"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-30"> + <gml:posList srsDimension="3">-0.502000 0.535000 0.504000 -0.502000 0.860000 0.504000 -0.502000 0.860000 0.547000 -0.502000 0.535000 0.547000 -0.502000 0.535000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-31"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-31"> + <gml:posList srsDimension="3">-0.552000 0.860000 0.547000 -0.552000 0.535000 0.547000 -0.502000 0.535000 0.547000 -0.502000 0.860000 0.547000 -0.552000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-32"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-32"> + <gml:posList srsDimension="3">-1.172000 0.840000 0.547000 -1.172000 0.535000 0.547000 -0.912000 0.535000 0.547000 -0.912000 0.840000 0.547000 -1.172000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-33"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-33"> + <gml:posList srsDimension="3">-1.172000 0.535000 0.520000 -1.172000 0.840000 0.520000 -0.912000 0.840000 0.520000 -0.912000 0.535000 0.520000 -1.172000 0.535000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-34"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-34"> + <gml:posList srsDimension="3">-1.172000 0.535000 0.547000 -1.172000 0.840000 0.547000 -1.172000 0.840000 0.520000 -1.172000 0.535000 0.520000 -1.172000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-35"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-35"> + <gml:posList srsDimension="3">-1.172000 0.840000 0.547000 -0.912000 0.840000 0.547000 -0.912000 0.840000 0.520000 -1.172000 0.840000 0.520000 -1.172000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-36"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-36"> + <gml:posList srsDimension="3">-0.912000 0.840000 0.547000 -0.912000 0.535000 0.547000 -0.912000 0.535000 0.520000 -0.912000 0.840000 0.520000 -0.912000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-37"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-37"> + <gml:posList srsDimension="3">-0.912000 0.535000 0.547000 -1.172000 0.535000 0.547000 -1.172000 0.535000 0.520000 -0.912000 0.535000 0.520000 -0.912000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-38"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-38"> + <gml:posList srsDimension="3">-0.552000 0.860000 0.504000 -0.552000 0.535000 0.504000 -0.552000 0.535000 0.547000 -0.552000 0.860000 0.547000 -0.552000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-39"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-39"> + <gml:posList srsDimension="3">-0.828000 0.840000 0.547000 -0.568000 0.840000 0.547000 -0.568000 0.840000 0.520000 -0.828000 0.840000 0.520000 -0.828000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-40"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-40"> + <gml:posList srsDimension="3">-0.828000 0.535000 0.520000 -0.828000 0.840000 0.520000 -0.568000 0.840000 0.520000 -0.568000 0.535000 0.520000 -0.828000 0.535000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-41"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-41"> + <gml:posList srsDimension="3">-0.828000 0.535000 0.547000 -0.828000 0.840000 0.547000 -0.828000 0.840000 0.520000 -0.828000 0.535000 0.520000 -0.828000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-42"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-42"> + <gml:posList srsDimension="3">-0.568000 0.535000 0.547000 -0.828000 0.535000 0.547000 -0.828000 0.535000 0.520000 -0.568000 0.535000 0.520000 -0.568000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-43"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-43"> + <gml:posList srsDimension="3">-0.568000 0.840000 0.547000 -0.568000 0.535000 0.547000 -0.568000 0.535000 0.520000 -0.568000 0.840000 0.520000 -0.568000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-44"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-44"> + <gml:posList srsDimension="3">-0.828000 0.840000 0.547000 -0.828000 0.535000 0.547000 -0.568000 0.535000 0.547000 -0.568000 0.840000 0.547000 -0.828000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-45"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-45"> + <gml:posList srsDimension="3">-0.481000 0.840000 0.547000 -0.481000 0.535000 0.547000 -0.221000 0.535000 0.547000 -0.221000 0.840000 0.547000 -0.481000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-46"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-46"> + <gml:posList srsDimension="3">-0.221000 0.840000 0.547000 -0.221000 0.535000 0.547000 -0.221000 0.535000 0.520000 -0.221000 0.840000 0.520000 -0.221000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-47"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-47"> + <gml:posList srsDimension="3">-0.481000 0.535000 0.520000 -0.481000 0.840000 0.520000 -0.221000 0.840000 0.520000 -0.221000 0.535000 0.520000 -0.481000 0.535000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-48"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-48"> + <gml:posList srsDimension="3">-0.221000 0.535000 0.547000 -0.481000 0.535000 0.547000 -0.481000 0.535000 0.520000 -0.221000 0.535000 0.520000 -0.221000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-49"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-49"> + <gml:posList srsDimension="3">-0.481000 0.840000 0.547000 -0.221000 0.840000 0.547000 -0.221000 0.840000 0.520000 -0.481000 0.840000 0.520000 -0.481000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-50"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-50"> + <gml:posList srsDimension="3">-0.481000 0.535000 0.547000 -0.481000 0.840000 0.547000 -0.481000 0.840000 0.520000 -0.481000 0.535000 0.520000 -0.481000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-51"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-51"> + <gml:posList srsDimension="3">-0.149000 0.535000 0.504000 -0.149000 0.860000 0.504000 -0.149000 0.860000 0.547000 -0.149000 0.535000 0.547000 -0.149000 0.535000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-52"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-52"> + <gml:posList srsDimension="3">-0.502000 0.860000 0.547000 -0.502000 0.860000 0.504000 -0.552000 0.860000 0.504000 -0.552000 0.860000 0.547000 -0.502000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-53"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-53"> + <gml:posList srsDimension="3">-0.842000 0.860000 0.547000 -0.842000 0.860000 0.504000 -0.892000 0.860000 0.504000 -0.892000 0.860000 0.547000 -0.842000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-54"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-54"> + <gml:posList srsDimension="3">-0.149000 0.860000 0.504000 -0.199000 0.860000 0.504000 -0.199000 0.860000 0.547000 -0.149000 0.860000 0.547000 -0.149000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-55"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-55"> + <gml:posList srsDimension="3">-1.192000 0.860000 0.504000 -1.242000 0.860000 0.504000 -1.242000 0.860000 0.547000 -1.192000 0.860000 0.547000 -1.192000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-56"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-56"> + <gml:posList srsDimension="3">-1.242000 0.860000 0.504000 -1.192000 0.860000 0.504000 -0.892000 0.860000 0.504000 -0.842000 0.860000 0.504000 -0.552000 0.860000 0.504000 -0.502000 0.860000 0.504000 -0.199000 0.860000 0.504000 -0.149000 0.860000 0.504000 -0.049000 0.860000 0.504000 -0.049000 0.860000 0.300000 -1.342000 0.860000 0.300000 -1.342000 0.860000 0.504000 -1.242000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-57"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-57"> + <gml:posList srsDimension="3">-0.842000 0.860000 0.547000 -0.842000 0.860000 0.504000 -0.552000 0.860000 0.504000 -0.552000 0.860000 0.547000 -0.842000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-58"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-58"> + <gml:posList srsDimension="3">-1.192000 0.860000 0.547000 -1.192000 0.860000 0.504000 -0.892000 0.860000 0.504000 -0.892000 0.860000 0.547000 -1.192000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-59"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-59"> + <gml:posList srsDimension="3">-0.502000 0.860000 0.547000 -0.502000 0.860000 0.504000 -0.199000 0.860000 0.504000 -0.199000 0.860000 0.547000 -0.502000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-60"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-60"> + <gml:posList srsDimension="3">-0.149000 0.860000 0.547000 -0.149000 0.860000 0.504000 -0.049000 0.860000 0.504000 -0.049000 0.860000 0.547000 -0.149000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-61"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-61"> + <gml:posList srsDimension="3">-0.049000 0.860000 2.100000 -0.049000 0.860000 0.547000 -0.149000 0.860000 0.547000 -0.199000 0.860000 0.547000 -0.502000 0.860000 0.547000 -0.552000 0.860000 0.547000 -0.842000 0.860000 0.547000 -0.892000 0.860000 0.547000 -1.192000 0.860000 0.547000 -1.242000 0.860000 0.547000 -1.342000 0.860000 0.547000 -1.342000 0.860000 2.100000 -0.049000 0.860000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-61_1"> + <gml:posList srsDimension="3">-0.147000 0.860000 1.182000 -1.238000 0.860000 1.182000 -1.238000 0.860000 1.132000 -0.147000 0.860000 1.132000 -0.147000 0.860000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-61_2"> + <gml:posList srsDimension="3">-1.238000 0.860000 1.282000 -1.238000 0.860000 1.232000 -0.147000 0.860000 1.232000 -0.147000 0.860000 1.282000 -1.238000 0.860000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-62"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-62"> + <gml:posList srsDimension="3">2.832000 0.759000 2.100000 2.734000 0.759000 2.100000 2.734000 0.759000 0.000000 2.832000 0.759000 0.000000 2.832000 0.759000 0.220000 2.832000 0.759000 0.300000 2.832000 0.759000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-63"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-63"> + <gml:posList srsDimension="3">2.764000 0.789000 2.260000 2.832000 0.859000 2.190000 1.343000 0.859000 2.190000 1.343000 0.789000 2.260000 2.764000 0.789000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-64"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-64"> + <gml:posList srsDimension="3">2.832000 -0.391000 1.182000 2.832000 -0.391000 1.132000 2.832000 0.659000 1.132000 2.832000 0.659000 1.182000 2.832000 -0.391000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-65"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-65"> + <gml:posList srsDimension="3">2.832000 0.859000 2.190000 2.764000 0.789000 2.260000 2.763000 -0.821000 2.260000 2.832000 -0.891000 2.190000 2.832000 0.859000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-66"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-66"> + <gml:posList srsDimension="3">1.343000 -0.891000 2.190000 2.832000 -0.891000 2.190000 2.763000 -0.821000 2.260000 1.343000 -0.821000 2.260000 1.343000 -0.891000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-67"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-67"> + <gml:posList srsDimension="3">1.539000 0.859000 1.232000 1.539000 0.859000 1.282000 2.630000 0.859000 1.282000 2.630000 0.859000 1.232000 1.539000 0.859000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-68"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-68"> + <gml:posList srsDimension="3">2.734000 -0.591000 2.100000 2.734000 -0.591000 0.000000 2.832000 -0.591000 0.000000 2.832000 -0.591000 2.100000 2.734000 -0.591000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-69"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-69"> + <gml:posList srsDimension="3">2.832000 -0.491000 0.300000 2.832000 -0.491000 0.220000 2.832000 0.759000 0.220000 2.832000 0.759000 0.300000 2.832000 -0.491000 0.300000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-70"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-70"> + <gml:posList srsDimension="3">2.734000 -0.591000 2.100000 2.734000 -0.491000 2.100000 2.734000 -0.491000 0.000000 2.734000 -0.591000 0.000000 2.734000 -0.591000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-71"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-71"> + <gml:posList srsDimension="3">2.734000 0.859000 0.300000 2.734000 0.859000 0.220000 1.441000 0.859000 0.220000 1.441000 0.859000 0.300000 2.734000 0.859000 0.300000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-72"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-72"> + <gml:posList srsDimension="3">1.441000 0.859000 2.100000 2.734000 0.859000 2.100000 2.734000 0.859000 0.300000 1.441000 0.859000 0.300000 1.441000 0.859000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-72_1"> + <gml:posList srsDimension="3">2.630000 0.859000 1.182000 1.539000 0.859000 1.182000 1.539000 0.859000 1.132000 2.630000 0.859000 1.132000 2.630000 0.859000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-72_2"> + <gml:posList srsDimension="3">2.630000 0.859000 1.232000 2.630000 0.859000 1.282000 1.539000 0.859000 1.282000 1.539000 0.859000 1.232000 2.630000 0.859000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-73"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-73"> + <gml:posList srsDimension="3">2.832000 0.659000 1.232000 2.832000 0.659000 1.282000 2.832000 -0.391000 1.282000 2.832000 -0.391000 1.232000 2.832000 0.659000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-74"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-74"> + <gml:posList srsDimension="3">2.630000 0.859000 1.182000 2.630000 0.859000 1.132000 1.539000 0.859000 1.132000 1.539000 0.859000 1.182000 2.630000 0.859000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-75"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-75"> + <gml:posList srsDimension="3">2.734000 0.759000 2.100000 2.734000 0.859000 2.100000 2.734000 0.859000 0.300000 2.734000 0.859000 0.220000 2.734000 0.859000 0.000000 2.734000 0.759000 0.000000 2.734000 0.759000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-76"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-76"> + <gml:posList srsDimension="3">2.832000 -0.491000 2.100000 2.832000 -0.491000 0.300000 2.832000 0.759000 0.300000 2.832000 0.759000 2.100000 2.832000 -0.491000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-76_1"> + <gml:posList srsDimension="3">2.832000 -0.391000 1.132000 2.832000 -0.391000 1.182000 2.832000 0.659000 1.182000 2.832000 0.659000 1.132000 2.832000 -0.391000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-76_2"> + <gml:posList srsDimension="3">2.832000 0.659000 1.232000 2.832000 -0.391000 1.232000 2.832000 -0.391000 1.282000 2.832000 0.659000 1.282000 2.832000 0.659000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-77"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-77"> + <gml:posList srsDimension="3">2.832000 -0.891000 2.100000 2.832000 -0.891000 2.190000 1.343000 -0.891000 2.190000 1.343000 -0.891000 2.100000 2.832000 -0.891000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-78"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-78"> + <gml:posList srsDimension="3">2.832000 0.859000 0.000000 2.832000 0.859000 2.190000 2.832000 -0.891000 2.190000 2.832000 -0.891000 2.100000 2.832000 -0.591000 2.100000 2.832000 -0.591000 0.000000 2.832000 -0.491000 0.000000 2.832000 -0.491000 0.220000 2.832000 -0.491000 0.300000 2.832000 -0.491000 2.100000 2.832000 0.759000 2.100000 2.832000 0.759000 0.300000 2.832000 0.759000 0.220000 2.832000 0.759000 0.000000 2.832000 0.859000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-79"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-79"> + <gml:posList srsDimension="3">2.734000 0.859000 2.100000 1.441000 0.859000 2.100000 1.441000 0.859000 0.300000 1.441000 0.859000 0.220000 1.441000 0.859000 0.000000 1.343000 0.859000 0.000000 1.343000 0.859000 2.190000 2.832000 0.859000 2.190000 2.832000 0.859000 0.000000 2.734000 0.859000 0.000000 2.734000 0.859000 0.220000 2.734000 0.859000 0.300000 2.734000 0.859000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-80"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-80"> + <gml:posList srsDimension="3">2.734000 -0.491000 2.100000 2.832000 -0.491000 2.100000 2.832000 -0.491000 0.300000 2.832000 -0.491000 0.220000 2.832000 -0.491000 0.000000 2.734000 -0.491000 0.000000 2.734000 -0.491000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-81"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-81"> + <gml:posList srsDimension="3">2.764000 0.789000 2.260000 1.343000 0.789000 2.260000 1.343000 -0.821000 2.260000 2.763000 -0.821000 2.260000 2.764000 0.789000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-82"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-82"> + <gml:posList srsDimension="3">1.441000 0.759000 2.100000 1.343000 0.759000 2.100000 1.343000 0.759000 0.000000 1.441000 0.759000 0.000000 1.441000 0.759000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-83"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-83"> + <gml:posList srsDimension="3">1.343000 0.759000 0.000000 1.343000 0.759000 2.100000 1.343000 -0.891000 2.100000 1.343000 -0.891000 2.190000 1.343000 -0.821000 2.260000 1.343000 0.789000 2.260000 1.343000 0.859000 2.190000 1.343000 0.859000 0.000000 1.343000 0.759000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-84"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-84"> + <gml:posList srsDimension="3">1.441000 0.859000 2.100000 1.441000 0.759000 2.100000 1.441000 0.759000 0.000000 1.441000 0.859000 0.000000 1.441000 0.859000 0.220000 1.441000 0.859000 0.300000 1.441000 0.859000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-85"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-85"> + <gml:posList srsDimension="3">2.832000 -0.591000 2.100000 2.832000 -0.891000 2.100000 1.343000 -0.891000 2.100000 1.343000 0.759000 2.100000 1.441000 0.759000 2.100000 1.441000 0.859000 2.100000 2.734000 0.859000 2.100000 2.734000 0.759000 2.100000 2.832000 0.759000 2.100000 2.832000 -0.491000 2.100000 2.734000 -0.491000 2.100000 2.734000 -0.591000 2.100000 2.832000 -0.591000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-86"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-86"> + <gml:posList srsDimension="3">-1.441000 -0.890000 2.100000 -1.441000 -0.890000 2.190000 -2.832000 -0.890000 2.190000 -2.832000 -0.890000 2.100000 -1.441000 -0.890000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-87"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-87"> + <gml:posList srsDimension="3">-2.832000 -0.490000 0.300000 -2.832000 -0.490000 2.100000 -2.832000 0.760000 2.100000 -2.832000 0.760000 0.300000 -2.832000 -0.490000 0.300000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-87_1"> + <gml:posList srsDimension="3">-2.832000 0.660000 1.132000 -2.832000 0.660000 1.182000 -2.832000 -0.390000 1.182000 -2.832000 -0.390000 1.132000 -2.832000 0.660000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-87_2"> + <gml:posList srsDimension="3">-2.832000 -0.390000 1.232000 -2.832000 0.660000 1.232000 -2.832000 0.660000 1.282000 -2.832000 -0.390000 1.282000 -2.832000 -0.390000 1.232000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-88"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-88"> + <gml:posList srsDimension="3">-2.763000 0.790000 2.260000 -2.764000 -0.820000 2.260000 -1.441000 -0.820000 2.260000 -1.441000 0.790000 2.260000 -2.763000 0.790000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-89"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-89"> + <gml:posList srsDimension="3">-2.832000 0.860000 2.190000 -1.441000 0.860000 2.190000 -1.441000 0.860000 2.100000 -2.734000 0.860000 2.100000 -2.734000 0.860000 0.300000 -2.734000 0.860000 0.220000 -2.734000 0.860000 0.000000 -2.832000 0.860000 0.000000 -2.832000 0.860000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-90"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-90"> + <gml:posList srsDimension="3">-2.832000 0.760000 2.100000 -2.734000 0.760000 2.100000 -2.734000 0.860000 2.100000 -1.441000 0.860000 2.100000 -1.441000 -0.890000 2.100000 -2.832000 -0.890000 2.100000 -2.832000 -0.590000 2.100000 -2.734000 -0.590000 2.100000 -2.734000 -0.490000 2.100000 -2.832000 -0.490000 2.100000 -2.832000 0.760000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-91"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-91"> + <gml:posList srsDimension="3">-2.832000 0.760000 0.300000 -2.832000 0.760000 2.100000 -2.832000 -0.490000 2.100000 -2.832000 -0.490000 0.300000 -2.832000 -0.490000 0.220000 -2.832000 -0.490000 0.000000 -2.832000 -0.590000 0.000000 -2.832000 -0.590000 2.100000 -2.832000 -0.890000 2.100000 -2.832000 -0.890000 2.190000 -2.832000 0.860000 2.190000 -2.832000 0.860000 0.000000 -2.832000 0.760000 0.000000 -2.832000 0.760000 0.220000 -2.832000 0.760000 0.300000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-92"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-92"> + <gml:posList srsDimension="3">-2.832000 -0.490000 2.100000 -2.734000 -0.490000 2.100000 -2.734000 -0.490000 0.000000 -2.832000 -0.490000 0.000000 -2.832000 -0.490000 0.220000 -2.832000 -0.490000 0.300000 -2.832000 -0.490000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-93"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-93"> + <gml:posList srsDimension="3">-2.734000 -0.590000 2.100000 -2.832000 -0.590000 2.100000 -2.832000 -0.590000 0.000000 -2.734000 -0.590000 0.000000 -2.734000 -0.590000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-94"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-94"> + <gml:posList srsDimension="3">-2.763000 0.790000 2.260000 -2.832000 0.860000 2.190000 -2.832000 -0.890000 2.190000 -2.764000 -0.820000 2.260000 -2.763000 0.790000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-95"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-95"> + <gml:posList srsDimension="3">-2.734000 -0.490000 2.100000 -2.734000 -0.590000 2.100000 -2.734000 -0.590000 0.000000 -2.734000 -0.490000 0.000000 -2.734000 -0.490000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-96"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-96"> + <gml:posList srsDimension="3">-1.441000 -0.890000 2.190000 -1.441000 -0.820000 2.260000 -2.764000 -0.820000 2.260000 -2.832000 -0.890000 2.190000 -1.441000 -0.890000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-97"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-97"> + <gml:posList srsDimension="3">-2.734000 0.760000 2.100000 -2.832000 0.760000 2.100000 -2.832000 0.760000 0.300000 -2.832000 0.760000 0.220000 -2.832000 0.760000 0.000000 -2.734000 0.760000 0.000000 -2.734000 0.760000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-98"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-98"> + <gml:posList srsDimension="3">-1.441000 0.790000 2.260000 -1.441000 0.860000 2.190000 -2.832000 0.860000 2.190000 -2.763000 0.790000 2.260000 -1.441000 0.790000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-99"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-99"> + <gml:posList srsDimension="3">-2.734000 0.860000 2.100000 -2.734000 0.760000 2.100000 -2.734000 0.760000 0.000000 -2.734000 0.860000 0.000000 -2.734000 0.860000 0.220000 -2.734000 0.860000 0.300000 -2.734000 0.860000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-100"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-100"> + <gml:posList srsDimension="3">-2.832000 -0.490000 0.220000 -2.832000 -0.490000 0.300000 -2.832000 0.760000 0.300000 -2.832000 0.760000 0.220000 -2.832000 -0.490000 0.220000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-101"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-101"> + <gml:posList srsDimension="3">-2.734000 0.860000 0.220000 -2.734000 0.860000 0.300000 -1.441000 0.860000 0.300000 -1.441000 0.860000 0.220000 -2.734000 0.860000 0.220000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-102"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-102"> + <gml:posList srsDimension="3">-2.832000 0.660000 1.282000 -2.832000 0.660000 1.232000 -2.832000 -0.390000 1.232000 -2.832000 -0.390000 1.282000 -2.832000 0.660000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-103"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-103"> + <gml:posList srsDimension="3">-2.832000 -0.390000 1.132000 -2.832000 -0.390000 1.182000 -2.832000 0.660000 1.182000 -2.832000 0.660000 1.132000 -2.832000 -0.390000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-104"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-104"> + <gml:posList srsDimension="3">-2.629000 0.860000 1.132000 -2.629000 0.860000 1.182000 -1.539000 0.860000 1.182000 -1.539000 0.860000 1.132000 -2.629000 0.860000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-105"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-105"> + <gml:posList srsDimension="3">-1.539000 0.860000 1.282000 -1.539000 0.860000 1.232000 -2.629000 0.860000 1.232000 -2.629000 0.860000 1.282000 -1.539000 0.860000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-106"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-106"> + <gml:posList srsDimension="3">-2.734000 0.860000 2.100000 -1.441000 0.860000 2.100000 -1.441000 0.860000 0.300000 -2.734000 0.860000 0.300000 -2.734000 0.860000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-106_1"> + <gml:posList srsDimension="3">-1.539000 0.860000 1.182000 -2.629000 0.860000 1.182000 -2.629000 0.860000 1.132000 -1.539000 0.860000 1.132000 -1.539000 0.860000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-106_2"> + <gml:posList srsDimension="3">-2.629000 0.860000 1.282000 -2.629000 0.860000 1.232000 -1.539000 0.860000 1.232000 -1.539000 0.860000 1.282000 -2.629000 0.860000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-107"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-107"> + <gml:posList srsDimension="3">1.245000 0.859000 1.282000 1.245000 0.859000 1.232000 0.154000 0.860000 1.232000 0.154000 0.860000 1.282000 1.245000 0.859000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-108"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-108"> + <gml:posList srsDimension="3">-0.049000 0.760000 0.000000 -0.049000 0.760000 2.100000 -0.049000 -0.890000 2.100000 -0.049000 -0.890000 2.190000 -0.049000 -0.820000 2.260000 -0.049000 0.790000 2.260000 -0.049000 0.860000 2.190000 -0.049000 0.860000 0.000000 -0.049000 0.760000 0.000000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-109"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-109"> + <gml:posList srsDimension="3">1.343000 -0.891000 2.100000 1.343000 -0.891000 2.190000 -0.049000 -0.890000 2.190000 -0.049000 -0.890000 2.100000 1.343000 -0.891000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-110"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-110"> + <gml:posList srsDimension="3">-0.049000 -0.820000 2.260000 -0.049000 -0.890000 2.190000 1.343000 -0.891000 2.190000 1.343000 -0.821000 2.260000 -0.049000 -0.820000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-111"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-111"> + <gml:posList srsDimension="3">-0.049000 0.860000 2.190000 -0.049000 0.790000 2.260000 1.343000 0.789000 2.260000 1.343000 0.859000 2.190000 -0.049000 0.860000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-112"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-112"> + <gml:posList srsDimension="3">0.154000 0.860000 1.132000 0.154000 0.860000 1.182000 1.245000 0.859000 1.182000 1.245000 0.859000 1.132000 0.154000 0.860000 1.132000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-113"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-113"> + <gml:posList srsDimension="3">1.343000 0.789000 2.260000 -0.049000 0.790000 2.260000 -0.049000 -0.820000 2.260000 1.343000 -0.821000 2.260000 1.343000 0.789000 2.260000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-114"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-114"> + <gml:posList srsDimension="3">0.049000 0.760000 2.100000 -0.049000 0.760000 2.100000 -0.049000 0.760000 0.000000 0.049000 0.760000 0.000000 0.049000 0.760000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-115"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-115"> + <gml:posList srsDimension="3">-0.049000 -0.890000 2.100000 -0.049000 0.760000 2.100000 0.049000 0.760000 2.100000 0.049000 0.860000 2.100000 1.343000 0.859000 2.100000 1.343000 -0.891000 2.100000 -0.049000 -0.890000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-116"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-116"> + <gml:posList srsDimension="3">-0.049000 0.860000 2.190000 1.343000 0.859000 2.190000 1.343000 0.859000 2.100000 0.049000 0.860000 2.100000 0.049000 0.860000 0.547000 0.049000 0.860000 0.504000 0.049000 0.860000 0.300000 0.049000 0.860000 0.220000 0.049000 0.860000 0.000000 -0.049000 0.860000 0.000000 -0.049000 0.860000 2.190000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-117"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-117"> + <gml:posList srsDimension="3">0.049000 0.860000 0.220000 0.049000 0.860000 0.300000 1.343000 0.859000 0.300000 1.343000 0.859000 0.220000 0.049000 0.860000 0.220000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-118"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-118"> + <gml:posList srsDimension="3">0.049000 0.860000 2.100000 0.049000 0.760000 2.100000 0.049000 0.760000 0.000000 0.049000 0.860000 0.000000 0.049000 0.860000 0.220000 0.049000 0.860000 0.300000 0.049000 0.860000 0.504000 0.049000 0.860000 0.547000 0.049000 0.860000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-119"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-119"> + <gml:posList srsDimension="3">0.049000 0.860000 0.547000 0.049000 0.860000 0.504000 0.149000 0.860000 0.504000 0.149000 0.860000 0.547000 0.049000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-120"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-120"> + <gml:posList srsDimension="3">0.149000 0.860000 0.504000 0.149000 0.535000 0.504000 0.149000 0.535000 0.547000 0.149000 0.860000 0.547000 0.149000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-121"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-121"> + <gml:posList srsDimension="3">0.199000 0.535000 0.504000 0.199000 0.860000 0.504000 0.199000 0.860000 0.547000 0.199000 0.535000 0.547000 0.199000 0.535000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-122"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-122"> + <gml:posList srsDimension="3">0.149000 0.535000 0.547000 0.149000 0.535000 0.504000 0.199000 0.535000 0.504000 0.199000 0.535000 0.547000 0.149000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-123"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-123"> + <gml:posList srsDimension="3">0.149000 0.860000 0.547000 0.149000 0.535000 0.547000 0.199000 0.535000 0.547000 0.199000 0.860000 0.547000 0.149000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-124"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-124"> + <gml:posList srsDimension="3">1.193000 0.859000 0.504000 1.192000 0.534000 0.504000 1.192000 0.534000 0.547000 1.193000 0.859000 0.547000 1.193000 0.859000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-125"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-125"> + <gml:posList srsDimension="3">1.242000 0.534000 0.504000 1.242000 0.534000 0.547000 1.192000 0.534000 0.547000 1.192000 0.534000 0.504000 1.242000 0.534000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-126"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-126"> + <gml:posList srsDimension="3">1.242000 0.534000 0.547000 1.243000 0.859000 0.547000 1.193000 0.859000 0.547000 1.192000 0.534000 0.547000 1.242000 0.534000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-127"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-127"> + <gml:posList srsDimension="3">0.499000 0.859000 0.547000 0.499000 0.535000 0.547000 0.549000 0.535000 0.547000 0.549000 0.859000 0.547000 0.499000 0.859000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-128"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-128"> + <gml:posList srsDimension="3">0.499000 0.535000 0.547000 0.499000 0.535000 0.504000 0.549000 0.535000 0.504000 0.549000 0.535000 0.547000 0.499000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-129"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-129"> + <gml:posList srsDimension="3">0.549000 0.535000 0.504000 0.549000 0.859000 0.504000 0.549000 0.859000 0.547000 0.549000 0.535000 0.547000 0.549000 0.535000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-130"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-130"> + <gml:posList srsDimension="3">0.499000 0.859000 0.504000 0.499000 0.535000 0.504000 0.499000 0.535000 0.547000 0.499000 0.859000 0.547000 0.499000 0.859000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-131"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-131"> + <gml:posList srsDimension="3">0.839000 0.535000 0.547000 0.839000 0.535000 0.504000 0.889000 0.535000 0.504000 0.889000 0.535000 0.547000 0.839000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-132"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-132"> + <gml:posList srsDimension="3">0.889000 0.535000 0.504000 0.889000 0.859000 0.504000 0.889000 0.859000 0.547000 0.889000 0.535000 0.547000 0.889000 0.535000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-133"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-133"> + <gml:posList srsDimension="3">0.839000 0.859000 0.547000 0.839000 0.535000 0.547000 0.889000 0.535000 0.547000 0.889000 0.859000 0.547000 0.839000 0.859000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-134"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-134"> + <gml:posList srsDimension="3">0.219000 0.840000 0.547000 0.219000 0.535000 0.547000 0.479000 0.535000 0.547000 0.479000 0.839000 0.547000 0.219000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-135"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-135"> + <gml:posList srsDimension="3">0.219000 0.535000 0.520000 0.219000 0.840000 0.520000 0.479000 0.839000 0.520000 0.479000 0.535000 0.520000 0.219000 0.535000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-136"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-136"> + <gml:posList srsDimension="3">0.219000 0.535000 0.547000 0.219000 0.840000 0.547000 0.219000 0.840000 0.520000 0.219000 0.535000 0.520000 0.219000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-137"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-137"> + <gml:posList srsDimension="3">0.219000 0.840000 0.547000 0.479000 0.839000 0.547000 0.479000 0.839000 0.520000 0.219000 0.840000 0.520000 0.219000 0.840000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-138"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-138"> + <gml:posList srsDimension="3">0.479000 0.839000 0.547000 0.479000 0.535000 0.547000 0.479000 0.535000 0.520000 0.479000 0.839000 0.520000 0.479000 0.839000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-139"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-139"> + <gml:posList srsDimension="3">0.479000 0.535000 0.547000 0.219000 0.535000 0.547000 0.219000 0.535000 0.520000 0.479000 0.535000 0.520000 0.479000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-140"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-140"> + <gml:posList srsDimension="3">0.839000 0.859000 0.504000 0.839000 0.535000 0.504000 0.839000 0.535000 0.547000 0.839000 0.859000 0.547000 0.839000 0.859000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-141"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-141"> + <gml:posList srsDimension="3">0.564000 0.839000 0.547000 0.824000 0.839000 0.547000 0.824000 0.839000 0.520000 0.564000 0.839000 0.520000 0.564000 0.839000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-142"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-142"> + <gml:posList srsDimension="3">0.564000 0.535000 0.520000 0.564000 0.839000 0.520000 0.824000 0.839000 0.520000 0.824000 0.535000 0.520000 0.564000 0.535000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-143"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-143"> + <gml:posList srsDimension="3">0.564000 0.535000 0.547000 0.564000 0.839000 0.547000 0.564000 0.839000 0.520000 0.564000 0.535000 0.520000 0.564000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-144"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-144"> + <gml:posList srsDimension="3">0.824000 0.535000 0.547000 0.564000 0.535000 0.547000 0.564000 0.535000 0.520000 0.824000 0.535000 0.520000 0.824000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-145"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-145"> + <gml:posList srsDimension="3">0.824000 0.839000 0.547000 0.824000 0.535000 0.547000 0.824000 0.535000 0.520000 0.824000 0.839000 0.520000 0.824000 0.839000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-146"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-146"> + <gml:posList srsDimension="3">0.564000 0.839000 0.547000 0.564000 0.535000 0.547000 0.824000 0.535000 0.547000 0.824000 0.839000 0.547000 0.564000 0.839000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-147"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-147"> + <gml:posList srsDimension="3">0.911000 0.839000 0.547000 0.910000 0.535000 0.547000 1.170000 0.534000 0.547000 1.171000 0.839000 0.547000 0.911000 0.839000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-148"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-148"> + <gml:posList srsDimension="3">1.171000 0.839000 0.547000 1.170000 0.534000 0.547000 1.170000 0.534000 0.520000 1.171000 0.839000 0.520000 1.171000 0.839000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-149"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-149"> + <gml:posList srsDimension="3">0.910000 0.535000 0.520000 0.911000 0.839000 0.520000 1.171000 0.839000 0.520000 1.170000 0.534000 0.520000 0.910000 0.535000 0.520000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-150"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-150"> + <gml:posList srsDimension="3">1.170000 0.534000 0.547000 0.910000 0.535000 0.547000 0.910000 0.535000 0.520000 1.170000 0.534000 0.520000 1.170000 0.534000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-151"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-151"> + <gml:posList srsDimension="3">0.911000 0.839000 0.547000 1.171000 0.839000 0.547000 1.171000 0.839000 0.520000 0.911000 0.839000 0.520000 0.911000 0.839000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-152"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-152"> + <gml:posList srsDimension="3">0.910000 0.535000 0.547000 0.911000 0.839000 0.547000 0.911000 0.839000 0.520000 0.910000 0.535000 0.520000 0.910000 0.535000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-153"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-153"> + <gml:posList srsDimension="3">1.242000 0.534000 0.504000 1.243000 0.859000 0.504000 1.243000 0.859000 0.547000 1.242000 0.534000 0.547000 1.242000 0.534000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-154"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-154"> + <gml:posList srsDimension="3">0.889000 0.859000 0.547000 0.889000 0.859000 0.504000 0.839000 0.859000 0.504000 0.839000 0.859000 0.547000 0.889000 0.859000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-155"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-155"> + <gml:posList srsDimension="3">0.549000 0.859000 0.547000 0.549000 0.859000 0.504000 0.499000 0.859000 0.504000 0.499000 0.859000 0.547000 0.549000 0.859000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-156"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-156"> + <gml:posList srsDimension="3">1.243000 0.859000 0.504000 1.193000 0.859000 0.504000 1.193000 0.859000 0.547000 1.243000 0.859000 0.547000 1.243000 0.859000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-157"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-157"> + <gml:posList srsDimension="3">0.199000 0.860000 0.504000 0.149000 0.860000 0.504000 0.149000 0.860000 0.547000 0.199000 0.860000 0.547000 0.199000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-158"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-158"> + <gml:posList srsDimension="3">0.149000 0.860000 0.504000 0.199000 0.860000 0.504000 0.499000 0.859000 0.504000 0.549000 0.859000 0.504000 0.839000 0.859000 0.504000 0.889000 0.859000 0.504000 1.193000 0.859000 0.504000 1.243000 0.859000 0.504000 1.343000 0.859000 0.504000 1.343000 0.859000 0.300000 0.049000 0.860000 0.300000 0.049000 0.860000 0.504000 0.149000 0.860000 0.504000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-159"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-159"> + <gml:posList srsDimension="3">0.549000 0.859000 0.547000 0.549000 0.859000 0.504000 0.839000 0.859000 0.504000 0.839000 0.859000 0.547000 0.549000 0.859000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-160"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-160"> + <gml:posList srsDimension="3">0.199000 0.860000 0.547000 0.199000 0.860000 0.504000 0.499000 0.859000 0.504000 0.499000 0.859000 0.547000 0.199000 0.860000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-161"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-161"> + <gml:posList srsDimension="3">0.889000 0.859000 0.547000 0.889000 0.859000 0.504000 1.193000 0.859000 0.504000 1.193000 0.859000 0.547000 0.889000 0.859000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-162"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-162"> + <gml:posList srsDimension="3">1.243000 0.859000 0.547000 1.243000 0.859000 0.504000 1.343000 0.859000 0.504000 1.343000 0.859000 0.547000 1.243000 0.859000 0.547000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + </gml:Polygon> + </gml:surfaceMember> + <gml:surfaceMember> + <gml:Polygon gml:id="PolyIDGeo-163"> + <gml:exterior> + <gml:LinearRing gml:id="ringID-163"> + <gml:posList srsDimension="3">1.343000 0.859000 2.100000 1.343000 0.859000 0.547000 1.243000 0.859000 0.547000 1.193000 0.859000 0.547000 0.889000 0.859000 0.547000 0.839000 0.859000 0.547000 0.549000 0.859000 0.547000 0.499000 0.859000 0.547000 0.199000 0.860000 0.547000 0.149000 0.860000 0.547000 0.049000 0.860000 0.547000 0.049000 0.860000 2.100000 1.343000 0.859000 2.100000 </gml:posList> + </gml:LinearRing> + </gml:exterior> + <gml:interior> + <gml:LinearRing gml:id="ringID-163_1"> + <gml:posList srsDimension="3">1.245000 0.859000 1.182000 0.154000 0.860000 1.182000 0.154000 0.860000 1.132000 1.245000 0.859000 1.132000 1.245000 0.859000 1.182000 </gml:posList> + </gml:LinearRing> + </gml:interior> + <gml:interior> + <gml:LinearRing gml:id="ringID-163_2"> + <gml:posList srsDimension="3">0.154000 0.860000 1.282000 0.154000 0.860000 1.232000 1.245000 0.859000 1.232000 1.245000 0.859000 1.282000 0.154000 0.860000 1.282000 </gml:posList> + </gml:LinearRing> + </gml:interior> + </gml:Polygon> + </gml:surfaceMember> + </gml:MultiSurface> + </gen:lod2Geometry> + </gen:GenericCityObject> +</core:cityObjectMember> +</core:CityModel> diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive.zip b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive.zip similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive.zip rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive.zip diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock1.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock1.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock1.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock1.gml diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock2.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock2.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock2.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock2.gml diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock3.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock3.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock3.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock3.gml diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock4.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock4.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock4.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock4.gml diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock5.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock5.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/mock_archive/mock5.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/mock_archive/mock5.gml diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/validate.zip b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/validate.zip similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/validate.zip rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/validate.zip diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/validate/valCorrect.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/validate/valCorrect.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/validate/valCorrect.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/validate/valCorrect.gml diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/validate/valFaulty.gml b/CityDoctorParent/CityDoctorModel/src/test/resources/zip/validate/valFaulty.gml similarity index 100% rename from CityDoctorParent/Extensions/CityDoctorZipLoader/src/test/resources/validate/valFaulty.gml rename to CityDoctorParent/CityDoctorModel/src/test/resources/zip/validate/valFaulty.gml diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/pom.xml b/CityDoctorParent/Extensions/CityDoctorZipLoader/pom.xml deleted file mode 100644 index 84fc7de837681ed9553930747bc38f2a0e0c4229..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/pom.xml +++ /dev/null @@ -1,194 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>de.hft.stuttgart</groupId> - <artifactId>CityDoctorParent</artifactId> - <version>3.16.0</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>CityDoctorZipLoader</artifactId> - <name>CityDoctorZipLoader</name> - <description>ZipLoader enables the loading and parsing of zip archives</description> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>3.2.0</version> - </plugin> - </plugins> - </build> - <dependencies> - <dependency> - <groupId>de.hft.stuttgart</groupId> - <artifactId>CityDoctorModel</artifactId> - </dependency> - <dependency> - <groupId>de.hft.stuttgart</groupId> - <artifactId>CityDoctorValidation</artifactId> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-slf4j18-impl</artifactId> - </dependency> - <dependency> - <groupId>de.hft.stuttgart</groupId> - <artifactId>CityDoctorGUI</artifactId> - </dependency> - </dependencies> - <profiles> - <profile> - <id>create-binaries</id> - <properties> - <win-jre>jre-${jre-version-short}</win-jre> - <lin-jre>${win-jre}</lin-jre> - <mac-jre>${win-jre}.jre</mac-jre> - </properties> - <build> - <plugins> - <plugin> - <groupId>com.googlecode.maven-download-plugin</groupId> - <artifactId>download-maven-plugin</artifactId> - <version>1.7.0</version> - <executions> - <execution> - <id>downloadWindowsJre</id> - <phase>install</phase> - <goals> - <goal>wget</goal> - </goals> - <configuration> - <uri>https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-windows-amd64.zip</uri> - <unpack>false</unpack> - <outputDirectory>${project.build.directory}/jre/jre-win</outputDirectory> - <outputFileName>win-runtime.zip</outputFileName> - </configuration> - </execution> - <execution> - <id>downloadLinuxJre</id> - <phase>install</phase> - <goals> - <goal>wget</goal> - </goals> - <configuration> - <uri>https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-linux-amd64.tar.gz</uri> - <unpack>false</unpack> - <outputDirectory>${project.build.directory}/jre/jre-lin</outputDirectory> - <outputFileName>lin-runtime.tar.gz</outputFileName> - </configuration> - </execution> - <execution> - <id>downloadMacJre</id> - <phase>install</phase> - <goals> - <goal>wget</goal> - </goals> - <configuration> - <uri>https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-macos-amd64.zip</uri> - <unpack>false</unpack> - <outputDirectory>${project.build.directory}/jre/jre-mac</outputDirectory> - <outputFileName>mac-runtime.zip</outputFileName> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <version>3.1.0</version> - <executions> - <execution> - <id>unpack</id> - <phase>install</phase> - <configuration> - <target name="unpack"> - <untar src="${project.build.directory}/jre/jre-lin/lin-runtime.tar.gz" dest="${project.build.directory}/jre/jre-lin/runtime" compression="gzip"></untar> - <unzip src="${project.build.directory}/jre/jre-win/win-runtime.zip" dest="${project.build.directory}/jre/jre-win/runtime"></unzip> - <unzip src="${project.build.directory}/jre/jre-mac/mac-runtime.zip" dest="${project.build.directory}/jre/jre-mac/runtime"></unzip> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <configuration> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <id>create-archive-no-runtime</id> - <phase>install</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <finalName>${project.artifactId}-${project.version}-no-runtime</finalName> - <descriptors> - <descriptor>${project.basedir}/src/assembly/no_runtime/assembly.xml</descriptor> - </descriptors> - </configuration> - </execution> - <execution> - <id>create-archive-win</id> - <phase>install</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <finalName>${project.artifactId}-${project.version}-win</finalName> - <descriptors> - <descriptor>${project.basedir}/src/assembly/win/assembly.xml</descriptor> - </descriptors> - </configuration> - </execution> - <execution> - <id>create-archive-lin</id> - <phase>install</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <finalName>${project.artifactId}-${project.version}-lin</finalName> - <descriptors> - <descriptor>${project.basedir}/src/assembly/lin/assembly.xml</descriptor> - </descriptors> - </configuration> - </execution> - <execution> - <id>create-archive-mac</id> - <phase>install</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <finalName>${project.artifactId}-${project.version}-mac</finalName> - <descriptors> - <descriptor>${project.basedir}/src/assembly/mac/assembly.xml</descriptor> - </descriptors> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> -</project> \ No newline at end of file diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/CityGmlZipEntry.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/CityGmlZipEntry.java deleted file mode 100644 index b25ab717d687c6814118e7bdbeb1dc07d0a387d0..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/CityGmlZipEntry.java +++ /dev/null @@ -1,82 +0,0 @@ -package de.hft.stuttgart.citydoctor2.ziploader; - -import de.hft.stuttgart.citydoctor2.check.Checker; -import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel; -import de.hft.stuttgart.citydoctor2.parser.CityGmlParseException; -import de.hft.stuttgart.citydoctor2.parser.CityGmlParser; -import de.hft.stuttgart.citydoctor2.parser.InvalidGmlFileException; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.io.IOException; -import java.io.InputStream; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -public class CityGmlZipEntry { - - private static final Logger logger = LogManager.getLogger(CityGmlZipEntry.class); - - private final String fileName; - private final CityDoctorModel model; - private CityGmlArchive parentArchive; - private boolean validated = false; - private ZipEntryErrorType errorType = null; - - - public static CityGmlZipEntry of(ZipEntry entry, ZipFile archive, ParserConfiguration config){ - if ((double) entry.getSize() /1024/1024 > 20) { - return new ErroneousEntry(entry, ZipEntryErrorType.EXCESSIVE_FILESIZE); - } else { - try { - CityGmlParser.gagLogger(true); - CityDoctorModel model = CityGmlParser.parseCityGmlZipEntry(entry, archive, config); - return new CityGmlZipEntry(entry, model); - } catch (CityGmlParseException | InvalidGmlFileException e) { - logger.error(e); - return new ErroneousEntry(entry, ZipEntryErrorType.INVALID_CITY_GML_FILE); - } catch (IOException e){ - logger.error(e); - return new ErroneousEntry(entry, ZipEntryErrorType.IO_ERROR); - } - } - } - - private CityGmlZipEntry(ZipEntry entry, CityDoctorModel model){ - this.fileName = entry.getName().substring(entry.getName().lastIndexOf('/') + 1); - this.model = model; - } - - protected CityGmlZipEntry(ZipEntry entry) { - this.fileName = entry.getName().substring(entry.getName().lastIndexOf('/') + 1); - this.model = null; - } - - public void setArchive(CityGmlArchive archive){ - parentArchive = archive; - } - - public CityGmlArchive getArchive(){ - return parentArchive; - } - - public void validateModel(){ - Checker checker = new Checker(this.getModel()); - checker.runChecks(); - validated = true; - } - - public boolean isValidated(){ - return validated; - } - - public String getFileName() { - return fileName; - } - - public CityDoctorModel getModel() { - return model; - } - -} diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ZipParser.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ZipParser.java deleted file mode 100644 index b50d35b02ae5bf592cc2bf550292974d6670dfe6..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/ZipParser.java +++ /dev/null @@ -1,21 +0,0 @@ -package de.hft.stuttgart.citydoctor2.ziploader; - -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -public class ZipParser { - - private static final Logger logger = LogManager.getLogger(ZipParser.class); - - - -} diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderController.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderController.java deleted file mode 100644 index 9264205f5c312143920cf58b783bac2582e436a2..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderController.java +++ /dev/null @@ -1,24 +0,0 @@ -package de.hft.stuttgart.citydoctor2.ziploader.gui; - -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.ziploader.CityGmlArchive; -import javafx.stage.FileChooser; - -import java.io.File; - -public class ZipLoaderController { - - private ZipLoaderView zipLoaderView; - private ParserConfiguration config; - private CityGmlArchive archive; - - public ZipLoaderController(ZipLoaderView zipLoaderView) { - this.zipLoaderView = zipLoaderView; - - } - - public void openZipArchive(File file){ - archive = CityGmlArchive.fromZipFile(file.getPath(), config); - - } -} diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderGUI.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderGUI.java deleted file mode 100644 index 03ea9af0a9b7cdbd0f1fd339ed0a3e2545031e1f..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderGUI.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.hft.stuttgart.citydoctor2.ziploader.gui; - -import de.hft.stuttgart.citydoctor2.gui.MainWindow; -import de.hft.stuttgart.citydoctor2.gui.ViewRegistration; - -public class ZipLoaderGUI { - - public static void main(String[] args) { - ViewRegistration.registerView(new ZipLoaderView()); - MainWindow.main(args); - } -} diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderToolbar.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderToolbar.java deleted file mode 100644 index a1b00c3f17a258dfdc88188a1299430d90461c33..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderToolbar.java +++ /dev/null @@ -1,9 +0,0 @@ -package de.hft.stuttgart.citydoctor2.ziploader.gui; - -import de.hft.stuttgart.citydoctor2.gui.MainWindow; - -public class ZipLoaderToolbar { - public ZipLoaderToolbar(ZipLoaderController controller, MainWindow mainWindow) { - - } -} diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderView.java b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderView.java deleted file mode 100644 index 32860e165b5e8bc78ffe1a61642e7188569750d5..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/java/de/hft/stuttgart/citydoctor2/ziploader/gui/ZipLoaderView.java +++ /dev/null @@ -1,86 +0,0 @@ -package de.hft.stuttgart.citydoctor2.ziploader.gui; - -import de.hft.stuttgart.citydoctor2.check.Checker; -import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel; -import de.hft.stuttgart.citydoctor2.gui.MainWindow; -import de.hft.stuttgart.citydoctor2.gui.View; -import javafx.fxml.FXMLLoader; -import javafx.scene.Node; -import javafx.scene.image.Image; -import javafx.scene.layout.HBox; -import javafx.stage.FileChooser; -import javafx.stage.Window; - -import java.io.File; -import java.io.IOException; -import java.util.Optional; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -public class ZipLoaderView extends View{ - - private static final Logger logger = LogManager.getLogger(ZipLoaderView.class); - - Image image; - private Window parent; - private Node zipLoaderWindow; - private ZipLoaderController controller; - private ZipLoaderToolbar toolbar; - - - - public ZipLoaderView() { - image = new Image(getClass().getResourceAsStream("zip.png")); - } - - @Override - public Optional<HBox> getToolbar() { - return Optional.empty(); - } - - @Override - public Node getMainScreen() { - return null; - } - - @Override - public Image getViewLogo() { - return image; - } - - @Override - public void initializeView(MainWindow mainWindow) { - this.parent = mainWindow.getMainStage(); - FXMLLoader loader = new FXMLLoader(getClass().getResource("ZipLoaderGUI.fxml")); - loader.setController(this); - try { - zipLoaderWindow = loader.load(); - controller = new ZipLoaderController(this); - toolbar = new ZipLoaderToolbar(controller, mainWindow); - } catch (IOException e) { - logger.catching(e); - } - - } - - @Override - public void onHide() { - - } - - @Override - public void onShow(CityDoctorModel model, Checker checker) { - - } - - private void openZipArchive(){ - FileChooser fileChooser = new FileChooser(); - fileChooser.setTitle("Open ZIP-file"); - fileChooser.getExtensionFilters().add( - new FileChooser.ExtensionFilter("Zip File", "*.zip")); - File selectedFile = fileChooser.showOpenDialog(parent); - if(selectedFile != null){ - controller.openZipArchive(selectedFile); - } - } -} diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/citydoctor_logo.ico b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/citydoctor_logo.ico deleted file mode 100644 index 3321b741356a9f40506da39dd8377c83e227d67a..0000000000000000000000000000000000000000 Binary files a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/citydoctor_logo.ico and /dev/null differ diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zip.png b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zip.png deleted file mode 100644 index acdf663537eb5b282f5b563ac4d75e9951598c7e..0000000000000000000000000000000000000000 Binary files a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zip.png and /dev/null differ diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderGUI.fxml b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderGUI.fxml deleted file mode 100644 index c00817e52a2a0fbaf9a2b6b508218a20646cfc3f..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderGUI.fxml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.ScrollPane?> -<?import javafx.scene.control.SplitPane?> -<?import javafx.scene.control.TreeView?> -<?import javafx.scene.layout.AnchorPane?> -<?import javafx.scene.layout.VBox?> - - -<VBox maxHeight="534.0" maxWidth="833.0" prefHeight="534.0" prefWidth="833.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"> - <children> - <SplitPane dividerPositions="0.48736462093862815" prefHeight="487.0" prefWidth="833.0"> - <items> - <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0"> - <children> - <ScrollPane prefHeight="534.0" prefWidth="402.0"> - <content> - <TreeView prefHeight="482.0" prefWidth="400.0" /> - </content> - </ScrollPane> - </children> - </AnchorPane> - <AnchorPane minHeight="0.0" minWidth="0.0" SplitPane.resizableWithParent="false"> - <children> - <TreeView prefHeight="482.0" prefWidth="423.0" /> - </children> - </AnchorPane> - </items> - </SplitPane> - </children> -</VBox> diff --git a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderToolbar.fxml b/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderToolbar.fxml deleted file mode 100644 index e70be1865580e275ecd349223207bf0c5d75ec97..0000000000000000000000000000000000000000 --- a/CityDoctorParent/Extensions/CityDoctorZipLoader/src/main/resources/de/hft/stuttgart/citydoctor2/ziploader/gui/zipLoaderToolbar.fxml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.geometry.Insets?> -<?import javafx.scene.control.Button?> -<?import javafx.scene.control.Separator?> -<?import javafx.scene.control.ToggleButton?> -<?import javafx.scene.image.ImageView?> -<?import javafx.scene.layout.HBox?> - -<HBox maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" spacing="5.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"> - <children> - <ToggleButton fx:id="openZipBtn" mnemonicParsing="false" selected="true"> - <graphic> - <ImageView fx:id="openZipImage" fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" /> - </graphic> - </ToggleButton> - <ToggleButton fx:id="loadEntryBtn" mnemonicParsing="false"> - <graphic> - <ImageView fx:id="loadEntryImage" fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" /> - </graphic> - </ToggleButton> - <Separator orientation="VERTICAL" /> - <HBox fx:id="spacer" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="0.0" /> - <Button fx:id="exportZipBtn" mnemonicParsing="false"> - <graphic> - <ImageView fx:id="exportZipImage" fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" /> - </graphic> - </Button> - </children> - <padding> - <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" /> - </padding> -</HBox> diff --git a/CityDoctorParent/pom.xml b/CityDoctorParent/pom.xml index 97fa5764ca11be971d362212179e1bc4a8d70f68..60fc050dc22feb57e207b933fcad5e15298e64b3 100644 --- a/CityDoctorParent/pom.xml +++ b/CityDoctorParent/pom.xml @@ -264,7 +264,6 @@ <!--CityDoctor2 Extension Modules--> <module>Extensions/CityDoctorGUI</module> - <module>Extensions/CityDoctorZipLoader</module> <module>Extensions/CityDoctorAutoPro</module> <module>Extensions/CityDoctorHealer</module> <module>Extensions/CityDoctorHealerGenetic</module>