Nach dem Generieren der Adresse mit address ()
von faker-python
4-14-7 Matsuishi, Nakano-ku, Wappen der Präfektur Hyogo Chizuka 106
Es gibt Nakano Ward in der Präfektur Hyogo wie diesen, und es kommt eine schreckliche falsche Adresse heraus, aber selbst wenn Sie nach diesen Informationen suchen, z. B. beim Testen mit einer Anwendung, die tatsächlich eine Karte verwendet, wird das Ausführungsergebnis genau bestimmt. Es kommt nicht heraus.
Damit
** 1. Generieren Sie tatsächliche Adressdaten anstelle von gefälschten Daten. ** ** ** ** 2. Erhalten Sie außerdem viele Adressen für eine Ausführung als Dummy-Daten. ** ** **
Dieses Mal möchte ich diese beiden Punkte unterdrücken und Daten generieren.
Sofort entwickelte ich eine Methode zum Formatieren und Generieren von Informationen über eine API, die Adressinformationen bereitstellt. Ich werde es vorerst versuchen.
HeartRails Geo API Die API, für die diesmal gesorgt wird, ist HeartRails Geo API. Dummy-Adressen werden hier mit der "Adressensuch-API nach Breiten- und Längengrad" generiert.
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'
#API-Anforderungsfunktion
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
#Formatierungsfunktion für Adressdaten
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)
#Generierung von Zufallszahlen für Längen- und Breitengrad
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("Längengrad:" + str(lug) + "," + "Breite:" + str(lat))
print("%s\n" %serealize_data(ret))
if __name__ == '__main__':
main()
Dieses Mal habe ich das "json-Format" als Datenformat gewählt. Es gibt keinen besonderen Grund.
-Die Funktion get_data ist eine Funktion, die Daten abruft. -Die Funktion data_number formatiert die abgerufenen Daten. -Die Funktion gene_number generiert automatisch den Längen- und Breitengrad in Japan und übergibt ihn an die Funktion get_data.
Längengrad: 149.691295,Breitengrad: 20.525873
'location'
None
Längengrad: 146.369748,Breitengrad: 23.905043
'location'
None
Längengrad: 128.552226,Breitengrad: 28.268003
'location'
None
Längengrad: 138.839354,Breitengrad: 36.14651
Akihata, Kanraku-cho, Kanraku-gun, Präfektur Gunma
Längengrad: 128.442362,Breitengrad: 24.173392
'location'
None
Längengrad: 149.328955,Breitengrad: 35.501685
'location'
None
Längengrad: 143.701187,Breitengrad: 31.806533
'location'
None
Längengrad: 152.518577,Breitengrad: 38.932277
'location'
None
Längengrad: 131.0144,Breitengrad: 38.670175
'location'
None
Längengrad: 149.70269,Breitengrad: 36.445081
'location'
None
Ich habe angegeben, 10 Daten für eine Programmausführung zu generieren, aber die meisten Daten werden als Keine angezeigt. Es konnten nur die Daten der 4. "Akihata, Kanraku-cho, Kanraku-gun, Präfektur Gunma" generiert werden.
Aus irgendeinem Grund. .. ..
Ah. ..
Ich habe die zweiten Koordinatendaten als Versuch überprüft.
Es ist das Meer.
lug,lat = gene_number(139.51,139.76,35.68,35.87)
Längengrad: 139.699048,Breitengrad: 35.780655
4-chome, Kozuzawa, Itabashi-ku, Tokio
Längengrad: 139.739455,Breitengrad: 35.733378
1-chome, Negamo, Toyoshima-ku, Tokio
Längengrad: 139.542504,Breitengrad: 35.711219
5-chome Sekimae, Musashino City, Tokio
Längengrad: 139.591343,Breitengrad: 35.718665
3-chome, Zenpukuji, Suginami-ku, Tokio
Längengrad: 139.683952,Breitengrad: 35.787578
3-chome Sakashita, Itabashi-ku, Tokio
Längengrad: 139.624341,Breitengrad: 35.795323
3-chome Niikura, Stadt Wako, Präfektur Saitama
Längengrad: 139.543935,Breitengrad: 35.771779
2-chome Uehara, Stadt Higashi-Kurume, Tokio
Längengrad: 139.517793,Breitengrad: 35.718969
2-chome, Hanakoganei Minamimachi, Kodaira City, Tokio
Längengrad: 139.674748,Breitengrad: 35.687898
3-chome, Yayoi-cho, Nakano-ku, Tokio
Längengrad: 139.606371,Breitengrad: 35.746559
4-chome, Ishigami-cho, Nerima-ku, Tokio
Es war ein Hit.
Als ich den Meridian- und Breitengradbereich Japans auf ungefähr den Bereich (Strahlung 123-154) und (Breitengrad 20-46) einstellte, vergaß ich anscheinend, dass das Meer eingeschlossen war.
Daher scheint es besser, sich auf den Längen- und Breitengrad innerhalb des Landes zu konzentrieren. Danach scheint es mit meinen eigenen Funktionen und Feineinstellungen ganz so zu sein.
Recommended Posts