Mit e-Stat können Sie eine API verwenden, um verschiedene statistische Daten zu erfassen, die von der Regierung in XML oder JSON bereitgestellt werden.
Nach Abschluss des Antrags auf API-Registrierung können Sie sich mit Ihrer "E-Mail-Adresse" und Ihrem "Passwort" anmelden.
https://www.e-stat.go.jp/api/apiuser/php/index.php?action=login
https://www.e-stat.go.jp/api/apiuser/php/index.php?action=login
In der Benutzerinformationsänderung können Sie die zum Zeitpunkt der Registrierung angegebenen Daten ändern.
Wenn die URL nicht vorhanden ist, geben Sie "http: // localhost /" usw. ein. Sie können bis zu 3 AppIDs ausgeben.
Dies stellt das "API Function Test Form" und "Sample" zur Verfügung.
Sie können die Funktion jeder API im API-Funktionstestformular überprüfen. Darüber hinaus können die API-Spezifikationen auf dem folgenden Bildschirm verwendet werden.
http://www.e-stat.go.jp/api/api-info/api-spec/
Es gibt vier Arten von APIs, die verwendet werden können.
・ Erfassung statistischer Tabelleninformationen Informieren Sie sich über die statistische Tabelle des Allgemeinen Zählers für Regierungsstatistiken (e-Stat). Es ist auch möglich, Informationen mit eingeschränkten Bedingungen durch Angabe von Anforderungsparametern zu erfassen.
・ Erfassung von Metainformationen Erfasst Metainformationen (Tabellenelemente, Klassifizierungselemente, regionale Elemente usw.), die der angegebenen statistischen Tabellen-ID entsprechen.
· Datenerfassung Erfasst statistische Daten (numerische Daten), die der angegebenen statistischen Tabellen-ID oder Datensatz-ID entsprechen. Es ist auch möglich, Informationen mit eingeschränkten Bedingungen durch Angabe von Anforderungsparametern zu erfassen. Diese Daten sind in XML und JSON verfügbar.
・ Datensatzregistrierung Registrieren Sie die Erfassungsbedingungen für die Erfassung statistischer Daten. Sie können die Erfassungsbedingungen weglassen, indem Sie die Verengungsbedingungen für die Erfassung statistischer Daten als "Datensatz" angeben.
・ Siehe Datensatz Beachten Sie die Filterbedingungen des registrierten Datensatzes. Wenn die Dataset-ID nicht angegeben ist, wird die Liste der Datasets angezeigt, die vom Benutzer verwendet werden können.
Die grundlegende Verwendung ist wie folgt. Durchsuchen Sie die statistische Tabelle mit "Statistische Tabelleninformationen abrufen", ermitteln Sie die ID der statistischen Tabelle, rufen Sie die Metainformationen mit "Metainformationen abrufen" ab und rufen Sie die statistischen Daten mit "Daten abrufen" ab.
Dieses Skript ruft die statistischen Tabelleninformationen ab. Führen Sie dies aus, indem Sie API_KEY, den Suchdatentyp und das Suchschlüsselwort angeben. Die Suchdatentypen sind wie folgt. ・ 1: Statistische Informationen (Standardwert) ・ 2: Kleine Fläche / regionales Netz ・ 3: Soziales / demografisches System (Präfekturen / Gemeinden)
Beispielcode:
getStatsListSample.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib
import urllib2
from lxml import etree
import sys
import codecs
#Für Windows...
sys.stdout = codecs.getwriter('cp932')(sys.stdout)
def main(argvs, argc):
if argc != 4:
print ("Usage #python %s api_key search_kind key_word" % argvs[0])
return 1
api_key = argvs[1]
search_kind = argvs[2]
#Für Windows...
key_word = argvs[3].decode('cp932')
key_word = urllib.quote(key_word.encode('utf-8'))
url = ('http://api.e-stat.go.jp/rest/1.0/app/getStatsList?appId=%s&lang=J&searchKind=%s&searchWord=%s' % (api_key, search_kind, key_word))
req = urllib2.Request(url)
opener = urllib2.build_opener()
conn = opener.open(req)
cont = conn.read()
parser = etree.XMLParser(recover=True)
root = etree.fromstring(cont, parser)
result = root.find('RESULT')
print ('RESULT==============')
print (result.find('STATUS').text)
print (result.find('ERROR_MSG').text)
print (result.find('DATE').text)
data_list = root.find('DATALIST_INF')
list_infs = data_list.xpath('.//LIST_INF')
for list_inf in list_infs:
print '--------------'
print (u'Statistische Tabellen-ID:%s' % (list_inf.get('id')))
stat_name = list_inf.find('STAT_NAME')
if stat_name is not None:
print (u'Name der Regierungsstatistik:%s %s' % (stat_name.get('code'), stat_name.text))
gov_org = list_inf.find('GOV_ORG')
if gov_org is not None:
print (u'Name des Erstellers:%s %s' % (gov_org.get('code'), gov_org.text))
statistics_name = list_inf.find('STATISTICS_NAME')
if statistics_name is not None:
print (u'Bereitgestellter Statistikname und angegebener Klassifizierungsname:%s' % (statistics_name.text))
title = list_inf.find('TITLE')
if title is not None:
print (u'Titel:%s %s' % (title.get('no'), title.text))
cycle = list_inf.find('CYCLE')
if cycle is not None:
print (u'Angebotszyklus:%s' % (cycle.text))
survey_date = list_inf.find('SURVEY_DATE')
if survey_date is not None:
print (u'Umfragedatum:%s' % (survey_date.text))
open_date = list_inf.find('OPEN_DATE')
if open_date is not None:
print (u'Veröffentlichungsdatum:%s' % (open_date.text))
small_area = list_inf.find('SMALL_AREA')
if small_area is not None:
print (u'Subregionale Attribute:%s' % (small_area.text))
if __name__ == '__main__':
argvs = sys.argv
argc = len(argvs)
sys.exit(main(argvs, argc))
Anwendungsbeispiel:
python getStatsListSample.py API_Schlüssel 1 Beschäftigung
Ausgabeergebnis:
Statistische Tabellen-ID:0003059047
Name der Regierungsstatistik:00550100 Grundumfrage des Ministeriums für Wirtschaft, Handel und Industrie zu Unternehmensaktivitäten
Name des Erstellers:00550 Ministerium für Wirtschaft, Handel und Industrie
Bereitgestellter Statistikname und angegebener Klassifizierungsname:Grundumfrage des Ministeriums für Wirtschaft, Handel und Industrie zu Unternehmensaktivitäten Statistische Tabelle Liste Bestätigter Bericht (Daten)
Bestätigungsbericht zur Unternehmensumfrage 2010 - Ergebnisse 2009
Titel:1-8 Statistische Tabelle (Band 1) [Tabelle zur Unternehmensorganisation] Tabelle 8: Nach Branche, Anzahl der Unternehmen, Unternehmensorganisation
Anzahl der verschiedenen Mitarbeiter
Angebotszyklus:Jährlich
Umfragedatum:201001-201012
Veröffentlichungsdatum:2012-03-31
Subregionale Attribute:0
Die statistische Tabellen-ID "0003059047" ist die ID, die für die Datenerfassung verwendet werden kann.
Dieses Skript ruft die Metainformationen für die angegebene statistische ID ab. Die Metainformationen werden unter Verwendung der statistischen Tabellen-ID erfasst, mit der nach den statistischen Tabelleninformationen als Parameter gesucht wurde.
Beispielcode:
getMetaSample.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib
import urllib2
from lxml import etree
import sys
import codecs
#Für Windows...
sys.stdout = codecs.getwriter('cp932')(sys.stdout)
def get_meta_data(api_key, stats_data_id):
"""
Holen Sie sich Meta-Informationen
"""
url = ('http://api.e-stat.go.jp/rest/1.0/app/getMetaInfo?appId=%s&lang=J&statsDataId=%s' % (api_key, stats_data_id))
req = urllib2.Request(url)
opener = urllib2.build_opener()
conn = opener.open(req)
cont = conn.read()
parser = etree.XMLParser(recover=True)
root = etree.fromstring(cont, parser)
class_object_tags = root.xpath('//METADATA_INF/CLASS_INF/CLASS_OBJ')
class_object = {}
for class_object_tag in class_object_tags:
class_object_id = class_object_tag.get('id')
class_object_name = class_object_tag.get('name')
class_object_item = {
'id' : class_object_id,
'name' : class_object_name,
'objects' : {}
}
class_tags = class_object_tag.xpath('.//CLASS')
for class_tag in class_tags:
class_item = {
'code' : class_tag.get('code'),
'name' : class_tag.get('name'),
'level' : class_tag.get('level'),
'unit' : class_tag.get('unit')
}
class_object_item['objects'][class_item['code']] = class_item
class_object[class_object_id] = class_object_item
return class_object
def main(argvs, argc):
if argc != 3:
print ("Usage #python %s api_key stats_id" % argvs[0])
return 1
api_key = argvs[1]
stats_id = argvs[2]
ret = get_meta_data(api_key, stats_id)
for key in ret:
print ('======================')
print (key)
print ('name: %s' % ret[key]['name'])
for obj_code, obj in ret[key]['objects'].items():
print ('----------------------')
print ('code: %s' % obj_code)
print ('name: %s' % obj['name'])
print ('unit: %s' % obj['unit'])
print ('level: %s' % obj['level'])
if __name__ == '__main__':
argvs = sys.argv
argc = len(argvs)
sys.exit(main(argvs, argc))
Anwendungsbeispiel:
python getMetaSample.py API_KEY 0003059047
Ausgabebeispiel:
======================
cat01
name: 22_1-8 Anzahl der Unternehmen, Anzahl der Mitarbeiter nach Unternehmensorganisation
----------------------
code: 0011000
name:Anzahl der regulären Mitarbeiter (ohne abgeordnete Mitarbeiter) Hauptsitz / Hauptsitz Hauptsitz Funktionsabteilung Sonstige
unit: None
level: 1
----------------------
code: 0029000
name:Anzahl der regulären Mitarbeiter (einschließlich abgeordneter Mitarbeiter) abgeordnete Mitarbeiter zu anderen Unternehmen usw.
unit: None
level: 1
In den Metainformationen werden die von der entsprechenden statistischen Tabelle verwendete Kategorie und die Werte angezeigt, die von dieser Kategorie verwendet werden können.
Dieses Beispiel zeigt ein Beispiel, das eine statistische Tabelle als CSV ausgibt. Wenn Sie die statistische Tabellen-ID und den CSV-Ausgabepfad angeben, wird die angegebene statistische Tabelle als CSV ausgegeben.
Beispielcode:
export_csv.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import urllib2
from lxml import etree
import csv
def export_statical_data(writer, api_key, stats_data_id, class_object, start_position):
"""
Statistiken exportieren
"""
url = ('http://api.e-stat.go.jp/rest/1.0/app/getStatsData?limit=10000&appId=%s&lang=J&statsDataId=%s&metaGetFlg=N&cntGetFlg=N' % (api_key, stats_data_id))
if start_position > 0:
url = url + ('&startPosition=%d' % start_position)
req = urllib2.Request(url)
opener = urllib2.build_opener()
conn = opener.open(req)
cont = conn.read()
parser = etree.XMLParser(recover=True)
root = etree.fromstring(cont, parser)
row = []
datas = {}
value_tags = root.xpath('//STATISTICAL_DATA/DATA_INF/VALUE')
for value_tag in value_tags:
row = []
for key in class_object:
val = value_tag.get(key)
if val in class_object[key]['objects']:
level = '';
if 'level' in class_object[key]['objects'][val]:
if class_object[key]['objects'][val]['level'].isdigit():
level = ' ' * (int(class_object[key]['objects'][val]['level']) - 1)
text = ("%s%s" % (level , class_object[key]['objects'][val]['name']))
row.append(text.encode('utf-8'))
else:
row.append(val.encode('utf-8'))
row.append(value_tag.text)
writer.writerow(row)
next_tags = root.xpath('//STATISTICAL_DATA/TABLE_INF/NEXT_KEY')
if next_tags:
if next_tags[0].text:
export_statical_data(writer, api_key, stats_data_id, class_object, int(next_tags[0].text))
def get_meta_data(api_key, stats_data_id):
"""
Holen Sie sich Meta-Informationen
"""
url = ('http://api.e-stat.go.jp/rest/1.0/app/getMetaInfo?appId=%s&lang=J&statsDataId=%s' % (api_key, stats_data_id))
req = urllib2.Request(url)
opener = urllib2.build_opener()
conn = opener.open(req)
cont = conn.read()
parser = etree.XMLParser(recover=True)
root = etree.fromstring(cont, parser)
class_object_tags = root.xpath('//METADATA_INF/CLASS_INF/CLASS_OBJ')
class_object = {}
for class_object_tag in class_object_tags:
class_object_id = class_object_tag.get('id')
class_object_name = class_object_tag.get('name')
class_object_item = {
'id' : class_object_id,
'name' : class_object_name,
'objects' : {}
}
class_tags = class_object_tag.xpath('.//CLASS')
for class_tag in class_tags:
class_item = {
'code' : class_tag.get('code'),
'name' : class_tag.get('name'),
'level' : class_tag.get('level'),
'unit' : class_tag.get('unit')
}
class_object_item['objects'][class_item['code']] = class_item
class_object[class_object_id] = class_object_item
return class_object
def export_csv(api_key, stats_data_id, output_path):
"""
Exportieren Sie die angegebenen Statistiken in die CSV.
"""
writer = csv.writer(open(output_path, 'wb'),quoting=csv.QUOTE_ALL)
class_object = get_meta_data(api_key, stats_data_id)
row = []
for key in class_object:
title = class_object[key]['name']
row.append(title.encode('utf-8'))
row.append('VALUE')
writer.writerow(row)
export_statical_data(writer, api_key, stats_data_id, class_object, 1)
def main(argvs, argc):
if argc != 4:
print ("Usage #python %s api_key stats_data_id output_path" % argvs[0])
return 1
api_key = argvs[1]
stats_data_id = argvs[2]
output_path = argvs[3]
export_csv(api_key, stats_data_id, output_path)
if __name__ == '__main__':
argvs = sys.argv
argc = len(argvs)
sys.exit(main(argvs, argc))
Anwendungsbeispiel:
python export_csv.py API_KEY 0003059047 output.csv
Ausgabebeispiel:
"22_1-8 Anzahl der Unternehmen, Anzahl der Mitarbeiter nach Unternehmensorganisation","22_1-8 Branchen","VALUE"
"Anzahl der Unternehmen","2005","27677"
"Anzahl der Unternehmen","2006","27917"
"Anzahl der Unternehmen","2007","29080"
"Anzahl der Unternehmen","2008","29355"
"Anzahl der Unternehmen","2009","29096"
"Anzahl der Unternehmen","Insgesamt insgesamt","29096"
"Anzahl der Unternehmen","gesamt","27871"
"Anzahl der Unternehmen","Bergbau, Steinbruch, Kiesgewinnung","36"
"Anzahl der Unternehmen","Fertigungsindustrie","13105"
"Anzahl der Unternehmen","090 Lebensmittelindustrie","1498"
"Anzahl der Unternehmen","091 Viehzuchtindustrie","285"
"Anzahl der Unternehmen","092 Fischerei Lebensmittelindustrie","222"
"Anzahl der Unternehmen","093 Getreide- und Mehlmühlenindustrie","37"
Flächennetzstatistiken unterteilen den Bereich in Netzbereiche ohne Lücken basierend auf Breiten- und Längengrad und organisieren die statistischen Daten in jedem Bereich. Die folgende Abbildung ist dargestellt.
Beispielcode:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import urllib
import urllib2
from lxml import etree
import csv
from collections import defaultdict
import json
from matplotlib import pyplot
import numpy as np
from math import *
def draw_heatmap(data):
#zeichnen
fig, ax = pyplot.subplots()
heatmap = ax.pcolor(data, cmap=pyplot.cm.Blues)
ax.set_xticks(np.arange(data.shape[0]) + 0.5, minor=False)
ax.set_yticks(np.arange(data.shape[1]) + 0.5, minor=False)
ax.invert_yaxis()
ax.xaxis.tick_top()
pyplot.savefig('image.png')
pyplot.show()
return heatmap
def get_meta_data(api_key, stats_data_id):
"""
Holen Sie sich Meta-Informationen
"""
url = ('http://api.e-stat.go.jp/rest/1.0/app/getMetaInfo?appId=%s&lang=J&statsDataId=%s' % (api_key, stats_data_id))
req = urllib2.Request(url)
opener = urllib2.build_opener()
conn = opener.open(req)
cont = conn.read()
parser = etree.XMLParser(recover=True)
root = etree.fromstring(cont, parser)
class_object_tags = root.xpath('//METADATA_INF/CLASS_INF/CLASS_OBJ')
class_object = {}
for class_object_tag in class_object_tags:
class_object_id = class_object_tag.get('id')
class_object_name = class_object_tag.get('name')
class_object_item = {
'id' : class_object_id,
'name' : class_object_name,
'objects' : {}
}
class_tags = class_object_tag.xpath('.//CLASS')
for class_tag in class_tags:
class_item = {
'code' : class_tag.get('code'),
'name' : class_tag.get('name'),
'level' : class_tag.get('level'),
'unit' : class_tag.get('unit')
}
class_object_item['objects'][class_item['code']] = class_item
class_object[class_object_id] = class_object_item
return class_object
def get_stats_list(api_key, search_kind, key_word):
key_word = urllib.quote(key_word.encode('utf-8'))
url = ('http://api.e-stat.go.jp/rest/1.0/app/getStatsList?appId=%s&lang=J&searchKind=%s&searchWord=%s' % (api_key, search_kind, key_word))
req = urllib2.Request(url)
opener = urllib2.build_opener()
conn = opener.open(req)
cont = conn.read()
parser = etree.XMLParser(recover=True)
root = etree.fromstring(cont, parser)
ret = []
data_list = root.find('DATALIST_INF')
list_infs = data_list.xpath('.//LIST_INF')
for list_inf in list_infs:
item = {
'id': list_inf.get('id')
}
stat_name = list_inf.find('STAT_NAME')
if stat_name is not None:
item['stat_name'] = stat_name.text
item['stat_name_code'] = stat_name.get('code')
gov_org = list_inf.find('GOV_ORG')
if gov_org is not None:
item['gov_org'] = gov_org.text
item['gov_org_code'] = gov_org.get('code')
statistics_name = list_inf.find('STATISTICS_NAME')
if statistics_name is not None:
item['statistics_name'] = statistics_name.text
title = list_inf.find('TITLE')
if title is not None:
item['title'] = title.text
cycle = list_inf.find('CYCLE')
if cycle is not None:
item['cycle'] = cycle.text
survey_date = list_inf.find('SURVEY_DATE')
if survey_date is not None:
item['survey_date'] = survey_date.text
open_date = list_inf.find('OPEN_DATE')
if open_date is not None:
item['open_date'] = open_date.text
small_area = list_inf.find('SMALL_AREA')
if small_area is not None:
item['small_area'] = small_area.text
ret.append(item)
return ret
def _get_stats_id_value(api_key, stats_data_id, class_object, start_position, filter_str):
"""
Statistiken abrufen
"""
url = ('http://api.e-stat.go.jp/rest/1.0/app/getStatsData?limit=10000&appId=%s&lang=J&statsDataId=%s&metaGetFlg=N&cntGetFlg=N%s' % (api_key, stats_data_id, filter_str))
if start_position > 0:
url = url + ('&startPosition=%d' % start_position)
req = urllib2.Request(url)
opener = urllib2.build_opener()
conn = opener.open(req)
cont = conn.read()
parser = etree.XMLParser(recover=True)
root = etree.fromstring(cont, parser)
ret = []
row = {}
datas = {}
value_tags = root.xpath('//STATISTICAL_DATA/DATA_INF/VALUE')
for value_tag in value_tags:
row = {}
for key in class_object:
val = value_tag.get(key)
if val in class_object[key]['objects']:
text = class_object[key]['objects'][val]['name']
row[key] = text.encode('utf-8')
else:
row[key] = val.encode('utf-8')
row['value'] = value_tag.text
ret.append(row)
return ret
def get_stats_id_value(api_key, stats_data_id, filter_str):
class_object = get_meta_data(api_key, stats_data_id)
return _get_stats_id_value(api_key, stats_data_id, class_object, 1, filter_str), class_object
def get_stats_id_list_value(api_key, stats_data_ids, filter):
filter_str = ''
for key in filter:
filter_str += ('&%s=%s' % (key, urllib.quote(filter[key].encode('utf-8'))))
ret = []
i = 0
for stats_data_id in stats_data_ids:
list, class_object = get_stats_id_value(api_key, stats_data_id, filter_str)
ret.extend(list)
i = i + 1
if i > 5:
break
return ret
def get_mesh_id(mesh_id, kind):
if kind == 1:
return mesh_id[0:4] + '0000'
elif kind == 2:
return mesh_id[0:6] + '00'
else:
raise Exception(mesh_id)
def collect_mesh_value(api_key, stats_data_ids, filter, kind):
filter_str = ''
for key in filter:
filter_str += ('&%s=%s' % (key, urllib.quote(filter[key].encode('utf-8'))))
ret = defaultdict(float)
i = 0
for stats_data_id in stats_data_ids:
list, class_object = get_stats_id_value(api_key, stats_data_id, filter_str)
sum = 0
for row in list:
key = get_mesh_id(row['area'], kind)
v = row['value']
if v.isdigit():
ret[key] += float(v)
i = i + 1
#if i > 5:
# break
return ret
def parse_mesh_to_num(mesh_id):
ret = {}
if len(mesh_id) == 4:
ret['p'] = float(mesh_id[0:2])
ret['u'] = float(mesh_id[2:4])
ret['q'] = 0.0
ret['v'] = 0.0
ret['r'] = 0.0
ret['w'] = 0.0
return ret
elif len(mesh_id) == 8:
ret['p'] = float(mesh_id[0:2])
ret['u'] = float(mesh_id[2:4])
ret['q'] = float(mesh_id[4])
ret['v'] = float(mesh_id[5])
ret['r'] = float(mesh_id[6])
ret['w'] = float(mesh_id[7])
return ret
else:
raise Exception(mesh_id)
def convert_mesh_to_num(mesh_id):
d1 = parse_mesh_to_num(mesh_id)
#Der sekundäre Bereich ist 0-7, also multiplizieren Sie mit 80
x1 = (d1['u'] * 80) + (d1['v'] * 10) + d1['w'];
y1 = (d1['p'] * 80) + (d1['q'] * 10) + d1['r'];
return x1, y1
def main(argvs, argc):
wd = u'2010 National Census-World Survey System(1 km Maschenweite)20101001'
# API_KEY
api_key = 'API_KEY'
search_kind = '2'
stats_list = get_stats_list(api_key, search_kind, wd)
stats_ids = []
for stats in stats_list:
stats_ids.append(stats['id'])
#Filtern nach Gesamtbevölkerung
values = collect_mesh_value(api_key, stats_ids, {'cdCat01':'T000608001'}, 2)
ret = []
max_x = 0
min_x = 9999
max_y = 0
min_y = 9999
for key in values.keys():
x, y = convert_mesh_to_num(key)
x = x
y = y
if min_x > x:
min_x = x
if max_x < x:
max_x = x
if min_y > y:
min_y = y
if max_y < y:
max_y = y
size_x = int(max_x - min_x) / 10 + 1
size_y = int(max_y - min_y) / 10 + 1
buff = [[0.0 for i in range(size_x)] for j in range(size_y)]
for key in values.keys():
x, y = convert_mesh_to_num(key)
x = int(x - min_x) / 10
y = (size_y-1) - int(y - min_y) / 10
#Wenn Sie kein Protokoll erstellen, ist der Unterschied zwischen Tokio und anderen Regionen so groß, dass Sie Japan nicht kartieren können.
buff[y][x] = log10(float(values[key]))
#print ('%s\t%s %d %d' % (key,values[key],x,y))
draw_heatmap(np.array(buff))
if __name__ == '__main__':
argvs = sys.argv
argc = len(argvs)
sys.exit(main(argvs, argc))
Erläuterung: In dieser Abbildung wird die Population für jeden zweiten Bereich aggregiert und der reguläre Logarithmus als Wärmekarte angezeigt.
Der Grund für die Verwendung des regulären Logarithmus ist, dass der Bevölkerungsunterschied zwischen dem Kanto-Gebiet und anderen Gebieten zu groß ist, um eine anständige Karte zu erstellen.
Der Versuch, den dritten Bereich (Standardnetz) landesweit anzuzeigen, verbraucht sehr viel Speicher. Die Karte ist im ersten Bereich zu rau.
In diesem Beispiel dauert es enorm lange, bis alles angezeigt wird. Im nächsten Artikel werden wir versuchen, die Effizienz der Verarbeitung zu verbessern, indem wir die Daten vorübergehend in Spatialite speichern.
** So zeigen Sie das regionale Netz des Government Statistics Office (eStat) in einem Webbrowser an ** http://qiita.com/mima_ita/items/38784095a146c87dcd23
Merkmale und Geschichte der regionalen Netzstatistik: http://www.stat.go.jp/data/mesh/pdf/gaiyo1.pdf
Heatmap von Python + matplotlib http://qiita.com/ynakayama/items/7dc01f45caf6d87a981b
Recommended Posts