0
私はcsvファイルを辞書に読み込んで、指定されたいくつかの郵便番号に基づいて座標値を辞書に照会するという割り当てを持っています。郵便番号が「センター」郵便番号の50マイル以内にある場合は戻ってください。私はラジアンで座標を変換するのに苦労しています。また、50マイル以内にいるかどうかを誰かが正しい方向に向けることができれば。ここに私のコードは、これまでのところです:Pythonを使用した地理的位置
import sys
import csv
import math
dicts = {}
origin =[]
ziplist = ['12481', '10001', '12203', '10303', '12561']
center ='12401'
def getLatRad(latitude):
return float(latitude) * (math.pi/180.0)
def getLongRad(longitude):
return float(longitude) * (math.pi/180.0)
def getnearbylist():
try:
f = open("zips.csv")
csvParser = csv.reader(f)
for row in csvParser:
zipcode= row[0].strip()
latitude= row[2].replace('"', '').strip()
longitude=row[3].replace('"', '').strip()
dicts[zipcode] = {'latitude': latitude, 'longitude':longitude}
matched = {match: dicts[match] for match in ziplist if match in dicts}
for k in matched:
latRad2 = getLatRad(k[1])
longRad2 = getLongRad(k[2])
print latRad2
print longRad2
if center in dicts:
origin ={}
origin = dicts[center]
latRad1 = getLatRad(origin[1])
longRad1 = getLongRad(origin[2])
print latRad1
except ValueError:
pass
getnearbylist()
起源[x]のように誰かが私がこれらの座標を変換する方法を考え出す助けることができるだろう取り組んでイマイチと私は、Pythonの非常に広大な理解を持っていけません。
サンプルデータ:
"zipcode", "state abbreviation", "latitude", "longitude", "city", "state"
"35004", "AL", " 33.606379", " -86.50249", "Moody", "Alabama"
"35005", "AL", " 33.592585", " -86.95969", "Adamsville", "Alabama"
"35006", "AL", " 33.451714", " -87.23957", "Adger", "Alabama"
"35007", "AL", " 33.232422", " -86.80871", "Alabaster", "Alabama"
"35010", "AL", " 32.903432", " -85.92669", "Alexander City", "Alabama"
"35014", "AL", " 33.355960", " -86.27720", "Alpine", "Alabama"
"35016", "AL", " 34.323715", " -86.49278", "Arab", "Alabama"
"35019", "AL", " 34.292540", " -86.63505", "Baileyton", "Alabama"
あなたはCSVの数行を投稿することができますか? – kaveman
私たちはあなたが持っている情報とあなたが持っていない情報がわからないと、私たちがあなたを助けることを期待できません。 –
http://pastebin.com/nXA0uFG1 – matture