Skip to content

Commit

Permalink
Added ocean-coordinates
Browse files Browse the repository at this point in the history
  • Loading branch information
Tiago Marques Godinho committed Apr 3, 2019
1 parent 88c08d9 commit c401ac1
Show file tree
Hide file tree
Showing 4 changed files with 817 additions and 29 deletions.
12 changes: 6 additions & 6 deletions get_poi_coords.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ def request_objects_around_coordinate(lat,long, mapNumber=77):
'type': 'Secundario',
'cat': 'School'
},
#{
# 'map_number': 69,
# 'type': 'Universitario',
# 'cat': 'School'
#}
{
'map_number': 69,
'type': 'Universitario',
'cat': 'College'
},
{
'map_number': 26,
'type': 'SuperMercado',
Expand All @@ -97,7 +97,7 @@ def request_objects_around_coordinate(lat,long, mapNumber=77):
l0 = f['geometry']['y']
l1 = f['geometry']['x']

ret_obj = {'type': descr['cat'], 'lat': l0, 'long': l1, 'value': 1, 'category': descr['cat']}
ret_obj = {'type': descr['type'], 'lat': l0, 'long': l1, 'value': 1, 'category': descr['cat']}
dataList.append(ret_obj)

print("Writting CSV")
Expand Down
11 changes: 11 additions & 0 deletions land_or_sea.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import land_type

land_type.load_map()

lat = 41.207886
lon = -8.577679999999996
print("Land: ", not land_type.is_ocean_local(lat, lon))

lat = 41.134386
lon = -8.67968
print("Ocean: ", land_type.is_ocean_local(lat, lon))
59 changes: 36 additions & 23 deletions land_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
import json
import requests

def is_ocean(lat, long):
import multiprocessing as mp

OCEAN_MAP = []

def is_ocean(lat, long, session=requests.Session()):
url = "http://api.geonames.org/oceanJSON"

req_params = {
Expand All @@ -11,14 +15,28 @@ def is_ocean(lat, long):
'username': "40i2"
}

r = requests.get(url, params=req_params)
r = session.get(url, params=req_params)
ret = r.json()

b = True if "ocean" in ret else False

return b

def load_map():
global OCEAN_MAP

with open("ocean-coordinates", "r") as f:
OCEAN_MAP = [ c.strip() for c in f.readlines()]


def is_ocean_local(lat, long):
st = "{},{}".format(lat, long)
if st in OCEAN_MAP:
return True
return False

if __name__ == "__main__":

coords = []

# NOT SO BAD
Expand All @@ -29,33 +47,28 @@ def is_ocean(lat, long):
for lon in numpy.arange(-8.712680, -8.558663, 0.0015):
coords.append((lat, lon))

session = requests.Session()

#with open("data.json", "r") as f:
# data = json.load(f)

data = {}

for lat, long in coords:
st = "{},{}".format(lat, long)

if st in data:
print("Already know: ", st, " ", data[st])
else:
url = "http://api.geonames.org/oceanJSON"

req_params = {
'lat': lat,
'lng': long,
'username': "40i2"
}

r = requests.get(url, params=req_params)
ret = r.json()
# Step 1: Init multiprocessing.Pool()
with open("ocean-coordinates", "a") as f:
for lat, long in coords:
st = "{},{}".format(lat, long)

b = True if "ocean" in ret else False
data[st] = b
if st in data:
print("Already know: ", st, " ", data[st])
else:
#b = pool.apply_async(is_ocean, args=(lat,lon,session))
b = is_ocean(lat, long, session)
data[st] = b
print("Found", st, "-", b)

print("Found", st, "-", b)
if b:
f.write(st+"\n")
f.flush()

with open("data.json", "w") as f:
json.dump(data,f)

Loading

0 comments on commit c401ac1

Please sign in to comment.