语法错误从Twitter数据创建ArcGIS Feature类

时间:2016-08-19 20:39:30

标签: python-2.7 twitter twitter-oauth arcgis tweepy

我已尽力解决此错误 - SyntaxError:此行中的语法无效 的 if__name __ == __主要:     main()的

我正在使用#Tweepy和#PYTHON27并尝试使用收集的包含地理标记的推文构建#ArcGIS .mdb要素类。是什么导致保释?非常感谢。 #Twitter

from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener

import time
import sys
import arcpy

#global variables
consumer_key = 'xxx'
consumer_secret = 'xxxx'
token_key = 'xxx'
token_secret = 'xxx'

class StdOutListener(StreamListener):
    def __init__(self, start_time, featureClass, time_limit):
        super(StdOutListener, self).__init__()
        self.time = start_time
        self.limit = time_limit
        self.featureClass = featureClass

    def on_status(self, status):
        while (time.time() - self.time) <self.limit:
            if status.geo is not None:
                dictCoords = status.geo
                listCoords = dictCoords['coordinates']
                latitude = listCoords[0]
                longitude = listCo0ords[1]

                cursor = arcpy.da.InsertCursor(self.featureClass,("SHAPE@XY"))
                cursor.insertRow([(longitude,latitude)])

                print(str(listCoords[0]) + "," + str(listCoords[1]))    
                return True


            else:
                print "No coordinates found"
                return True

    def on_error(self, status):
        print('Error...')
        print status
        return True

    def on_timeout(self):
        print('Timeout...')
        return True

start_time = time.time()
arcpy.env.workspace = r'c:\ArcGIS_Blueprint_Python\data\Twitter\TweetInformation.gdb'



def main():
    try:    #new
        featureClass = sys.argv[1]
        monitorTime = sys.argv[2]
        monitorTime = monitorTime * 3600

        sr = arcpy.SpatialReference(4326)
        arcpy.env.overwriteOutput = True
        arcpy.CreateFeatureClass_management(arcpy.env.workspace,
    featureClass, "POINT", spatial_reference=sr)

        auth = OAuthHandler(consumer_key, consumer_secret)
        auth.set_access_token(token_key, token_secret)

        stream = Stream(auth, StdOutListener(start_time, featureClass,
    time_limit=monitorTime))    #172800
        stream.filter(track=['car'])


    except Exception as e:
        print(e.message)

if__name__ == '__main__':
    main()  

0 个答案:

没有答案