R: Как эффективно преобразовать геокод широту / долготу в районы - PullRequest
1 голос
/ 18 октября 2019

Я хотел бы найти решение той же проблемы, представленной в этом вопросе. Я цитирую интересующую меня часть:

Я работаю с Нью-Йоркомнабор данных такси. В наборе данных есть столбцы, в том числе дата и время, широта / долгота захвата, широта / долгота и т. Д. Теперь я хочу изменить геокодирование широты / долготы, чтобы найти район / район

В моем наборе данных несколько миллионовстроки, поэтому мне нужен вычислительно эффективный метод. Я скачал этот файл . Он содержит названия окрестностей и их центроиды. Я хотел бы использовать тот же метод, что и этот ответ в этом вопросе , чтобы найти окрестность, центр тяжести которой был ближайшим, а затем классифицировать точку данных в эту окрестность.

from math import radians, cos, sin, asin, sqrt
def haversine(lon1, lat1, lon2, lat2):
    """
    Calculate the great circle distance between two points 
    on the earth (specified in decimal degrees)
    """
    # convert decimal degrees to radians 
    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
    # haversine formula 
    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
    c = 2 * asin(sqrt(a)) 
    # Radius of earth in kilometers is 6371
    km = 6371* c
    return km

Проблемаявляется то, что я хотел бы использовать тот же метод, но с R. В качестве альтернативы найти другой столь же эффективный метод.

DATASET -> Download 1,8 Gb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...