Python-Dummy-Datengenerierung (Adressausgabe)

Hintergrund

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.

Wie man ... macht

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. zyuusyof.png

Adressgenerierungsprogramm

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.

Überprüfung


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.

zyuusyoo.png

Es ist das Meer.

Ändern Sie die Längen- und Breitengradeinstellung in das Zentrum von Tokio

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.

Fazit

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

Python-Dummy-Datengenerierung (Adressausgabe)
Python> Tupel> Daten, Adresse = s.recvfrom (10000)
Windähnliche Dummy-Datengenerierung im Markov-Prozess
Datenanalyse Python
[Python] Daten lesen
Datenanalyse mit Python 2
Ein * Algorithmus (Python Edition)
Erste Python 3rd Edition
Python-Datenvisualisierungsbibliotheken
Datenbereinigung mit Python
Zufällige String-Generierung (Python)
[Python-Tutorial] Datenstruktur
[Python] Numpy Daten sortieren
Datenanalyse mit Python
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
20200329_Einführung in die Datenanalyse mit Python 2nd Edition Personal Summary
Generierung von Spezifikationen und Code in der REST-API-Entwicklung (Python Edition)
Mit Python erstellte Beispieldaten
Mein Python-Datenanalyse-Container
Behandeln Sie Umgebungsdaten in Python
Datenstruktur Python Push Pop
Künstliche Datengenerierung mit Numpy
Python für die Datenanalyse Kapitel 4
PyTorch C ++ VS Python (Ausgabe 2019)
Zeigen Sie UTM-30LX-Daten in Python an
Holen Sie sich Youtube-Daten mit Python
CI-Umgebungskonstruktion ~ Python Edition ~
[Python] Fügen Sie ":" in die MAC-Adresse ein
Data Science Cheet Sheet (Python)
Python-Installation (Mac Edition) (alt)
[Python] Hinweise zur Datenanalyse
Meine Python-Datenanalyseumgebung
Python-Anwendung: Datenvisualisierung # 2: matplotlib
Lernnotizen zur Python-Datenanalyse
Erstellen Sie eine Dummy-Datendatei
Python-Datentyp-Zusammenfassungsnotiz
[Python] Zeichnen Sie Zeitreihendaten
Python für die Datenanalyse Kapitel 2
[Python] Memorandum über zufällige Generationen
Konvertierung von Bilddatentypen [Python]
Datenanalyse mit Python-Pandas
Python für die Datenanalyse Kapitel 3
Lesen von JSON-Daten mit Python
Praktische Übung zur Datenanalyse mit Python ~ 2016 New Coder Survey Edition ~
Praxis der Datenanalyse durch Python und Pandas (Tokyo COVID-19 Data Edition)