Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oklabflensburg/open-social-map
Digitaler Sozialatlas als Grundlage für verschiedene Planungsaktivitäten in Flensburg mit den aktuellen und historischen Strukturdaten gegliedert nach Stadtteilen
https://github.com/oklabflensburg/open-social-map
aggregation data-science data-visualization hacktoberfest opendata urban-planning
Last synced: 4 days ago
JSON representation
Digitaler Sozialatlas als Grundlage für verschiedene Planungsaktivitäten in Flensburg mit den aktuellen und historischen Strukturdaten gegliedert nach Stadtteilen
- Host: GitHub
- URL: https://github.com/oklabflensburg/open-social-map
- Owner: oklabflensburg
- License: cc0-1.0
- Created: 2023-08-08T12:53:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-11T13:25:46.000Z (2 months ago)
- Last Synced: 2024-09-11T20:56:37.288Z (2 months ago)
- Topics: aggregation, data-science, data-visualization, hacktoberfest, opendata, urban-planning
- Language: HTML
- Homepage: https://dev.sozialatlas-flensburg.de
- Size: 5.81 MB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sozialatlas 2022 der Stadt Flensburg
[![Lint javascript](https://github.com/oklabflensburg/open-social-map/actions/workflows/lint-js.yml/badge.svg)](https://github.com/oklabflensburg/open-social-map/actions/workflows/lint-js.yml)
![Screenshot Dashboard Sozialatlas](https://raw.githubusercontent.com/oklabflensburg/open-social-map/main/wiki/screenshot_dashboard.jpg)
[Aktueller Entwicklungstand](https://dev.sozialatlas.oklabflensburg.de)
_Haftungsausschluss: Dieses Repository und die zugehörige Datenbank befinden sich derzeit in einer Beta-Version. Einige Aspekte des Codes und der Daten können noch Fehler enthalten. Bitte kontaktieren Sie uns per E-Mail oder erstellen Sie ein Issue auf GitHub, wenn Sie einen Fehler entdecken._
## Datenquelle
Der Sozialatlas der Stadt Flensburg wird bereits seit 2010 jährlich veröfentlicht. Dieser beinhaltet unter anderem Auswertungen zu folgenden Bereichen: Bevölkerung, Arbeitsmarkt und Beschäftigung, Wohnen, sozialen Sicherung sowie zu Hilfen zur Erziehung. Der Sozialatlas der Stadt Flensburg wird unter folgendem Link zum [Download](https://www.flensburg.de/Leben-Soziales/Familie-Soziales/Sozialatlas) angeboten. Mit dem Sozialatlas 2022 liegt erstmals die Fortschreibung von Sozialstrukturdaten für die Stadt Flensburg und ihre 13 Stadtteile vor. Die Geodaten der einzelnen Stadtteile wurden freundlicherweise von der Stabsstelle Statistik der Stadt Flensburg zur Verfügung gestellt.
## Nutzung
Der digitale Sozialatlas soll eine Grundlage für verschiedene Planungsaktivitäten der Stadt Flensburg und deren Einwohner:innen anbieten. Ziel ist die differenzierte Beobachtung von relevanten Indikatoren, die Aufschluss über die soziale Lage der Stadt und ihrer 13 Stadtteile geben. Bitte dazu auf den Umriss eines Stadtteils klicken, um die jeweiligen Details angezeigt zu bekommen. Dies ist ein erster Prototyp. Wir möchten diesen mit Filtermöglichkeiten ausbauen.
## Prerequisites
To setup the app, make sure to follow the steps to prepare the setup.
```
sudo apt install wget
sudo apt install git git-lfs
sudo apt install python3 python3-pip python3-venv
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null
sudo apt update
sudo apt install postgresql-16 postgis gdal-bin
```## Create system user
Make sure to add your user to the `oklab`-group.
```
sudo adduser oklab
sudo usermod -a -G www-data oklab
sudo mkdir -p /opt/oklab
sudo chown -R oklab:oklab /opt/oklab
sudo chmod 770 -R /opt/oklab
cd /opt/oklab/
```## Prepare database
Open and edit `/etc/postgresql/16/main/pg_hba.conf` add following two entries into your config.
```
local oklab oklab trust
host oklab oklab 127.0.0.1/32 trust
```After these edits run `sudo systemctl restart postgresql.service`. To verify everything works run..
```
sudo systemctl status postgresql.service
```Now change user `sudo -i -u postgres` and run these commands.
```
createuser -d oklab
createdb -O oklab oklab
psql -U oklab
exit
```Note since the `oklab`-user does not have superuser permissions you must login with `psql`
```
\c oklab
CREATE EXTENSION IF NOT EXISTS postgis;
exit
```Make sure to create a dot `.env` file and add the following enviroment variables.
Hint: You may want to change the values accordingly to your setup policy.
```sh
DB_PASS=postgres
DB_HOST=localhost
DB_USER=oklab
DB_NAME=oklab
DB_PORT=5432
```## Setup app
To use the all open data API endpoints you may import following data
```sh
cd ..
git clone https://github.com/oklabflensburg/open-social-map.git
cd open-social-map
psql -U oklab -h localhost -d oklab -p 5432 < data/flensburg_stadtteile.sql
cd tools
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
python3 insert_districts.py ../static/flensburg_stadtteile.geojson
deactivate
psql -U oklab -h localhost -d oklab -p 5432 < data/flensburg_sozialatlas.sql
psql -U oklab -h localhost -d oklab -p 5432 < data/flensburg_sozialatlas_metadaten.sql
```In case you messed up anything, you can run this line but be aware it will delete all tables
```
psql -U oklab -h localhost -d oklab -p 5432 < data/cleanup_database_schema.sql
```After running this line you must repeat all steps above to import all data
Done!
## Test query
Jetzt könnt ihr in der `PSQL` Umgebung folgende Abfrage ausführen```sql
SELECT jsonb_build_object(
'type', 'FeatureCollection',
'crs', json_build_object(
'type', 'name',
'properties', json_build_object(
'name', 'urn:ogc:def:crs:OGC:1.3:CRS84'
)
),
'features', jsonb_agg(fc.feature)
) AS geojson
FROM (
SELECT jsonb_build_object(
'type', 'Feature',
'geometry', ST_AsGeoJSON(d.geometry)::jsonb,
'properties', jsonb_build_object('district_id', d.id, 'district_name', d.name)
) AS feature
FROM districts AS d-- WHERE d.id = 2
) AS fc;
```## LICENSE
[CC0-1.0](LICENSE)