Commit f7d00dee authored by Matthias Betz's avatar Matthias Betz
Browse files

upload of CityDoctor2 Documentation

parent cd022528
Pipeline #7225 passed with stages
in 12 seconds
<!doctype html>
<html lang="de" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="prev" href="../requiredSoftware/">
<link rel="next" href="../userInterface/">
<link rel="icon" href="../img/citydoctor_logo.png">
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.0.6">
<title>Erster Start - CityDoctor2</title>
<link rel="stylesheet" href="../assets/stylesheets/main.558e4712.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.2505c338.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="https://unpkg.com/mermaid/dist/mermaid.css">
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#erster-start" class="md-skip">
Zum Inhalt
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Kopfzeile">
<a href=".." title="CityDoctor2" class="md-header__button md-logo" aria-label="CityDoctor2" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
CityDoctor2
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Erster Start
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="" aria-label="Dunkelmodus verwenden" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Dunkelmodus verwenden" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="" data-md-color-accent="" aria-label="Hellen Modus verwenden" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Hellen Modus verwenden" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
</form>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Suche" placeholder="Suche" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Suche">
<button type="reset" class="md-search__icon md-icon" title="Zurücksetzen" aria-label="Zurücksetzen" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="CityDoctor2" class="md-nav__button md-logo" aria-label="CityDoctor2" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
</a>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
CityDoctor2
</a>
</li>
<li class="md-nav__item">
<a href="../requiredSoftware/" class="md-nav__link">
Installation
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Erster Start
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Erster Start
</a>
<nav class="md-nav md-nav--secondary" aria-label="Inhaltsverzeichnis">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Inhaltsverzeichnis
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#start" class="md-nav__link">
Start
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../userInterface/" class="md-nav__link">
Nutzeroberfläche
</a>
</li>
<li class="md-nav__item">
<a href="../validationPlan/" class="md-nav__link">
Prüfplan
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" tabindex="0" aria-expanded="false">
Anforderungen
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Anforderungen" data-md-level="1">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../basic/" class="md-nav__link">
Grundbegriffe
</a>
</li>
<li class="md-nav__item">
<a href="../requirements/" class="md-nav__link">
Übersicht
</a>
</li>
<li class="md-nav__item">
<a href="../schemaRequirements/" class="md-nav__link">
Schemaanforderungen
</a>
</li>
<li class="md-nav__item">
<a href="../geometric/" class="md-nav__link">
Geometrische Anforderungen
</a>
</li>
<li class="md-nav__item">
<a href="../semantic/" class="md-nav__link">
Semantische Anforderungen
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_6" type="checkbox" id="__nav_6_6" >
<label class="md-nav__link" for="__nav_6_6" tabindex="0" aria-expanded="false">
Details
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Details" data-md-level="2">
<label class="md-nav__title" for="__nav_6_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../R_GE_R_TOO_FEW_POINTS/" class="md-nav__link">
R_TOO_FEW_POINTS
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_R_CONSECUTIVE_POINTS_SAME/" class="md-nav__link">
R_CONSECUTIVE_POINTS_SAME
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_R_NOT_CLOSED/" class="md-nav__link">
R_RING_NOT_CLOSED
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_R_SELF_INTERSECTION/" class="md-nav__link">
R_RING_SELF_INTERSECTION
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_R_COLLAPSED_TO_LINE/" class="md-nav__link">
R_COLLAPSED_TO_LINE
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_INTERSECTING_RINGS/" class="md-nav__link">
P_INTERSECTING_RINGS
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_NON_PLANAR/" class="md-nav__link">
P_NON_PLANAR
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_INTERIOR_DISCONNECTED/" class="md-nav__link">
P_INTERIOR_DISCONNECTED
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_HOLE_OUTSIDE/" class="md-nav__link">
P_HOLE_OUTSIDE
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_INNER_RINGS_NESTED/" class="md-nav__link">
P_INNER_RINGS_NESTED
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_ORIENTATION_RINGS_SAME/" class="md-nav__link">
P_ORIENTATION_RINGS_SAME
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_MS/" class="md-nav__link">
MULTI_SURFACE
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_TOO_FEW_POLYGONS/" class="md-nav__link">
S_TOO_FEW_POLYGONS
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_NOT_CLOSED/" class="md-nav__link">
S_NOT_CLOSED
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_NON_MANIFOLD_VERTEX/" class="md-nav__link">
S_NON_MANIFOLD_VERTEX
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_NON_MANIFOLD_EDGE/" class="md-nav__link">
S_NON_MANIFOLD_EDGE
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/" class="md-nav__link">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_SELF_INTERSECTION/" class="md-nav__link">
S_SELF_INTERSECTION
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_POLYGON_WRONG_ORIENTATION/" class="md-nav__link">
S_POLYGON_WRONG_ORIENTATION
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/" class="md-nav__link">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_SO/" class="md-nav__link">
SOLID
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Inhaltsverzeichnis">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Inhaltsverzeichnis
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#start" class="md-nav__link">
Start
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="erster-start">Erster Start<a class="headerlink" href="#erster-start" title="Permanent link">&para;</a></h1>
<h2 id="start">Start<a class="headerlink" href="#start" title="Permanent link">&para;</a></h2>
<p>Nach dem entpacken der Zip Datei sollte je nach Version (GUI oder Batch) eine Struktur ähnlich diesem Bild rauskommen (Beispiel CityDoctorGUI):
<img alt="extracted" src="../img/extracted.png" /></p>
<p>Um CityDoctor zu starten kann die start.bat verwendet werden.</p>
<p>Die .bat Datei enthält dabei nur den Befehl:
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>java -classpath libs/*;plugins/*;CityDoctorGUI-3.12.0.jar de.hft.stuttgart.citydoctor2.gui.MainWindow
</code></pre></div></p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Der Befehl hat sich über die Versionshistorie von CityDoctor verändert.</p>
</div>
<p>Für die Batch Version ist der Befehl analog und kann entsprechend für andere Betriebsysteme angepasst werden.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Für Linux oder Mac kann dieser Befehl auch verwendet werden, es muss nur das ";" durch ":" ersetzt werden. Der Rest bleibt gleich.</p>
</div>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
<!doctype html>
<html lang="de" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="prev" href="../schemaRequirements/">
<link rel="next" href="../semantic/">
<link rel="icon" href="../img/citydoctor_logo.png">
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.0.6">
<title>Geometrische Anforderungen - CityDoctor2</title>
<link rel="stylesheet" href="../assets/stylesheets/main.558e4712.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.2505c338.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="https://unpkg.com/mermaid/dist/mermaid.css">
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#geometrieanforderungen" class="md-skip">
Zum Inhalt
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Kopfzeile">
<a href=".." title="CityDoctor2" class="md-header__button md-logo" aria-label="CityDoctor2" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
CityDoctor2
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Geometrische Anforderungen
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="red" data-md-color-accent="" aria-label="Dunkelmodus verwenden" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Dunkelmodus verwenden" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="" data-md-color-accent="" aria-label="Hellen Modus verwenden" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Hellen Modus verwenden" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
</label>
</form>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Suche" placeholder="Suche" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Suche">
<button type="reset" class="md-search__icon md-icon" title="Zurücksetzen" aria-label="Zurücksetzen" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="CityDoctor2" class="md-nav__button md-logo" aria-label="CityDoctor2" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
</a>
CityDoctor2
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
CityDoctor2
</a>
</li>
<li class="md-nav__item">
<a href="../requiredSoftware/" class="md-nav__link">
Installation
</a>
</li>
<li class="md-nav__item">
<a href="../firstRun/" class="md-nav__link">
Erster Start
</a>
</li>
<li class="md-nav__item">
<a href="../userInterface/" class="md-nav__link">
Nutzeroberfläche
</a>
</li>
<li class="md-nav__item">
<a href="../validationPlan/" class="md-nav__link">
Prüfplan
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6" type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_6" tabindex="0" aria-expanded="true">
Anforderungen
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Anforderungen" data-md-level="1">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Anforderungen
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../basic/" class="md-nav__link">
Grundbegriffe
</a>
</li>
<li class="md-nav__item">
<a href="../requirements/" class="md-nav__link">
Übersicht
</a>
</li>
<li class="md-nav__item">
<a href="../schemaRequirements/" class="md-nav__link">
Schemaanforderungen
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Geometrische Anforderungen
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Geometrische Anforderungen
</a>
<nav class="md-nav md-nav--secondary" aria-label="Inhaltsverzeichnis">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Inhaltsverzeichnis
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#fehlercodes-for-geometrische-fehler" class="md-nav__link">
Fehlercodes for geometrische Fehler
</a>
</li>
<li class="md-nav__item">
<a href="#vertex-punkt-anforderungen" class="md-nav__link">
Vertex (Punkt) Anforderungen
</a>
</li>
<li class="md-nav__item">
<a href="#linear-ring" class="md-nav__link">
Linear Ring
</a>
</li>
<li class="md-nav__item">
<a href="#polygon" class="md-nav__link">
Polygon
</a>
</li>
<li class="md-nav__item">
<a href="#solid-hulle-shell" class="md-nav__link">
Solid / Hülle (Shell)
</a>
</li>
<li class="md-nav__item">
<a href="#parameter-uberblick" class="md-nav__link">
Parameter Überblick
</a>
</li>
<li class="md-nav__item">
<a href="#abhangigkeitsbaum" class="md-nav__link">
Abhängigkeitsbaum
</a>
</li>
<li class="md-nav__item">
<a href="#multisurface-und-solid-geometrie" class="md-nav__link">
Multisurface und Solid Geometrie
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../semantic/" class="md-nav__link">
Semantische Anforderungen
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_6" type="checkbox" id="__nav_6_6" >
<label class="md-nav__link" for="__nav_6_6" tabindex="0" aria-expanded="false">
Details
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Details" data-md-level="2">
<label class="md-nav__title" for="__nav_6_6">
<span class="md-nav__icon md-icon"></span>
Details
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../R_GE_R_TOO_FEW_POINTS/" class="md-nav__link">
R_TOO_FEW_POINTS
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_R_CONSECUTIVE_POINTS_SAME/" class="md-nav__link">
R_CONSECUTIVE_POINTS_SAME
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_R_NOT_CLOSED/" class="md-nav__link">
R_RING_NOT_CLOSED
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_R_SELF_INTERSECTION/" class="md-nav__link">
R_RING_SELF_INTERSECTION
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_R_COLLAPSED_TO_LINE/" class="md-nav__link">
R_COLLAPSED_TO_LINE
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_INTERSECTING_RINGS/" class="md-nav__link">
P_INTERSECTING_RINGS
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_NON_PLANAR/" class="md-nav__link">
P_NON_PLANAR
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_INTERIOR_DISCONNECTED/" class="md-nav__link">
P_INTERIOR_DISCONNECTED
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_HOLE_OUTSIDE/" class="md-nav__link">
P_HOLE_OUTSIDE
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_INNER_RINGS_NESTED/" class="md-nav__link">
P_INNER_RINGS_NESTED
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_P_ORIENTATION_RINGS_SAME/" class="md-nav__link">
P_ORIENTATION_RINGS_SAME
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_MS/" class="md-nav__link">
MULTI_SURFACE
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_TOO_FEW_POLYGONS/" class="md-nav__link">
S_TOO_FEW_POLYGONS
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_NOT_CLOSED/" class="md-nav__link">
S_NOT_CLOSED
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_NON_MANIFOLD_VERTEX/" class="md-nav__link">
S_NON_MANIFOLD_VERTEX
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_NON_MANIFOLD_EDGE/" class="md-nav__link">
S_NON_MANIFOLD_EDGE
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/" class="md-nav__link">
S_MULTIPLE_CONNECTED_COMPONENTS
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_SELF_INTERSECTION/" class="md-nav__link">
S_SELF_INTERSECTION
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_POLYGON_WRONG_ORIENTATION/" class="md-nav__link">
S_POLYGON_WRONG_ORIENTATION
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/" class="md-nav__link">
S_ALL_POLYGONS_WRONG_ORIENTATION
</a>
</li>
<li class="md-nav__item">
<a href="../R_GE_SO/" class="md-nav__link">
SOLID
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Inhaltsverzeichnis">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Inhaltsverzeichnis
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#fehlercodes-for-geometrische-fehler" class="md-nav__link">
Fehlercodes for geometrische Fehler
</a>
</li>
<li class="md-nav__item">
<a href="#vertex-punkt-anforderungen" class="md-nav__link">
Vertex (Punkt) Anforderungen
</a>
</li>
<li class="md-nav__item">
<a href="#linear-ring" class="md-nav__link">
Linear Ring
</a>
</li>
<li class="md-nav__item">
<a href="#polygon" class="md-nav__link">
Polygon
</a>
</li>
<li class="md-nav__item">
<a href="#solid-hulle-shell" class="md-nav__link">
Solid / Hülle (Shell)
</a>
</li>
<li class="md-nav__item">
<a href="#parameter-uberblick" class="md-nav__link">
Parameter Überblick
</a>
</li>
<li class="md-nav__item">
<a href="#abhangigkeitsbaum" class="md-nav__link">
Abhängigkeitsbaum
</a>
</li>
<li class="md-nav__item">
<a href="#multisurface-und-solid-geometrie" class="md-nav__link">
Multisurface und Solid Geometrie
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="geometrieanforderungen">Geometrieanforderungen<a class="headerlink" href="#geometrieanforderungen" title="Permanent link">&para;</a></h1>
<h2 id="fehlercodes-for-geometrische-fehler">Fehlercodes for geometrische Fehler<a class="headerlink" href="#fehlercodes-for-geometrische-fehler" title="Permanent link">&para;</a></h2>
<p>Die Fehlercodes wurden übernommen aus dem <a href="http://mail.opengeospatial.org/lists/lt.php?id=fR4CDVYeAlJfHwhTCwA">CityGML Quality Interoperability Experiment, chapter 7.5</a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Die Anforderungen wurden in CityDoctor umbenannt um einen auch von Menschen zu verstehenden Begriff, analog zu den Fehlercodes, darzustellen.</p>
</div>
<p>Alle geometrischen Fehler sind in dem "GE" Definitionsbereich. Da geometrische Validierung basierend auf den Primitiven auf drei verschiedenen Ebenen ausgeführt wird enthält jede Anforderung eine Ebene:</p>
<ul>
<li>Ring: R</li>
<li>Polygon: P</li>
<li>Hülle (Shell): S</li>
</ul>
<p>Fehlercodes folgen dem selben Namensschema wie die Anforderungen, siehe auch <a href="../basic/">Grundbegriffe</a>. Jede Verletzung einer Anforderung muss in einem Fehler enden, der einen entsprechenden Fehlercode beinhaltet.
Jeder Fehler kann (und sollte) zusätzliche Informationen beinhalten (z.B. Wenn ein Ring nicht geschlossen ist, dann sollte die ID des Rings mitgegeben werden).</p>
<h2 id="vertex-punkt-anforderungen">Vertex (Punkt) Anforderungen<a class="headerlink" href="#vertex-punkt-anforderungen" title="Permanent link">&para;</a></h2>
<p>Zwei Punkte A und B sind gleich wenn die Euclidische-Distanz zwischen den beiden Punkten kleiner als eine definierte Größe ist (<em>minVertexDistance</em>). Diese definierte Größe findet auch in vielen Anforderungen wieder Anwendung, zum Beispiel berührt ein Punkt eine Kante wenn der Abstand des Punktes kleiner ist als <em>minVertexDistance</em>. In den folgenden Anforderungen wird die Größe verwendet:</p>
<ul>
<li>R_GE_R_CONSECUTIVE_POINTS_SAME</li>
<li>R_GE_R_NOT_CLOSED</li>
<li>R_GE_R_SELF_INTERSECTION</li>
<li>R_GE_P_INTERIOR_DISCONNECTED</li>
</ul>
<p>Die folgenden Anforderungen wurden auf den drei geometrischen Ebenen definiert <a href="https://doi.org/10.1111/mice.12043">(nach Ledoux (2013))</a>:</p>
<h2 id="linear-ring">Linear Ring<a class="headerlink" href="#linear-ring" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Anforderungs ID</th>
<th>Beschreibung</th>
<th>Fehlercode</th>
<th>Bekannte Prüfungen</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="../R_GE_R_TOO_FEW_POINTS/">R_GE_R_TOO_FEW_POINTS</a></td>
<td>Zu wenig Punkte in einem Ring</td>
<td>GE_R_TOO_FEW_POINTS</td>
<td>C_GE_R_TOO_FEW_POINTS</td>
</tr>
<tr>
<td><a href="../R_GE_R_CONSECUTIVE_POINTS_SAME/">R_GE_R_CONSECUTIVE_POINTS_SAME</a></td>
<td>2 aufeinanderfolgende Punkte sind gleich</td>
<td>GE_R_CONCECUTIVE_POINTS_SAME</td>
<td>C_GE_R_CONCECUTIVE_POINTS_SAME, C_GE_R_DUPLICATE_POINT</td>
</tr>
<tr>
<td><a href="../R_GE_R_NOT_CLOSED/">R_GE_R_NOT_CLOSED</a></td>
<td>Der erste und letzte Punkt sind nicht gleich</td>
<td>GE_R_NOT_CLOSED</td>
<td>C_GE_R_NOT_CLOSED</td>
</tr>
<tr>
<td><a href="../R_GE_R_SELF_INTERSECTION/">R_GE_R_SELF_INTERSECTION</a></td>
<td>Selbstverschneidung z.B. eine Schleife</td>
<td>GE_R_SELF_INTERSECTION</td>
<td>C_GE_R_SELF_INTERSECTION, C_GE_R_DUPLICATE_POINT</td>
</tr>
<tr>
<td><a href="../R_GE_R_COLLAPSED_TO_LINE/">R_GE_R_COLLAPSED_TO_LINE</a></td>
<td><strong>Momentan nicht in Benutzung, da redundant mit R_GE_R_SELF_INTERSECTION</strong><br/> Ring ist ein Punkt oder eine Linie</td>
<td>GE_R_COLLAPSED_TO_LINE</td>
<td>C_GE_R_COLLAPSED_TO_LINE</td>
</tr>
<tr>
<td>R_GE_R_ALL</td>
<td>Container für: R_GE_R_TOO_FEW_POINTS, R_GE_R_CONSECUTIVE_POINTS_SAME, R_GE_R_NOT_CLOSED, R_GE_R_SELF_INTERSECTION</td>
<td>--</td>
<td>--</td>
</tr>
</tbody>
</table>
<h2 id="polygon">Polygon<a class="headerlink" href="#polygon" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Anforderungs ID</th>
<th>Beschreibung</th>
<th>Fehlercode</th>
<th>Bekannte Prüfungen</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="../R_GE_P_INTERSECTING_RINGS/">R_GE_P_INTERSECTING_RINGS</a></td>
<td>2+ Ringe schneiden sich</td>
<td>GE_P_INTERSECTING_RINGS</td>
<td>C_GE_P_INTERSECTING_RINGS</td>
</tr>
<tr>
<td><a href="../R_GE_P_NON_PLANAR/">R_GE_P_NON_PLANAR</a></td>
<td>Nicht planares Polygon, sowohl Distanz als auch Flächennormale Abweichungen</td>
<td>GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE, GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION</td>
<td>C_GE_P_NON_PLANAR</td>
</tr>
<tr>
<td><a href="../R_GE_P_INTERIOR_DISCONNECTED/">R_GE_P_INTERIOR_DISCONNECTED</a></td>
<td>Innenfläche ist nicht verbunden</td>
<td>GE_P_INTERIOR_DISCONNECTED</td>
<td>C_GE_P_INTERIOR_DISCONNECTED</td>
</tr>
<tr>
<td><a href="../R_GE_P_HOLE_OUTSIDE/">R_GE_P_HOLE_OUTSIDE</a></td>
<td>1+ inneren Ringe ist komplett außerhalb des Polygons</td>
<td>GE_P_HOLE_OUTSIDE</td>
<td>C_GE_P_HOLE_OUTSIDE</td>
</tr>
<tr>
<td><a href="../R_GE_P_INNER_RINGS_NESTED/">R_GE_P_INNER_RINGS_NESTED</a></td>
<td>Innerer Ring ist komplett innerhalb eines anderen inneren Rings</td>
<td>GE_P_INNER_RINGS_NESTED</td>
<td>C_GE_P_INNER_RINGS_NESTED</td>
</tr>
<tr>
<td><a href="../R_GE_P_ORIENTATION_RINGS_SAME/">R_GE_P_ORIENTATION_RINGS_SAME</a></td>
<td>Äußerer Ring und innerer Ring haben die selbe Orientation</td>
<td>GE_P_ORIENTATION_RINGS_SAME</td>
<td>C_GE_P_ORIENTATION_RINGS_SAME</td>
</tr>
<tr>
<td>R_GE_P_ALL</td>
<td>Container für: R_GE_P_INTERSECTING_RINGS, R_GE_P_NON_PLANAR, R_GE_P_INTERIOR_DISCONNECTED, R_GE_P_HOLE_OUTSIDE, R_GE_P_INNER_RINGS_NESTED, R_GE_P_ORIENTATION_RINGS_SAME, R_GE_R_ALL</td>
<td>--</td>
<td>--</td>
</tr>
</tbody>
</table>
<h2 id="solid-hulle-shell">Solid / Hülle (Shell)<a class="headerlink" href="#solid-hulle-shell" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Anforderungs ID</th>
<th>Beschreibung</th>
<th>Fehlercode</th>
<th>Bekannte Prüfungen</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="../R_GE_S_TOO_FEW_POLYGONS/">R_GE_S_TOO_FEW_POLYGONS</a></td>
<td>&lt;4 Polygone</td>
<td>GE_S_TOO_FEW_POLYGONS</td>
<td>C_GE_S_TOO_FEW_POLYGONS</td>
</tr>
<tr>
<td><a href="../R_GE_S_NOT_CLOSED/">R_GE_S_NOT_CLOSED</a></td>
<td>Die Hülle ist nicht wasserdicht / hat 1+ Löcher</td>
<td>GE_S_NOT_CLOSED</td>
<td>C_GE_S_NOT_CLOSED</td>
</tr>
<tr>
<td><a href="../R_GE_S_NON_MANIFOLD_VERTEX/">R_GE_S_NON_MANIFOLD_VERTEX</a></td>
<td>Jedes Polygon, das an einem Punkt anliegt muss über Kanten mit den Anderen verbunden sein</td>
<td>GE_S_NON_MANIFOLD_VERTEX</td>
<td>C_GE_S_NON_MANIFOLD_VERTEX</td>
</tr>
<tr>
<td><a href="../R_GE_S_NON_MANIFOLD_EDGE/">R_GE_S_NON_MANIFOLD_EDGE</a></td>
<td>An jeder Kante dürfen nur 2 Polygon anliegen</td>
<td>GE_S_NON_MANIFOLD_EDGE</td>
<td>C_GE_S_NON_MANIFOLD_EDGE</td>
</tr>
<tr>
<td><a href="../R_GE_S_MULTIPLE_CONNECTED_COMPONENTS/">R_GE_S_MULTIPLE_CONNECTED_COMPONENTS</a></td>
<td>Alle Polygone müssen über Punkte und Kanten verbunden sein</td>
<td>GE_S_MULTIPLE_CONNECTED_COMPONENTS</td>
<td>C_GE_S_MULTIPLE_CONNECTED_COMPONENTS</td>
</tr>
<tr>
<td><a href="../R_GE_S_SELF_INTERSECTION/">R_GE_S_SELF_INTERSECTION</a></td>
<td>Die Hülle selbstverschneidet sich</td>
<td>GE_S_SELF_INTERSECTION</td>
<td>C_GE_S_SELF_INTERSECTION</td>
</tr>
<tr>
<td><a href="../R_GE_S_POLYGON_WRONG_ORIENTATION/">R_GE_S_POLYGON_WRONG_ORIENTATION</a></td>
<td>Die Orientierung eines Polygons ist falsch</td>
<td>GE_S_POLYGON_WRONG_ORIENTATION</td>
<td>C_GE_S_POLYGON_WRONG_ORIENTATION</td>
</tr>
<tr>
<td><a href="../R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION/">R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION</a></td>
<td>Alle Polygone zeigen in die falsche Richtung</td>
<td>GE_S_ALL_POLYGONS_WRONG_ORIENTATION</td>
<td>C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION</td>
</tr>
<tr>
<td>R_GE_S_ALL</td>
<td>Container für: R_GE_S_TOO_FEW_POLYGONS, R_GE_S_NOT_CLOSED, R_GE_S_NON_MANIFOLD_VERTEX, R_GE_S_NON_MANIFOLD_EDGE, R_GE_S_MULTIPLE_CONNECTED_COMPONENTS, R_GE_S_SELF_INTERSECTION, R_GE_S_POLYGON_WRONG_ORIENTATION, R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION</td>
<td>--</td>
<td>--</td>
</tr>
</tbody>
</table>
<h2 id="parameter-uberblick">Parameter Überblick<a class="headerlink" href="#parameter-uberblick" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Beschreibung</th>
<th>Verwendet in</th>
<th>Einheit</th>
</tr>
</thead>
<tbody>
<tr>
<td>minVertexDistance</td>
<td>Minimale Abstand zwischen zwei Punkten bevor sie als der selbe Punkt angesehen werden</td>
<td>R_GE_R_CONSECUTIVE_POINTS_SAME, R_GE_R_NOT_CLOSED, R_GE_R_SELF_INTERSECTION, R_GE_P_INTERIOR_DISCONNECTED</td>
<td>Meter</td>
</tr>
<tr>
<td>type</td>
<td>Planaritätsprüfungsart, kann <em>distance</em>, <em>angle</em>, <em>both</em> sein</td>
<td>R_GE_P_NON_PLANAR</td>
<td>-</td>
</tr>
<tr>
<td>distanceTolerance</td>
<td>Maximale Distanz eines Punktes von der Ausgleichsebene eines Polygons bevor es als Fehler angesehen wird</td>
<td>R_GE_P_NON_PLANAR</td>
<td>Meter</td>
</tr>
<tr>
<td>angleTolerance</td>
<td>Maximale Differenz im Winkel von angrenzenden Dreiecken einer Triangulierung bevor ein Polygon nicht mehr als Planar angesehen wird</td>
<td>R_GE_P_NON_PLANAR</td>
<td>Radiant</td>
</tr>
</tbody>
</table>
<h2 id="abhangigkeitsbaum">Abhängigkeitsbaum<a class="headerlink" href="#abhangigkeitsbaum" title="Permanent link">&para;</a></h2>
<p>Dies ist die Reihenfolge in der die Prüfungen ausgeführt werden. Wenn eine abhängige Prüfung einen Fehler geworfen hat oder nicht ausgeführt wurde, so wird die darauffolgende Prüfung auch nicht ausgeführt.</p>
<pre class="mermaid"><code>graph TD;
X0001[R_SC_SCHEMA_VALIDATION]
R0001[R_GE_R_TOO_FEW_POINTS]
R0002[R_GE_R_CONSECUTIVE_POINTS_SAME]
R0003[R_GE_R_NOT_CLOSED]
R0004[R_GE_R_SELF_INTERSECTION]
P0001[R_GE_P_INTERSECTING_RINGS]
P0002[R_GE_P_NON_PLANAR]
P0003[R_GE_P_INTERIOR_DISCONNECTED]
P0004[R_GE_P_HOLE_OUTSIDE]
P0005[R_GE_P_INNER_RINGS_NESTED]
P0006[R_GE_P_ORIENTATION_RINGS_SAME]
S0001[R_GE_S_TOO_FEW_POLYGONS]
S0002[R_GE_S_NOT_CLOSED]
S0003[R_GE_S_NON_MANIFOLD_VERTEX]
S0004[R_GE_S_NON_MANIFOLD_EDGE]
S0005[R_GE_S_MULTIPLE_CONNECTED_COMPONENTS]
S0006[R_GE_S_SELF_INTERSECTION]
S0007[R_GE_S_POLYGON_WRONG_ORIENTATION]
S0008[R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION]
X0001--&gt;R0003;
R0003--&gt;R0001;
R0001--&gt;R0002;
R0002--&gt;R0004;
R0004--&gt;P0002;
P0002--&gt;P0006;
P0006--&gt;P0003;
P0006--&gt;P0004;
P0006--&gt;P0005;
P0004--&gt;P0001;
P0005--&gt;P0001;
P0001--&gt;S0001;
P0003--&gt;S0001;
S0001--&gt;S0002;
S0001--&gt;S0004;
S0001--&gt;S0003;
S0001--&gt;S0005;
S0002--&gt;S0007;
S0004--&gt;S0007;
S0007--&gt;S0006;
S0003--&gt;S0006;
S0005--&gt;S0006;
S0006--&gt;S0008; </code></pre>
<h2 id="multisurface-und-solid-geometrie">Multisurface und Solid Geometrie<a class="headerlink" href="#multisurface-und-solid-geometrie" title="Permanent link">&para;</a></h2>
<p>Um die Definition eines Validierungsplans zu vereinfachen werden zwei neue Anfoderungen zusätzlich eingeführt. Diese Anforderungen dienen lediglich zur Gruppierung von den vorhandenen Anforderungen und benötigen keine zusätzlichen Prüfungen.</p>
<table>
<thead>
<tr>
<th>Anforderungs ID</th>
<th>Beschreibung</th>
<th>Abhängigkeiten</th>
<th>Fehlercode</th>
<th>Bekannte Prüfungen</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="../R_GE_MS/">R_GE_MS</a></td>
<td>Valide Multisurface-Geometrie</td>
<td>R_SC-SCHEMA-VALIDATION, R_GE_P_ALL</td>
<td>--</td>
<td>--</td>
</tr>
<tr>
<td><a href="../R_GE_SO/">R_GE_SO</a></td>
<td>Valide Hüllengeometrie</td>
<td>R_SC-SCHEMA-VALIDATION, R_GE_S_ALL</td>
<td>--</td>
<td>--</td>
</tr>
</tbody>
</table>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.code.annotate"], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version": "Version ausw\u00e4hlen"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script src="https://unpkg.com/mermaid/dist/mermaid.min.js"></script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment