Après avoir généré l'adresse en utilisant ʻaddress () ʻ de faker-python,
4-14-7 Matsuishi, Nakano-ku, Préfecture de Hyogo Crest Chizuka 106
Il y a Nakano Ward dans la préfecture de Hyogo comme celui-ci, et une terrible fausse adresse sort, mais même si vous recherchez ces informations, comme lors de tests avec une application qui utilise réellement une carte, le résultat de l'exécution sera identifié. Cela ne sort pas.
Alors
** 1. Générez des données d'adresse réelles au lieu de fausses données. ** ** ** 2. En outre, obtenez plusieurs adresses pour une exécution sous forme de données factices. ** **
Cette fois, je voudrais supprimer ces deux points et générer des données.
Immédiatement, j'ai trouvé une méthode pour formater et générer des informations via une API qui fournit des informations d'adresse. Je vais l'essayer pour le moment.
HeartRails Geo API L'API qui sera prise en charge cette fois est HeartRails Geo API. Les adresses factices seront générées à l'aide de «l'API de recherche d'adresse par latitude et longitude» ici.
import requests
import random
import json
#xml_url = 'httpi://geoapi.heartrails.com/api/xml?method=searchByGeoLocation'
json_url = 'http://geoapi.heartrails.com/api/json?method=searchByGeoLocation'
#Fonction de demande d'API
def get_data(lug,lat):
payload = {'method': 'searchByGeoLocation', 'x': lug, 'y': lat}
try:
ret = requests.get(json_url, params=payload)
json_ret = ret.json()
except requests.exceptions.RequestException as e:
print("ErrorContent: ",e)
return json_ret
#Fonction de formatage des données d'adresse
def serealize_data(data):
try:
dic = data['response']['location'][0]
det = dic['prefecture'] + dic['city'] + dic['town']
return det
except KeyError as e:
print(e)
#Génération de nombres aléatoires utilisés pour la longitude et la latitude
def gene_number(lug_fnum, lug_lnum, lat_fnum, lat_lnum):
lug = round(random.uniform(lug_fnum,lug_lnum),6)
lat = round(random.uniform(lat_fnum,lat_lnum),6)
return lug,lat
def main():
for i in range(10):
lug,lat = gene_number(123,154,20,46)
ret = get_data(lug,lat)
print("longitude:" + str(lug) + "," + "latitude:" + str(lat))
print("%s\n" %serealize_data(ret))
if __name__ == '__main__':
main()
J'ai choisi le format json comme format de données cette fois. Il n'y a pas de raison particulière.
-La fonction get_data est une fonction qui récupère des données. -La fonction data_number formate les données extraites. -La fonction gene_number génère automatiquement la longitude et la latitude au Japon et la transmet à la fonction get_data.
Longitude: 149.691295,Latitude: 20.525873
'location'
None
Longitude: 146.369748,Latitude: 23.905043
'location'
None
Longitude: 128.552226,Latitude: 28.268003
'location'
None
Longitude: 138.839354,Latitude: 36.14651
Akihata, Kanraku-cho, Kanraku-gun, préfecture de Gunma
Longitude: 128.442362,Latitude: 24.173392
'location'
None
Longitude: 149.328955,Latitude: 35.501685
'location'
None
Longitude: 143.701187,Latitude: 31.806533
'location'
None
Longitude: 152.518577,Latitude: 38.932277
'location'
None
Longitude: 131.0144,Latitude: 38.670175
'location'
None
Longitude: 149.70269,Latitude: 36.445081
'location'
None
J'ai spécifié de générer 10 données pour une exécution de programme, mais la plupart des données sont affichées comme Aucune. Seules les données du 4ème «Akihata, Kanraku-cho, Kanraku-gun, préfecture de Gunma» ont pu être générées.
Pour certaines raisons. .. ..
Ah. ..
J'ai vérifié les secondes données de coordonnées à titre d'essai.
C'est la mer.
lug,lat = gene_number(139.51,139.76,35.68,35.87)
Longitude: 139.699048,Latitude: 35.780655
4-chome, Kozuzawa, Itabashi-ku, Tokyo
Longitude: 139.739455,Latitude: 35.733378
1-chome, Negamo, Toyoshima-ku, Tokyo
Longitude: 139.542504,Latitude: 35.711219
5-chome Sekimae, Musashino City, Tokyo
Longitude: 139.591343,Latitude: 35.718665
3-chome, Zenpukuji, Suginami-ku, Tokyo
Longitude: 139.683952,Latitude: 35.787578
3-chome Sakashita, Itabashi-ku, Tokyo
Longitude: 139.624341,Latitude: 35.795323
3-chome Niikura, Wako City, Préfecture de Saitama
Longitude: 139.543935,Latitude: 35.771779
2-chome Uehara, ville de Higashi-Kurume, Tokyo
Longitude: 139.517793,Latitude: 35.718969
2-chome, Hanakoganei Minamimachi, Kodaira City, Tokyo
Longitude: 139.674748,Latitude: 35.687898
3-chome, Yayoi-cho, Nakano-ku, Tokyo
Longitude: 139.606371,Latitude: 35.746559
4-chome, Ishigami-cho, Nerima-ku, Tokyo
C'était un succès.
Apparemment, lorsque j'ai défini le méridien et la latitude du Japon à peu près dans la plage de (rayonnement 123-154) et (latitude 20-46), j'ai oublié que la mer était incluse.
Par conséquent, il semble préférable de se concentrer sur la longitude et la latitude dans le pays. Après cela, il semble tout à fait ainsi avec mes propres fonctions et réglages fins.