added svg drawing feature

This commit is contained in:
Malte Münch 2020-01-26 20:30:56 +01:00
parent b4259d74a1
commit cf4294fddf
4 changed files with 130 additions and 6 deletions

103
Karte_Deutschland.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 208 KiB

View File

@ -1,11 +1,13 @@
#!/usr/bin/python
import requests, json, pickle, os.path
import requests, json, pickle, os.path, svgwrite
URL = "https://directory.spaceapi.io/"
NORTHERNMOST = 55.05
EASTERNMOST = 15.033333
SOUTHERNMOST = 47.270108
WESTERNMOST = 5.866667
YSPAN = NORTHERNMOST - SOUTHERNMOST
XSPAN = EASTERNMOST - WESTERNMOST
locations = {}
if os.path.isfile('locations.bin'):
print ("using offline data...")
@ -36,17 +38,26 @@ else:
with open("locations.bin", "wb") as f:
pickle.dump(locations, f, pickle.HIGHEST_PROTOCOL)
print ("Removing non-german points...")
nongerman_locations = locations.copy()
german_locations = locations.copy()
for space in locations:
if locations[space][0] > NORTHERNMOST:
del nongerman_locations[space]
del german_locations[space]
print ("kicked " + space + " too far north")
elif locations[space][0] < SOUTHERNMOST:
del nongerman_locations[space]
del german_locations[space]
print ("kicked " + space + " too far south")
elif locations[space][1] < WESTERNMOST:
del nongerman_locations[space]
del german_locations[space]
print ("kicked " + space + " too far west")
elif locations[space][1] > EASTERNMOST:
del nongerman_locations[space]
del german_locations[space]
print ("kicked " + space + " too far east")
dwg = svgwrite.Drawing('svgwrite-example.svg', profile='tiny')
dwg.add(svgwrite.image.Image(href="Karte_Deutschland.svg", size=(572,770)))
dwg.add(dwg.circle(center=(0,0), r=3, fill='black'))
for space in german_locations:
ypoint = (770 - (((german_locations[space][0] - SOUTHERNMOST) / YSPAN)* 770))
dwg.add(dwg.circle(center=(((locations[space][1] - WESTERNMOST) / XSPAN) *
572, ypoint), r=1, fill='black'))
dwg.save()

8
index.html Normal file
View File

@ -0,0 +1,8 @@
<html>
<head>
<meta http-equiv="refresh" content="1">
</head>
<body>
<img src=svgwrite-example.svg>
</bod>
</html>

2
svgwrite-example.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.0 KiB