added svg drawing feature
This commit is contained in:
parent
b4259d74a1
commit
cf4294fddf
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 208 KiB |
|
@ -1,11 +1,13 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
import requests, json, pickle, os.path
|
import requests, json, pickle, os.path, svgwrite
|
||||||
|
|
||||||
URL = "https://directory.spaceapi.io/"
|
URL = "https://directory.spaceapi.io/"
|
||||||
NORTHERNMOST = 55.05
|
NORTHERNMOST = 55.05
|
||||||
EASTERNMOST = 15.033333
|
EASTERNMOST = 15.033333
|
||||||
SOUTHERNMOST = 47.270108
|
SOUTHERNMOST = 47.270108
|
||||||
WESTERNMOST = 5.866667
|
WESTERNMOST = 5.866667
|
||||||
|
YSPAN = NORTHERNMOST - SOUTHERNMOST
|
||||||
|
XSPAN = EASTERNMOST - WESTERNMOST
|
||||||
locations = {}
|
locations = {}
|
||||||
if os.path.isfile('locations.bin'):
|
if os.path.isfile('locations.bin'):
|
||||||
print ("using offline data...")
|
print ("using offline data...")
|
||||||
|
@ -36,17 +38,26 @@ else:
|
||||||
with open("locations.bin", "wb") as f:
|
with open("locations.bin", "wb") as f:
|
||||||
pickle.dump(locations, f, pickle.HIGHEST_PROTOCOL)
|
pickle.dump(locations, f, pickle.HIGHEST_PROTOCOL)
|
||||||
print ("Removing non-german points...")
|
print ("Removing non-german points...")
|
||||||
nongerman_locations = locations.copy()
|
german_locations = locations.copy()
|
||||||
for space in locations:
|
for space in locations:
|
||||||
if locations[space][0] > NORTHERNMOST:
|
if locations[space][0] > NORTHERNMOST:
|
||||||
del nongerman_locations[space]
|
del german_locations[space]
|
||||||
print ("kicked " + space + " too far north")
|
print ("kicked " + space + " too far north")
|
||||||
elif locations[space][0] < SOUTHERNMOST:
|
elif locations[space][0] < SOUTHERNMOST:
|
||||||
del nongerman_locations[space]
|
del german_locations[space]
|
||||||
print ("kicked " + space + " too far south")
|
print ("kicked " + space + " too far south")
|
||||||
elif locations[space][1] < WESTERNMOST:
|
elif locations[space][1] < WESTERNMOST:
|
||||||
del nongerman_locations[space]
|
del german_locations[space]
|
||||||
print ("kicked " + space + " too far west")
|
print ("kicked " + space + " too far west")
|
||||||
elif locations[space][1] > EASTERNMOST:
|
elif locations[space][1] > EASTERNMOST:
|
||||||
del nongerman_locations[space]
|
del german_locations[space]
|
||||||
print ("kicked " + space + " too far east")
|
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()
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="1">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<img src=svgwrite-example.svg>
|
||||||
|
</bod>
|
||||||
|
</html>
|
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 5.0 KiB |
Loading…
Reference in New Issue