mirror of
https://github.com/DerTyp7/local-analyzer-python.git
synced 2025-10-29 04:22:10 +01:00
a
This commit is contained in:
BIN
__pycache__/server.cpython-310.pyc
Normal file
BIN
__pycache__/server.cpython-310.pyc
Normal file
Binary file not shown.
68
analyze.py
Normal file
68
analyze.py
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
OFFLINE = False
|
||||||
|
from managers import PlaceManager
|
||||||
|
from osm import OSM
|
||||||
|
from publicTransport import PublicTransportAccessibility
|
||||||
|
import requests
|
||||||
|
|
||||||
|
# ADVANCED:
|
||||||
|
# Get external data of shops, like website
|
||||||
|
# Get General City/Region data: average age, peace index, democrazy index, average income
|
||||||
|
|
||||||
|
# IDEAS:
|
||||||
|
# Parks
|
||||||
|
# ATMs
|
||||||
|
|
||||||
|
# 52.9152386,,15.96z
|
||||||
|
# bhv 53.51500036203292, 8.603602165157444
|
||||||
|
"""
|
||||||
|
# TODO Get User input
|
||||||
|
lon = 8.8285578 # 8.6039883
|
||||||
|
lat = 52.9152386 # 52.51608
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
def get_data(lon, lat):
|
||||||
|
|
||||||
|
# TODO Get real value based on a metric radius
|
||||||
|
areaHeightRadius = 0.01 # 0.01
|
||||||
|
areaWidthRadius = 0.013 # 0.013
|
||||||
|
|
||||||
|
minLon = round(float(lon) - areaWidthRadius, 5)
|
||||||
|
maxLon = round(float(lon) + areaWidthRadius, 5)
|
||||||
|
|
||||||
|
minLat = round(float(lat) - areaHeightRadius, 5)
|
||||||
|
maxLat = round(float(lat) + areaHeightRadius, 5)
|
||||||
|
|
||||||
|
requestUrl = "https://overpass-api.de/api/map"
|
||||||
|
requestsUrlParams = f"?bbox={minLon},{minLat},{maxLon},{maxLat}"
|
||||||
|
|
||||||
|
|
||||||
|
if OFFLINE:
|
||||||
|
print("Using offline file!")
|
||||||
|
file = open("mapHH", encoding="utf8")
|
||||||
|
osm = OSM(file.read())
|
||||||
|
else:
|
||||||
|
print(requestUrl + requestsUrlParams)
|
||||||
|
print("Downloading OSM-File...")
|
||||||
|
# TODO Check if banned from overpass-api MAYBE get alternative API then
|
||||||
|
r = requests.get(requestUrl + requestsUrlParams, headers={'Content-Type': 'application/xml'})
|
||||||
|
print("Done: Downloading OSM-File")
|
||||||
|
osm = OSM(r.text)
|
||||||
|
|
||||||
|
pta = PublicTransportAccessibility(osm)
|
||||||
|
placeManager = PlaceManager(osm)
|
||||||
|
|
||||||
|
print("\n--- Public Transport Accessibility ---")
|
||||||
|
print("Bus: " + str(pta.isBusAccessible()))
|
||||||
|
print("Tram: " + str(pta.isTramAccessible()))
|
||||||
|
print("Light Rail: " + str(pta.isLightRailAccessible()))
|
||||||
|
print("Subway: " + str(pta.isSubwayAccessible()))
|
||||||
|
print("Train: " + str(pta.isTrainAccessible()))
|
||||||
|
print("Monorail: " + str(pta.isMonorailAccessible()))
|
||||||
|
|
||||||
|
print("\n--- 20 Most present places types ---")
|
||||||
|
counter = 0
|
||||||
|
for s in placeManager.getCountsOfTypes():
|
||||||
|
if counter <= 20:
|
||||||
|
print(s['type'] + " : " + str(s['count']) + " times")
|
||||||
|
counter = counter + 1
|
||||||
64
main.py
64
main.py
@@ -1,64 +0,0 @@
|
|||||||
OFFLINE = True
|
|
||||||
from managers import PlaceManager
|
|
||||||
from osm import OSM
|
|
||||||
from publicTransport import PublicTransportAccessibility
|
|
||||||
import requests
|
|
||||||
|
|
||||||
# ADVANCED:
|
|
||||||
# Get external data of shops, like website
|
|
||||||
# Get General City/Region data: average age, peace index, democrazy index, average income
|
|
||||||
|
|
||||||
# IDEAS:
|
|
||||||
# Parks
|
|
||||||
# ATMs
|
|
||||||
|
|
||||||
# 52.9152386,,15.96z
|
|
||||||
# bhv 53.51500036203292, 8.603602165157444
|
|
||||||
|
|
||||||
# TODO Get User input
|
|
||||||
lon = 8.8285578 # 8.6039883
|
|
||||||
lat = 52.9152386 # 52.51608
|
|
||||||
|
|
||||||
# TODO Get real value based on a metric radius
|
|
||||||
areaHeightRadius = 0.01 # 0.01
|
|
||||||
areaWidthRadius = 0.013 # 0.013
|
|
||||||
|
|
||||||
minLon = round(float(lon) - areaWidthRadius, 5)
|
|
||||||
maxLon = round(float(lon) + areaWidthRadius, 5)
|
|
||||||
|
|
||||||
minLat = round(float(lat) - areaHeightRadius, 5)
|
|
||||||
maxLat = round(float(lat) + areaHeightRadius, 5)
|
|
||||||
|
|
||||||
requestUrl = "https://overpass-api.de/api/map"
|
|
||||||
requestsUrlParams = f"?bbox={minLon},{minLat},{maxLon},{maxLat}"
|
|
||||||
|
|
||||||
|
|
||||||
if OFFLINE:
|
|
||||||
print("Using offline file!")
|
|
||||||
file = open("mapHH", encoding="utf8")
|
|
||||||
osm = OSM(file.read())
|
|
||||||
else:
|
|
||||||
print(requestUrl + requestsUrlParams)
|
|
||||||
print("Downloading OSM-File...")
|
|
||||||
# TODO Check if banned from overpass-api MAYBE get alternative API then
|
|
||||||
r = requests.get(requestUrl + requestsUrlParams, headers={'Content-Type': 'application/xml'})
|
|
||||||
print("Done: Downloading OSM-File")
|
|
||||||
osm = OSM(r.text)
|
|
||||||
|
|
||||||
pta = PublicTransportAccessibility(osm)
|
|
||||||
placeManager = PlaceManager(osm)
|
|
||||||
|
|
||||||
print("\n--- Public Transport Accessibility ---")
|
|
||||||
print("Bus: " + str(pta.isBusAccessible()))
|
|
||||||
print("Tram: " + str(pta.isTramAccessible()))
|
|
||||||
print("Light Rail: " + str(pta.isLightRailAccessible()))
|
|
||||||
print("Subway: " + str(pta.isSubwayAccessible()))
|
|
||||||
print("Train: " + str(pta.isTrainAccessible()))
|
|
||||||
print("Monorail: " + str(pta.isMonorailAccessible()))
|
|
||||||
|
|
||||||
print("\n--- 20 Most present places types ---")
|
|
||||||
counter = 0
|
|
||||||
for s in placeManager.getCountsOfTypes():
|
|
||||||
if counter <= 20:
|
|
||||||
print(s['type'] + " : " + str(s['count']) + " times")
|
|
||||||
counter = counter + 1
|
|
||||||
Reference in New Issue
Block a user