File size: 1,750 Bytes
17e77ea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import requests
import urllib3
import json
from utils import geoutil




def get_coordinates(ent, ase, level_1, level_2, level_3, midmid):
    request_url = 'https://nominatim.openstreetmap.org/search.php?q= ' +ase +'&polygon_geojson=1&accept-language=en&format=jsonv2'
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15"
    }
    page = requests.get(request_url, headers=headers, verify=False)



    json_content = json.loads(page.content)
    # json_content = json.loads(aa)
    print(json_content, 'jjjjj')
    all_coordinates = json_content[0]['geojson']['coordinates'][0]
    centroid = (float(json_content[0]['lon']), float(json_content[0]['lat']))
    for p in all_coordinates:
        p2 = (p[0], p[1])
        angle = geoutil.calculate_bearing(centroid, p2)
        p.append(angle)
    mid1 = None
    mid2 = None
    coordinates = all_coordinates
    # if level_1 is not None:
    #
    #     all_coordinates, centroid, mid1, mid2 = geo_level1.get_level1_coordinates(all_coordinates, centroid, level_1, midmid)

    # if level_2 is not None:
    #     if level_1 is not None and level_1.lower() not in geo_level1.center:
    #         all_coordinates, centroid = geo_level2.get_level2_coordinates(coordinates, centroid, level_2, level_1)
    #     else:
    #         print ("Else executed")
    #         all_coordinates, centroid = geo_level2.get_level2_coordinates(all_coordinates, centroid, level_2, level_1)

    if level_3 is not None:
        all_coordinates, centroid = geo_level3.get_level3_coordinates(coordinates, centroid, level_3, level_1)

    geojson = get_geojson(ent, all_coordinates, centroid)

    return geojson