Home page

API documentation

Dostęp do danych

Format danych

Dane są udostępnione w formatach CSV i JSON oraz poprzez dostęp API.

Format CSV

Pierwszy rekord pliku zawiera opis kolumn.

Kolumny w pliku są rozdzielone znakiem przecinka (,), kolejne rekordy rozdziela znak nowej linii (\n). W wartościach numerycznych symbolem części dziesiętnej jest kropka (.). Pliki są kodowane w systemie UTF-8, jeżeli to możliwe pominięte są znaki spoza zbioru ASCII.

Format JSON

Pliki JSON kodowane są w systemie UTF-8.

Struktura pliku JSON
{
	"meta": {
		"zasob": "21.4 Całkowite zużycie wody na osobę na osobę w gospodarstwie domowym",
		"aktualizacja": "roczna",
		"jednostka": "l/dzień",
		"url": "http://185.53.98.141/portal/data/iso37120/21/4/data.json"
	},
	"data": [
		{
			"rok": "2015",
			"wartosc": 96.31
		}
	]
}

Własność "meta" jest obiektem i zawiera informacje o danych - nazwę zasobu, częstotliwość aktualizacji, jednostkę oraz adres URL z którego można pobrać aktualną wersję zasobu.

Własność "data" jest tablicą obiektów, z których każdy zawiera własności "rok" oraz "wartosc".

Dostęp API

Dostęp do danych realizowany jest za pośrednictwem protokołu HTTP.

Pobieranie danych

Dane można pobrać używając metody GET. Format adresu URL jest następujący:

	http://185.53.98.141/api/action/datastore_search?resource_id=<ID_ZASOBU>

Adresy URL poszczególnych zasobów są podane w katalogu na karcie zasobu. ID_ZASOBU jest podany na karcie zasobu w tabeli "Dodatkowe informacje":

Przykładowa odpowiedź jest następująca:

{
	"help": "http://185.53.98.141/api/3/action/help_show?name=datastore_search",
	"success": true,
	"result": {
		"resource_id": "ff6e5973-32d5-4a64-b499-8ce65abb73fb",
		"fields": [
			{
				"type": "int4",
				"id": "_id"
			},
			{
				"type": "int4",
				"id": "year"
			},
			{
				"type": "float8",
				"id": "data_value"
			}
		],
		"records": [
			{
				"_id": 1,
				"data_value": 96.31,
				"year": 2015
			}
		],
		"_links": {
			"start": "/api/action/datastore_search?resource_id=ff6e5973-32d5-4a64-b499-8ce65abb73fb",
			"next": "/api/action/datastore_search?offset=100&resource_id=ff6e5973-32d5-4a64-b499-8ce65abb73fb"
		},
		"total": 1
	}
}

Obiekt "result" zawiera listę pól zbioru danych wraz z ich nazwami i typami (tablica "fields") oraz tablicę rekordów.

Żądanie wykonane metodą GET może zawierać dodatkowe parametry:

parametr opis przykład domyślnie
filters (string) Filtry zasobu {"year": 2015}
q (string|dictionary) Kwerenda wyszukiwania pełnotekstowego.
Jeżeli jest stringiem, powoduje wyszukanie w całym rekordzie.
Jeżeli jest słownikiem, powoduje wyszukiwanie w podanych polach.
wartość szukana
{"nazwa_pola": "wartość szukana"}
distinct (bool) Jeżeli ustawione na TRUE, zwracane są tylko unikalne rekordy FALSE
limit (int) Ilość zwracanych rekordów 100
offset (int) Przesunięcie o zadaną ilość rekordów 0
fields (string list) Lista nazw zwracanych pól rozdzielanych przcinkiem year,data_value
sort (string list) Sortowanie zwracanych danych - lista nazw pól rozdzielanych przecinkiem ze wskazaniem kierunku sortowania data_value asc

Określenie czasu - format pól

Jeżeli dane w zbiorach (w rekordach) odnoszą się do konkretnych dat lub okresów, stosuje się następujące oznaczenia nazw kolumn i formaty danych:

określenie czasu opis nazwa kolumny format przykład
dzień dane dotyczą zbiorczo konkretnego dnia lub stan na konkretny dzień day YYYY-MM-DD 2016-04-25
miesiąc dane dotyczą konkretnego miesiąca month YYYY-MM 2016-04
kwartał dane dotyczą konkretnego kwartału quarter YYYY\QQ 2016Q1
rok dane dotyczą konkretnego roku year YYYY 2016