Skip to content
Eesti postiindeksid
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
README.md
config.js
db.js
example.js
import.js
tools.js
zip.js

README.md

Postiindeksid

Antud teek võimaldab node.js abil leida Eesti postiindekseid. Teek on vabavara (GPLv2) ning ei ole Eesti Post AS'iga seotud mitte mingil viisil. Samuti ei ole kaasas lähteandmeid - tegu on vaid teegiga, mis lähteandmete olemasolu korral suudab nendest aadressi alusel õige indeksi välja otsida.

Eeldused

Vaja on

Lähteandmed

Lähteandmed ei ole avalikud ja seega ei saa neid siia välja panna. Kuid need andmed saab alla laadida Eesti Posti kodulehelt. Tutvu kindlasti ka andmete kasutamise tingimustega.

Algset CSV faili siiski kohe kasutada ei saa, see tuleb kõigepealt ümber vormistada.

  1. Ava fail OpenOffice'iga
  2. Veendu, et kõik tundub korras olevat
  3. Salvesta "Save as" ja vali formaadiks CSV ja nimeks "base.csv"
  4. Avanenud valikutes määra märgistikus UTF-8, väljade eraldajaks koma ning teksti eraldajaks jutumärgid
  5. Kopeeri salvestatud CSV fail samasse skriptifailide kausta, kus asub import.js

Lähteandmete importimiseks CSV failist tuleb käivitada impordikäsk

node import.js

Kui see lõpeb teatega "All ready" ning ühtegi viga ei esinenud, ongi asi töövalmis.

Juhul kui andmed on imporditud, võib soovi korral ära kustutada kõik failid peale config.js, db.js, tools.js ja zip.js.

Install

Kopeeri endale Postiindeksi lähtekood (võid ka käsitsi siitsamast alla laadida ja ise lahti pakkida)

git clone https://github.com/andris9/postiindeks.git

Kopeeri eelmises punktis kirjeldatud lähtefail Postiindeksi kausta

cp base.csv postiindeks/base.csv
cd postiindeks

Impordi lähteandmed baasi

node import.js

Käivita näidisprogramm

node example.js

Kasutamine

Kui andmed on imporditud, saab kasutada zip teeki indeksite leidmiseks. Näiteskripti alusel saab täpsemalt näha kuidas see käib.

Näiteskripti käivitamiseks

node example.js

Juhul kui tuli ette info tulemusega, on kõik OK

API

Postiindeksite leidmiseks tuleb laadida teek "zip"

var ziplib = require("./zip"); // mitte kataloog, vaid failinimi, ilma .js laiendita!

Teegi abil indeksite leidmine käib meetoditega getZip ning findZipByAddressStr - esimene võtab sisendiks struktureeritud aadressiobjekti ning teine aadressi vabatekstina.

var aadress = "Lossi plats 1, Tallinn";
ziplib.findZipByAddressStr(aadress, function(error, data){
    // error sisaldab veaobjekti, kui ilmnes viga
    // data sisaldab vastusobjekti, data.zip on indeks
    // kui data.status == "FOUND" siis on OK, vastasel korral mitte
});

Aadressiobjekti korral aga

var aadress = {
    street: "Lossi plats",
    building: "1",
    room: "",
    city: "Tallinn",
    commune: "",
    state:""
}

ziplib.getZip(aadress, function(error, zip, aadress){
    // error - sisaldab veaobjekti
    // zip - on postiindeks
    // aadress - on töödeldud aadressiobjekt (lisatud maakond kui pole jne)
});

Litsents

GNU General Public License (GPL) Version 2 http://www.gnu.org/licenses/gpl-2.0.html

Something went wrong with that request. Please try again.