import json,math,urllib.parse
R=20037508.34/180.0
def my(lat): return math.log(math.tan((90+lat)*math.pi/360))/(math.pi/180)*R
miss=sorted(json.load(open('missing200.json')),key=lambda c:c['id'])
B=2; lines=[]
for b in range(0,len(miss),B):
    grp=miss[b:b+B]
    pts=','.join('[%d,%d]'%(round(c['lon']*R),round(my(c['lat']))) for c in grp)
    u='https://elevation.nationalmap.gov/arcgis/rest/services/3DEPElevation/ImageServer/getSamples?geometryType=esriGeometryMultipoint&pixelSize=1&f=json&geometry={"points":[%s]}'%pts
    lines.append('%s %s'%(','.join(str(c['id']) for c in grp),u))
open('recov_urls.txt','w').write('\n'.join(lines)+'\n')
print('missing',len(miss),'requests',len(lines))
