-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNamer.py
62 lines (51 loc) · 1.77 KB
/
Namer.py
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from osgeo import gdal
from osgeo import ogr
from osgeo import osr
from osgeo import gdal_array
from osgeo import gdalconst
import sys
import json
def Namer(placeName, State, distance, GNIS_Name, mouthOrOutlet, cardinalDir, folderPath, siteLayerName):
beg = ""
if mouthOrOutlet != "":
beg = "Near " + mouthOrOutlet + " of " + GNIS_Name
else:
beg = GNIS_Name
dis = []
if distance <= 1:
dis.append("at")
dis.append("near")
if "north" in cardinalDir:
dis.append("above")
if "south" in cardinalDir:
dis.append("below")
dis.append(cardinalDir + " of")
dis.append(str(round(distance,2)) + " miles " + cardinalDir + " of")
else:
dis.append("near")
if "north" in cardinalDir:
dis.append("above")
if "south" in cardinalDir:
dis.append("below")
dis.append(cardinalDir + " of")
dis.append(str(round(distance, 2)) + " miles " + cardinalDir + " of")
end = placeName + ", " + State
possibilities = [str(beg) + " " + str(i) + " " + str(end) for i in dis]
poss = sorted(possibilities, key = len)
path_sites = str(folderPath) + "/" + str(siteLayerName) + "/" + str(siteLayerName) + ".shp"
sitesDataSource = ogr.Open(path_sites)
sl = sitesDataSource.GetLayer()
siteName_index = sl.GetLayerDefn().GetFieldIndex("station_nm")
for s in sl:
name = s.GetFieldAsString(siteName_index)
for p in poss:
if p == name:
poss.remove(p)
return poss
()
a = sys.argv[1]
k = a.split(",")
pos = Namer("", k[1], float(k[2]), k[3], k[4], k[5], "/Users/nicknack/Downloads/GDAL_DATA_PR", "ProjectedSites")
res = {'Results':pos}
results = json.dumps(res)
print(results)