feat(mob-infra): initial commit

This commit is contained in:
dancingCycle 2023-04-14 15:20:07 +02:00
parent 1163ee4d24
commit ee4a5fe941
10 changed files with 310 additions and 0 deletions

6
mob-infra/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
bundle
build
venv
*.*~
*~
*.tar.gz

25
mob-infra/Makefile Normal file
View File

@ -0,0 +1,25 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
clean:
-rm -rf build
find . -name '*~' -type f -delete
-rm -rf venv

35
mob-infra/make.bat Normal file
View File

@ -0,0 +1,35 @@
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)
if "%1" == "" goto help
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd

88
mob-infra/readme.md Normal file
View File

@ -0,0 +1,88 @@
# Introduction
* setup the project
```
sphinx-quickstart
```
* install Sphinx
```
https://www.sphinx-doc.org/en/master/usage/installation.html
```
* get started with Sphinx
```
https://www.sphinx-doc.org/en/master/usage/quickstart.html#
```
# Build Documentation
## Python Dependencies
In order to generate the documentation,
first create a Python virtual environment using the
`venv` module included in Python like this.
* Create a virtual Python environment in the directory `venv`.
```
python3 -m venv venv
```
* Activate the virtual Python environment.
```
source venv/bin/activate
```
* Install the packages listed in [requirements.txt](./requirements.txt) using `pip`.
```
pip install -r requirements.txt
```
## Running Generator via Make
Execute make without an argument to see which targets are available
```
make
```
The top level directory contains a Makefile.
Generate HTML output
```
make html
```
Generate PDF output
```
make latexpdf
```
The output files can be found in the subfolder `./build`.
All generated intermediate artifacts and the final output files can be found in the `./build` subfolder.
Generate all output
```
make bundle
```
### Clean up
1. Deactivate the virtual Python environment
```
deactivate
```
2. Clean up the build sources:
```
make clean
```
# File System
* `build`: build directory
* `Makefile`: build configuration
* `readme.md`: this file
* `source`: source directory
# Links
* [getting started](https://www.sphinx-doc.org/en/master/usage/quickstart.html)

View File

@ -0,0 +1 @@
myst-parser

30
mob-infra/source/conf.py Normal file
View File

@ -0,0 +1,30 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = 'Vision: Mobilitätswende durch Mobilitätsinfrastruktur'
copyright = '2023, Software Ingenieur Begerad (SIB)'
author = 'Stefan Begerad'
release = '1.0.0'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [
'myst_parser'
]
templates_path = ['_templates']
exclude_patterns = ['.*`','*~','*readme.md*']
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_theme = 'alabaster'
html_static_path = ['_static']

View File

@ -0,0 +1,23 @@
.. getting-started documentation master file, created by
sphinx-quickstart on Thu Apr 13 17:31:40 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
(WIP) Vision: Mobilitäts-Wende durch Mobilitäts-Infrastruktur
=============================================================
.. toctree::
:numbered:
:maxdepth: 3
:caption: Contents:
intro
value-system
mob-infra
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

15
mob-infra/source/intro.md Normal file
View File

@ -0,0 +1,15 @@
# Einleitung
Dieser Beitrag beschreibt die Vision,
wie die Mobilitäts-Wende durch Mobilitäts-Infrastruktur gelingt.
Solange er die Abkürzung **WIP** im Titel trägt,
ist der Beitrag noch nicht fertig (*WIP: Work in Progress*).
Unter dem Begriff **Mobilitäts-Wende**
verstehen wir einen Prozess hin zu einer Mobilität,
welche im Einklang mit dem
[Gemeinwohl](https://ecogood.org/)
und dem Lebensraum der Menschheit steht.
Unter dem Begriff **Mobilitäts-Infrastruktur**,
verstehen wir digitale Infrastruktur angefagen bei Daten bis hin zu Hardware.

View File

@ -0,0 +1,34 @@
(mob-infra)=
# Mobilitäts-Infrastruktur
(data-quality)=
## Datenqualität
Mit der **Mobilitätsdatenverordnung (MDV)** vom 1. Juli 2022 hat der Prozess begonnen,
Daten im Zusammenhang mit der Beförderung von Personen im Gelegenheitsverkehr
(kurz *Taxi*) und Linienverkehr
(kurz ÖPNV) per Nationalen Zugangspunkt
(auch *NAP: National Access Point*)
der Öffenlichkeit zur Verfügung zu stellen.
Mit Stand April 2023 könnten wir behaupten,
dass dieser Prozess noch nicht abgeschlossen ist,
weil ein Teil von statischen
(auch *Soll-Fahrplan*) und ein Großteil von dynamischen
(auch *Echtzeit*) Daten noch nicht per NAP verfügbar sind.
Mit Stand April 2023 sind ein Großteil der Haltestellen-Daten per NAP verfügbar.
Diese können wir im Daten-Format [GTFS](https://gtfs.org)
exportieren und mit anderen Daten-Quellen vergleichen.
Weitere Daten-Quellen für Haltestellen-Daten sind Verkehrs-Verbünde oder Verkehrs-Unternehmen direkt oder das
[Zentrale Haltestellen-Verzeichnis](https://zhv.wvigmbh.de).
Vergleichen wir Haltestellen-Daten zwischen diesen Daten-Quellen,
stellen wir Inkompatibiliät oder Inkonsistenz fest.
Für das Daten-Fromat GTFS pflegen Menschen in der Liste
**[mfdz/GTFS-Issues](https://github.com/mfdz/GTFS-issues/issues)
die bisherigen Beobachtungen.
Eine Ursache für diese Beobachtungen ist die inkonsequente Anwendung von der
**DHID: Deutschlandweit einheitliche Haltestellen-ID** nach
[IFOPT](https://en.wikipedia.org/wiki/Identification_of_Fixed_Objects_in_Public_Transport).
Es existieren weiterhin Verkehrs-Verbünde oder Verkehrs-Unternehmen,
welche proprietäre Bezeichner für Haltestellen verwenden.

View File

@ -0,0 +1,53 @@
(value-system)=
# Wertesystem
Diese Vision basiert auf einem grundlegenden Wertesystem,
welches als gemeinsame Anschauung gilt und vom dem alle Aspekte abgeleitet sind.
Dieses Wertesystem ist wie folgt definiert.
Die Mobilitäts-Wende ist ein Prozess,
welcher kontinuierlichen Veränderungen unterliegt.
Eine digitale Infrastruktur ermöglicht die Mobilitäts-Wende,
wenn sie **dezentral**, **diskriminierungsfrei**, **offen** und **souverän** umgesetzt wird.
(decentralized)=
## Dezentral
Eine digitale Infrastruktur ist dezentral organisiert,
wenn mehrere eigenständige Instanzen unabhängig existieren oder sie föderiert interagieren.
Die Interaktion von dezentralen Entitäten ermögleicht Synergie.
Das Risiko von einem Flaschenhals oder der Abhängigkeit von einer einzigen zentralen Instanz wird auf diese Weise umgangen.
(free-from-discrimination)=
## Diskriminierungsfrei
Alle Menschen sind gleich und in ihrer Mobilitäts-Motivation gleich zu behandeln.
Eine digitale Infrastruktur ist **nicht** diskriminierungsfrei,
wenn die Rechte auf einen Kreis privilegierter Menschen reduziert wird.
(open)=
## Offen
Eine digitale Infrastruktur ist offen organisiert,
wenn Menschen einen
[diskriminierungsfreien](free-from-discrimination) Zugang erhalten.
Außerdem haben sie das Recht die dafür erforderlichen Informationen,
Software oder Technologie zu
[verwenden, verstehen, verbreiten oder verbessern](https://fsfe.org/freesoftware/freesoftware.de.html).
Eine digitale Infrastruktur ist **nicht** offen,
wenn Informationen, Software oder Technologie der Öffentlichkeit vorenthalten wird.
(sovereign)=
## Souverän
Eine digitale Infrastruktur ist souverän,
wenn wir selbstbestimmt diese Infrastuktur planen,
beauftragen, implementieren, betreiben und kontrollieren können.
Eine digitale Infrastruktur ist **nicht** sourverän,
wenn sie uns als Plattform einen Dienst anbietet
(*PaaS: Platform as a Service*),
an dem sich unser Recht auf die reine Verwendung beschränkt.