我对家庭作业中的一个章节感到很困惑,它没有评分,但我仍然希望能够完成和理解它。
我试图“近似”与其时区相对应的区域(不是真实数据)。所以东部(P1. )P2。P3,P4,Pacific(P7,P8,P9,P10),山区(P5,P6,P7,P8),Central(P3,,,)。
我试图通过确定tweet的纬度和经度属于哪个区域来确定tweet的起源(我有一个txt文件,所有的tweet都有一个与它相关的长的lat号。)例如:[36.970152730000002, -84.090040380000005] 4 2011-09-02 17:40:11 Chicken flatheads at taco bell my life is complete)。这些点的值是:(矩形)
p1 = (49.189787, -67.444574)
p2 = (24.660845, -67.444574)
p3 = (49.189787, -87.518395)
p4 = (24.660845, -87.518395)
p5 = (49.189787, -101.998892)
p6 = (24.660845, -101.998892)
p7 = (49.189787, -115.236428)
p8 = (24.660845, -115.236428)
p9 = (49.189787, -125.242264)
p10 = (24.660845, -125.242264)例如,如果一条推文介于p1、p2、p3、p4之间,那么它们来自东方。我该怎么做?
是的,这是家庭作业的一部分,我知道有时候你们不喜欢做作业,特别是如果什么都不提供的话。但是我5个小时前给我的老师发了电子邮件,他还没有回复,尽管他承诺会在今晚(凌晨12点48分)回复
答案会得到解释,但即使是评论也会有帮助:)这是一项长期的任务,我完成了95%的任务--这部分就是needed..but im对长期的、长期的业务感到困惑。
发布于 2016-11-16 06:07:07
假设区域是矩形。
只要检查lat的值,就可以长到“边框”值。
所以,对于东部地区:
if lat >= 24.660845 and lat < 49.189787 and long <= -67.444574 and long > -87.518395:
return True 或者,如果区域是顺序的,如您所示(并且只在经度上改变),只需检查它。
当然,如果这些区域是不规则多边形,那将是一个全新的问题。
编辑:一种方法是创建一个包含(lat,long)方法的区域类:
class Region:
def __init__(self, lat_tuple, long_tuple):
self.lat_tuple = lat_tuple
self.long_tuple = long_tuple
def contains(self, lat, long):
return self.lat_tuple[0] <= lat and lat < self.lat_tuple[1] and\
self.long_tuple[0] <= long and long < self.long_tuple[1]并将其用作:
eastern = Region((24.660845, 49.189787), (-87.518395, -67.444574))
print(eastern.contains(34.0, - 70.10))
print(eastern.contains(14.0, - 70.10))https://stackoverflow.com/questions/40625022
复制相似问题