Tableau api 表地址地理编码
我想建立一个仪表板,在那里我可以搜索美国的任何地址,通过Tableau对其进行地理编码,然后根据距离该地址1-5英里的半径过滤数据集。Tableau是否有能力做到这一点,或者我是否需要第三方应用程序来容纳地址搜索功能/地理编码。不幸的是,Tableau的内置逻辑只支持识别城市和邮政编码等内容。如果您想要更精细的位置视觉效果(街道地址等),则在构建数据源之前需要自己进行地理编码 在过去,我用一些简单的python代码和ArcGIS完成了这项工作:Tableau api 表地址地理编码,tableau-api,Tableau Api,我想建立一个仪表板,在那里我可以搜索美国的任何地址,通过Tableau对其进行地理编码,然后根据距离该地址1-5英里的半径过滤数据集。Tableau是否有能力做到这一点,或者我是否需要第三方应用程序来容纳地址搜索功能/地理编码。不幸的是,Tableau的内置逻辑只支持识别城市和邮政编码等内容。如果您想要更精细的位置视觉效果(街道地址等),则在构建数据源之前需要自己进行地理编码 在过去,我用一些简单的python代码和ArcGIS完成了这项工作: import pandas as pd impo
import pandas as pd
import numpy as np
import geopy
from geopy.geocoders import ArcGIS
#csv with street addresses, cities, states, and zip
file_loc = "C:/Documents/data.csv"
df = pd.read_csv(file_loc, na_values=None,
dtype = {'STREET': object, 'CITY': object, 'STATE': object, 'ZIP': object})
df = df.fillna('')
street = df['STREET'].map(str)
city = df['CITY'].map(str)
state = df['STATE'].map(str)
zip = df['ZIP'].map(str)
addr = street + ' ' + city + ' ' + state + ' ' + zip
df['ADDRESS'] = addr
addresses = df['ADDRESS'].unique()
geolocator = ArcGIS()
addr_list = []
for a in addresses:
temp_dict = {}
loc = geolocator.geocode(a,timeout = 5)
if loc:
temp_dict['LAT'] = loc.latitude
temp_dict['LONG'] = loc.longitude
temp_dict['ADDR'] = loc.address
temp_dict['ADDRESS'] = a
else:
temp_dict['LAT'] = None
temp_dict['LONG'] = None
temp_dict['ADDR'] = None
temp_dict['ADDRESS'] = a
addr_list.append(temp_dict)
addr_df = pd.DataFrame(addr_list)
df = df.merge(addr_df, on='ADDRESS', how='left')
writer = pd.ExcelWriter('outdate.xlsx')
df.to_excel(writer,'Sheet1',index=False)
writer.save()
您是否尝试过tableau自定义地理编码,以及您正在使用的tableau版本?