Erste Schritte mit casaGeoTools

Einführung

Die casaGeoTools-Bibliothek wurde entwickelt, um leistungsstarke Standortdienste direkt in Ihren Python-Data-Science-Workflow zu integrieren. Diese Anleitung führt Sie durch die Installation, die sichere Authentifizierung und Ihre erste Isochronenabfrage.

1. Installation

Installieren Sie die Bibliothek direkt über PyPI. Nutzen Sie dazu Ihr Terminal oder die Eingabeaufforderung:

pip install casaGeoTools

Für Ihr erstes Skript sollten Sie folgende Pakete importieren:

Python Skript

import os
from dotenv import load_dotenv


import pandas as pd
import shapely


# casaGeoTools
from casageo import coder as cc # Wird in diesem Beispiel nicht benötigt
from casageo import spatial as cs
from casageo import tools as ct


pd.set_option("display.max_rows", None)
pd.set_option("display.max_columns", None)
pd.set_option("display.width", 999)

1.1 Erläuterungen

  1. pd.set_option(): Hierdurch werden alle Spalte im Ergebnisse anzeigt.

2. Zugang und API-Key

Für die Nutzung der Dienste benötigen Sie einen gültigen Zugangsschlüssel.

3. Sicheres Setup (.env)

In professionellen Projekten sollten API-Keys niemals direkt im Code stehen. Wir empfehlen die Nutzung einer .env-Datei.

  1. Erstellen Sie eine Datei namens .env in Ihrem Projektordner
  2. Fügen Sie Ihren Key hinzu: CASAGEOTOOLS_API_KEY=ihr_schluessel_hier
  3. Nutzen Sie python-dotenv, um den Key zu laden

 

Python Skript

import os
from dotenv import load_dotenv
load_dotenv() # Lädt die Variable aus der .env-Datei


API_KEY = os.getenv("CASAGEOTOOLS_API_KEY")


if not API_KEY:
   raise ValueError(
      "No CASAGEOTOOLS_API_KEY found in .env file. Please set your casaGeoTools API key.")


cga = ct.CasaGeoClient(API_KEY)
cga.preferred_language = ["de", "en"]
account_info = cga.account_info().json()


account_info # Output  in Jupyter Notebook
print(account_info) # Output im Python-Skript


 

3.1 Erläuterungen

  1. cga.preferred_language = ["de", "en"]: Hier wird die Sprache festgelegt, in der die Ergebnisse zurückgegeben werden.
  2. cga.account_info().json(): Liefert Infos zum Nutzer, wie Ablaufdaten, Paket und eine Übersicht über die Credits

4. Ihre erste Abfrage

Die Berechnung von Isochronen mit casaGeoTools ist effizient und liefert Daten im GeoDataFrames-Format.

Python Skript

import shapely


point_hh = shapely.Point(10.008223, 53.9580118) # Standort für den das Einzugsgebiet berechnet wird


cgs = cs.CasaGeoSpatial(cga)
cgs.transport_mode = "car"
cgs.routing_mode = "fast"


single_isolines = cgs.isolines(poin_hh, [3,9,15], range_type="time").dataframe(departure_info=False)


single_isolines # Output in Jupyter Notebook


print(single_isolines) # Output im PythonScript

4.1 Erläuterungen

  1. cgs.transport_mode:  Aktuell stehen "car", "pedestrian" und "bicycle" zur Auswahl
  2. cgs.routing_mode:  Hier kann zwischen "fast" (schnellste Strecke) und "short" (kürzeste Strecke) unterschieden werden
  3. cgs.isolines(...,[3,9,15],range_type = "time"): [3,9,15] erzeugt 3, 9 und 15 Minuten-Isochronen um den Standort. Möchte man bspw. nur die 5-Minuten-Isochrone berechnen, verwendet man den Ausdruck [5]. Zeitparameter werden immer in Minuten angegeben, Distanzparameter immer in Metern. [3000,9000,15000] berechnet das Einzugsgebiet in 3, 9 und 15 Kilometern. Der range_type wird hierfür von "time" auf "distance" umgestellt.
  4. cgs.isolines().dataframe(departure_info=False): Die Abfahrtzeit wird in der Ergebnistabelle nicht angezeigt. Standardmäßig wird der Verkehr nicht berücksichtigt. In diesem Fall ist die Information irrelevant.

5. Downloads

Um Ihre Entwicklung zu beschleunigen, können Sie dieses Beispiel unten als Jupyter Notebook oder eigenständiges Python-Skript herunterladen.