izmir-open-data-js 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -17
- package/dist/client.d.ts +12 -0
- package/dist/client.js +52 -0
- package/dist/endpoints/eshot.d.ts +49 -41
- package/dist/endpoints/eshot.js +29 -57
- package/dist/endpoints/trafik.d.ts +21 -0
- package/dist/endpoints/trafik.js +13 -0
- package/dist/endpoints/tramvay.d.ts +21 -0
- package/dist/endpoints/tramvay.js +9 -0
- package/dist/endpoints/vapur.d.ts +41 -0
- package/dist/endpoints/vapur.js +9 -0
- package/dist/index.d.ts +11 -6
- package/dist/index.js +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ async function verileriGetir() {
|
|
|
52
52
|
verileriGetir();
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
### Örnek: ESHOT Hat ve Durak Bilgileri
|
|
55
|
+
### Örnek: ESHOT Hat ve Durak Bilgileri
|
|
56
56
|
|
|
57
57
|
```javascript
|
|
58
58
|
import { IzmirAPI } from 'izmir-open-data-js';
|
|
@@ -60,24 +60,23 @@ import { IzmirAPI } from 'izmir-open-data-js';
|
|
|
60
60
|
const api = new IzmirAPI();
|
|
61
61
|
|
|
62
62
|
async function eshotVerileri() {
|
|
63
|
-
// Tüm ESHOT hatlarını çek
|
|
63
|
+
// Tüm ESHOT hatlarını çek (~441 hat)
|
|
64
64
|
const hatlar = await api.eshot.getHatlar();
|
|
65
|
-
console.log(`Toplam ${hatlar.
|
|
65
|
+
console.log(`Toplam ${hatlar.length} hat bulundu`);
|
|
66
66
|
|
|
67
67
|
// İlk 10 hattı göster
|
|
68
|
-
hatlar.
|
|
68
|
+
hatlar.slice(0, 10).forEach(hat => {
|
|
69
69
|
console.log(`Hat ${hat.HAT_NO}: ${hat.HAT_ADI}`);
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
-
// Tüm durakları çek (
|
|
73
|
-
const duraklar = await api.eshot.getDuraklar(
|
|
74
|
-
console.log(`Toplam ${duraklar.
|
|
72
|
+
// Tüm durakları çek (~11,770 durak)
|
|
73
|
+
const duraklar = await api.eshot.getDuraklar();
|
|
74
|
+
console.log(`Toplam ${duraklar.length} durak mevcut`);
|
|
75
75
|
|
|
76
|
-
//
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
});
|
|
76
|
+
// Metro, İzban, Vapur bağlantılı hatları çek
|
|
77
|
+
const baglantilar = await api.eshot.getBaglantiHatlari();
|
|
78
|
+
const metroHatlari = baglantilar.filter(h => h.BAGLANTI_TIP_ID === 1);
|
|
79
|
+
console.log(`Metro bağlantılı ${metroHatlari.length} hat var`);
|
|
81
80
|
}
|
|
82
81
|
|
|
83
82
|
eshotVerileri();
|
|
@@ -134,11 +133,12 @@ eshotVerileri();
|
|
|
134
133
|
| `getDuragaYaklasanOtobusList(durakId)` | Bir durağa yaklaşan otobüsleri listeler |
|
|
135
134
|
| `getHattinYaklasanOtobusleri(hatId, durakId)` | Bir hattın durağa yaklaşan otobüslerini listeler |
|
|
136
135
|
| `getHatOtobusKonumlari(hatId)` | Hatta ait otobüslerin anlık konum bilgilerini döner |
|
|
137
|
-
| `getHatlar(
|
|
138
|
-
| `getHareketSaatleri(
|
|
139
|
-
| `getDuraklar(
|
|
140
|
-
| `getHatGuzergahlari(
|
|
141
|
-
| `getBaglantiTipleri(
|
|
136
|
+
| `getHatlar()` | Tüm ESHOT hat bilgilerini döner (~441 hat) |
|
|
137
|
+
| `getHareketSaatleri()` | Tüm otobüs hareket saatlerini döner (~101,000+ kayıt) |
|
|
138
|
+
| `getDuraklar()` | Tüm ESHOT duraklarını listeler (~11,770 durak) |
|
|
139
|
+
| `getHatGuzergahlari()` | Hat güzergah koordinatlarını döner (~563,000+ nokta) |
|
|
140
|
+
| `getBaglantiTipleri()` | Diğer ulaşım araçları ile bağlantı tiplerini döner |
|
|
141
|
+
| `getBaglantiHatlari()` | Diğer ulaşım araçlarına bağlantılı hatları ve çalışma saatlerini döner (~583 kayıt) |
|
|
142
142
|
|
|
143
143
|
### 🚲 Ulaşım - BİSİM (`api.bisim`)
|
|
144
144
|
|
|
@@ -154,6 +154,7 @@ eshotVerileri();
|
|
|
154
154
|
| `getSeferList()` | Tüm tramvay sefer bilgilerini listeler |
|
|
155
155
|
| `getIstasyonList(seferId)` | Sefer numarasına göre tramvay istasyonlarını listeler |
|
|
156
156
|
| `getSeferSiklikList(seferId)` | Sefer numarasına göre sefer sıklıklarını döner |
|
|
157
|
+
| `getPlanlananiSeferSayilari()` | Metro ve tramvay için aylık planlanan sefer sayılarını döner (~74 kayıt) |
|
|
157
158
|
|
|
158
159
|
### 🚇 Ulaşım - Metro (`api.metro`)
|
|
159
160
|
|
|
@@ -177,6 +178,7 @@ eshotVerileri();
|
|
|
177
178
|
| `getCalismaGunleri()` | Vapurların çalışma günlerini döner |
|
|
178
179
|
| `getHareketSaatleriByHat(iskeleId, gunId)` | İskele bazlı hareket saatlerini döner |
|
|
179
180
|
| `getIskeleList()` | Vapur iskelelerini listeler |
|
|
181
|
+
| `getDetayList()` | Vapurların kapasite ve donanım bilgilerini döner (~20 gemi) |
|
|
180
182
|
|
|
181
183
|
### 🚃 Ulaşım - Tren & Diğer (`api.tren`)
|
|
182
184
|
|
|
@@ -194,6 +196,12 @@ eshotVerileri();
|
|
|
194
196
|
| `getList()` | Otoparkların doluluk ve konum bilgilerini döner |
|
|
195
197
|
| `getUcretler(limit, offset)` | İzelman otopark ücretlerini döner (CKAN) |
|
|
196
198
|
|
|
199
|
+
### 🚦 Trafik (`api.trafik`)
|
|
200
|
+
|
|
201
|
+
| Metot | Açıklama |
|
|
202
|
+
| :--- | :--- |
|
|
203
|
+
| `getKameraList()` | Trafik kameralarının konum bilgilerini döner (~92 kamera) |
|
|
204
|
+
|
|
197
205
|
### 🚕 Taksi (`api.taksi`)
|
|
198
206
|
|
|
199
207
|
| Metot | Açıklama |
|
package/dist/client.d.ts
CHANGED
|
@@ -32,4 +32,16 @@ export declare class IzmirClient {
|
|
|
32
32
|
* Normal fetch ile CKAN dump API çağrısı (Node.js için)
|
|
33
33
|
*/
|
|
34
34
|
private getCKANDumpWithFetch;
|
|
35
|
+
/**
|
|
36
|
+
* CSV dosyasını çeker ve parse eder.
|
|
37
|
+
* @param url CSV dosyasının URL'i
|
|
38
|
+
* @param delimiter Ayırıcı karakter (varsayılan: ;)
|
|
39
|
+
*/
|
|
40
|
+
getCSV<T = Record<string, string>>(url: string, delimiter?: string): Promise<T[]>;
|
|
41
|
+
/**
|
|
42
|
+
* CSV string'i parse eder.
|
|
43
|
+
* @param csv CSV string
|
|
44
|
+
* @param delimiter Ayırıcı karakter
|
|
45
|
+
*/
|
|
46
|
+
private parseCSV;
|
|
35
47
|
}
|
package/dist/client.js
CHANGED
|
@@ -140,4 +140,56 @@ export class IzmirClient {
|
|
|
140
140
|
throw new Error("Bilinmeyen CKAN Dump hatası");
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* CSV dosyasını çeker ve parse eder.
|
|
145
|
+
* @param url CSV dosyasının URL'i
|
|
146
|
+
* @param delimiter Ayırıcı karakter (varsayılan: ;)
|
|
147
|
+
*/
|
|
148
|
+
async getCSV(url, delimiter = ';') {
|
|
149
|
+
try {
|
|
150
|
+
const res = await fetch(url);
|
|
151
|
+
if (!res.ok) {
|
|
152
|
+
throw new Error(`CSV API response error: ${res.status}`);
|
|
153
|
+
}
|
|
154
|
+
const text = await res.text();
|
|
155
|
+
return this.parseCSV(text, delimiter);
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
if (error instanceof Error) {
|
|
159
|
+
throw new Error(`CSV Hatası: ${error.message}`);
|
|
160
|
+
}
|
|
161
|
+
throw new Error("Bilinmeyen CSV hatası");
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* CSV string'i parse eder.
|
|
166
|
+
* @param csv CSV string
|
|
167
|
+
* @param delimiter Ayırıcı karakter
|
|
168
|
+
*/
|
|
169
|
+
parseCSV(csv, delimiter) {
|
|
170
|
+
const lines = csv.trim().split('\n');
|
|
171
|
+
if (lines.length < 2)
|
|
172
|
+
return [];
|
|
173
|
+
const headers = lines[0].split(delimiter).map(h => h.trim());
|
|
174
|
+
const results = [];
|
|
175
|
+
for (let i = 1; i < lines.length; i++) {
|
|
176
|
+
const values = lines[i].split(delimiter);
|
|
177
|
+
const obj = {};
|
|
178
|
+
for (let j = 0; j < headers.length; j++) {
|
|
179
|
+
const value = values[j]?.trim() || '';
|
|
180
|
+
// Sayısal değerleri number'a çevir, ancak özel karakterler içeriyorsa string bırak
|
|
181
|
+
// Örn: "06:00" (saat), "29-30" (hat numaraları), "True/False" string kalmalı
|
|
182
|
+
if (value === '' || value.includes(':') || value.includes('-') ||
|
|
183
|
+
value.toLowerCase() === 'true' || value.toLowerCase() === 'false') {
|
|
184
|
+
obj[headers[j]] = value;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
const numValue = parseFloat(value);
|
|
188
|
+
obj[headers[j]] = !isNaN(numValue) ? numValue : value;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
results.push(obj);
|
|
192
|
+
}
|
|
193
|
+
return results;
|
|
194
|
+
}
|
|
143
195
|
}
|
|
@@ -3,10 +3,9 @@ import { DefaultOnemliYer, OnemliYerWrapper } from "../common/types/onemliYer";
|
|
|
3
3
|
export interface EshotDurak extends DefaultOnemliYer {
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
|
-
* ESHOT hat bilgisi (
|
|
6
|
+
* ESHOT hat bilgisi (CSV datasından)
|
|
7
7
|
*/
|
|
8
8
|
export interface EshotHat {
|
|
9
|
-
_id: number;
|
|
10
9
|
HAT_NO: number;
|
|
11
10
|
HAT_ADI: string;
|
|
12
11
|
GUZERGAH_ACIKLAMA: string;
|
|
@@ -15,10 +14,9 @@ export interface EshotHat {
|
|
|
15
14
|
HAT_BITIS: string;
|
|
16
15
|
}
|
|
17
16
|
/**
|
|
18
|
-
* ESHOT otobüs hareket saati bilgisi (
|
|
17
|
+
* ESHOT otobüs hareket saati bilgisi (CSV datasından)
|
|
19
18
|
*/
|
|
20
19
|
export interface EshotHareketSaati {
|
|
21
|
-
_id: number;
|
|
22
20
|
HAT_NO: number;
|
|
23
21
|
TARIFE_ID: number;
|
|
24
22
|
GIDIS_SAATI: string;
|
|
@@ -32,10 +30,9 @@ export interface EshotHareketSaati {
|
|
|
32
30
|
DONUS_ELEKTRIKLI_OTOBUS: string;
|
|
33
31
|
}
|
|
34
32
|
/**
|
|
35
|
-
* ESHOT otobüs durağı bilgisi (
|
|
33
|
+
* ESHOT otobüs durağı bilgisi (CSV datasından)
|
|
36
34
|
*/
|
|
37
|
-
export interface
|
|
38
|
-
_id: number;
|
|
35
|
+
export interface EshotDurakCSV {
|
|
39
36
|
DURAK_ID: number;
|
|
40
37
|
DURAK_ADI: string;
|
|
41
38
|
ENLEM: number;
|
|
@@ -43,10 +40,9 @@ export interface EshotDurakCKAN {
|
|
|
43
40
|
DURAKTAN_GECEN_HATLAR: string;
|
|
44
41
|
}
|
|
45
42
|
/**
|
|
46
|
-
* ESHOT hat güzergah noktası bilgisi (
|
|
43
|
+
* ESHOT hat güzergah noktası bilgisi (CSV datasından)
|
|
47
44
|
*/
|
|
48
45
|
export interface EshotHatGuzergah {
|
|
49
|
-
_id: number;
|
|
50
46
|
HAT_NO: number;
|
|
51
47
|
/** Güzergah yönü: 1 = Gidiş, 2 = Dönüş */
|
|
52
48
|
YON: number;
|
|
@@ -54,15 +50,32 @@ export interface EshotHatGuzergah {
|
|
|
54
50
|
ENLEM: number;
|
|
55
51
|
}
|
|
56
52
|
/**
|
|
57
|
-
* ESHOT bağlantı tipi bilgisi (
|
|
53
|
+
* ESHOT bağlantı tipi bilgisi (CSV datasından)
|
|
58
54
|
* Otobüs hatlarının diğer ulaşım araçları ile bağlantı tipleri
|
|
59
55
|
*/
|
|
60
56
|
export interface EshotBaglantiTipi {
|
|
61
|
-
_id: number;
|
|
62
57
|
BAGLANTI_TIP_ID: number;
|
|
63
|
-
/** Bağlantı tipi adı (METRO, IZBAN, VAPUR,
|
|
58
|
+
/** Bağlantı tipi adı (METRO, IZBAN, VAPUR, HAVAALANI, OTOGAR) */
|
|
64
59
|
BAGLANTI_TIPI: string;
|
|
65
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* ESHOT bağlantılı hat bilgisi (CSV datasından)
|
|
63
|
+
* Diğer ulaşım araçları ile bağlantılı otobüs hatları
|
|
64
|
+
*/
|
|
65
|
+
export interface EshotBaglantiHat {
|
|
66
|
+
/** Bağlantı tipi ID'si (1=METRO, 2=IZBAN, 3=VAPUR, 4=HAVAALANI, 5=OTOGAR) */
|
|
67
|
+
BAGLANTI_TIP_ID: number;
|
|
68
|
+
HAT_NO: number;
|
|
69
|
+
HAT_ADI: string;
|
|
70
|
+
GUZERGAH_ACIKLAMA: string;
|
|
71
|
+
ACIKLAMA: string;
|
|
72
|
+
HAT_BASLANGIC: string;
|
|
73
|
+
HAT_BITIS: string;
|
|
74
|
+
/** Gidiş çalışma saati aralığı (örn: "06:00 - 23:00") */
|
|
75
|
+
GIDIS_CALISMA_SAATI: string;
|
|
76
|
+
/** Dönüş çalışma saati aralığı (örn: "06:35 - 23:40") */
|
|
77
|
+
DONUS_CALISMA_SAATI: string;
|
|
78
|
+
}
|
|
66
79
|
/**
|
|
67
80
|
* Durağa yaklaşan otobüs bilgisi
|
|
68
81
|
*/
|
|
@@ -116,53 +129,48 @@ export interface CKANDumpResponse {
|
|
|
116
129
|
}
|
|
117
130
|
export declare function eshot(client: IzmirClient): {
|
|
118
131
|
/**
|
|
119
|
-
* ESHOT hatlarının listesini içeren web servisi (
|
|
132
|
+
* ESHOT hatlarının listesini içeren web servisi (CSV).
|
|
133
|
+
* Tüm hat verilerini tek seferde döndürür (~441 hat).
|
|
120
134
|
*
|
|
121
|
-
* Kaynak: https://
|
|
122
|
-
* @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
|
|
123
|
-
* @param offset Atlanacak kayıt sayısı (sayfalama için)
|
|
135
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hatlari.csv
|
|
124
136
|
*/
|
|
125
|
-
getHatlar(
|
|
137
|
+
getHatlar(): Promise<EshotHat[]>;
|
|
126
138
|
/**
|
|
127
|
-
* ESHOT otobüs hareket saatlerini içeren web servisi (
|
|
139
|
+
* ESHOT otobüs hareket saatlerini içeren web servisi (CSV).
|
|
140
|
+
* Tüm hareket saati verilerini tek seferde döndürür (~101,000+ kayıt).
|
|
128
141
|
*
|
|
129
|
-
* Kaynak: https://
|
|
130
|
-
* @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
|
|
131
|
-
* @param offset Atlanacak kayıt sayısı (sayfalama için)
|
|
142
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hareketsaatleri.csv
|
|
132
143
|
*/
|
|
133
|
-
getHareketSaatleri(
|
|
144
|
+
getHareketSaatleri(): Promise<EshotHareketSaati[]>;
|
|
134
145
|
/**
|
|
135
|
-
* ESHOT otobüs duraklarının listesini içeren web servisi (
|
|
146
|
+
* ESHOT otobüs duraklarının listesini içeren web servisi (CSV).
|
|
147
|
+
* Tüm durak verilerini tek seferde döndürür (~11,770 durak).
|
|
136
148
|
*
|
|
137
|
-
* Kaynak: https://
|
|
138
|
-
* @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
|
|
139
|
-
* @param offset Atlanacak kayıt sayısı (sayfalama için)
|
|
149
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-duraklari.csv
|
|
140
150
|
*/
|
|
141
|
-
getDuraklar(
|
|
151
|
+
getDuraklar(): Promise<EshotDurakCSV[]>;
|
|
142
152
|
/**
|
|
143
|
-
* ESHOT hat güzergahlarını içeren web servisi (
|
|
153
|
+
* ESHOT hat güzergahlarını içeren web servisi (CSV).
|
|
144
154
|
* Her hat için gidiş (YON=1) ve dönüş (YON=2) koordinat noktalarını içerir.
|
|
145
|
-
* Tüm güzergah verilerini tek seferde döndürür.
|
|
155
|
+
* Tüm güzergah verilerini tek seferde döndürür (~560,000+ nokta).
|
|
146
156
|
*
|
|
147
|
-
* Kaynak: https://
|
|
157
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hat-guzergahlari.csv
|
|
148
158
|
*/
|
|
149
|
-
getHatGuzergahlari(): Promise<
|
|
159
|
+
getHatGuzergahlari(): Promise<EshotHatGuzergah[]>;
|
|
150
160
|
/**
|
|
151
|
-
*
|
|
152
|
-
*
|
|
161
|
+
* Otobüs hatlarının diğer ulaşım araçları ile bağlantı tiplerini içeren web servisi (CSV).
|
|
162
|
+
* Metro, İzban, Vapur, Havaalanı, Otogar gibi bağlantı tiplerini listeler.
|
|
153
163
|
*
|
|
154
|
-
* Kaynak: https://acikveri.bizizmir.com/dataset/
|
|
164
|
+
* Kaynak: https://acikveri.bizizmir.com/dataset/otobus-hatlarinin-diger-ulasim-araclari-ile-baglanti-tipleri
|
|
155
165
|
*/
|
|
156
|
-
|
|
166
|
+
getBaglantiTipleri(): Promise<EshotBaglantiTipi[]>;
|
|
157
167
|
/**
|
|
158
|
-
*
|
|
159
|
-
*
|
|
168
|
+
* Diğer ulaşım araçları ile bağlantılı otobüs hatlarının listesini içeren web servisi (CSV).
|
|
169
|
+
* Her hattın hangi ulaşım aracına bağlantılı olduğunu ve çalışma saatlerini gösterir (~583 kayıt).
|
|
160
170
|
*
|
|
161
|
-
* Kaynak: https://
|
|
162
|
-
* @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
|
|
163
|
-
* @param offset Atlanacak kayıt sayısı (sayfalama için)
|
|
171
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-baglantili-hatlar.csv
|
|
164
172
|
*/
|
|
165
|
-
|
|
173
|
+
getBaglantiHatlari(): Promise<EshotBaglantiHat[]>;
|
|
166
174
|
/**
|
|
167
175
|
* ESHOT duraklarının konum, isim ve diğer bilgilerini içeren web servisi.
|
|
168
176
|
*
|
package/dist/endpoints/eshot.js
CHANGED
|
@@ -1,87 +1,59 @@
|
|
|
1
1
|
export function eshot(client) {
|
|
2
2
|
return {
|
|
3
3
|
/**
|
|
4
|
-
* ESHOT hatlarının listesini içeren web servisi (
|
|
4
|
+
* ESHOT hatlarının listesini içeren web servisi (CSV).
|
|
5
|
+
* Tüm hat verilerini tek seferde döndürür (~441 hat).
|
|
5
6
|
*
|
|
6
|
-
* Kaynak: https://
|
|
7
|
-
* @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
|
|
8
|
-
* @param offset Atlanacak kayıt sayısı (sayfalama için)
|
|
7
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hatlari.csv
|
|
9
8
|
*/
|
|
10
|
-
getHatlar(
|
|
11
|
-
return client.
|
|
12
|
-
resource_id: 'bd6c84f8-49ba-4cf4-81f8-81a0fbb5caa3',
|
|
13
|
-
limit,
|
|
14
|
-
offset
|
|
15
|
-
});
|
|
9
|
+
getHatlar() {
|
|
10
|
+
return client.getCSV('https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hatlari.csv');
|
|
16
11
|
},
|
|
17
12
|
/**
|
|
18
|
-
* ESHOT otobüs hareket saatlerini içeren web servisi (
|
|
13
|
+
* ESHOT otobüs hareket saatlerini içeren web servisi (CSV).
|
|
14
|
+
* Tüm hareket saati verilerini tek seferde döndürür (~101,000+ kayıt).
|
|
19
15
|
*
|
|
20
|
-
* Kaynak: https://
|
|
21
|
-
* @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
|
|
22
|
-
* @param offset Atlanacak kayıt sayısı (sayfalama için)
|
|
16
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hareketsaatleri.csv
|
|
23
17
|
*/
|
|
24
|
-
getHareketSaatleri(
|
|
25
|
-
return client.
|
|
26
|
-
resource_id: 'c6fa6046-f755-47d7-b69e-db6bb06a8b5a',
|
|
27
|
-
limit,
|
|
28
|
-
offset
|
|
29
|
-
});
|
|
18
|
+
getHareketSaatleri() {
|
|
19
|
+
return client.getCSV('https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hareketsaatleri.csv');
|
|
30
20
|
},
|
|
31
21
|
/**
|
|
32
|
-
* ESHOT otobüs duraklarının listesini içeren web servisi (
|
|
22
|
+
* ESHOT otobüs duraklarının listesini içeren web servisi (CSV).
|
|
23
|
+
* Tüm durak verilerini tek seferde döndürür (~11,770 durak).
|
|
33
24
|
*
|
|
34
|
-
* Kaynak: https://
|
|
35
|
-
* @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
|
|
36
|
-
* @param offset Atlanacak kayıt sayısı (sayfalama için)
|
|
25
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-duraklari.csv
|
|
37
26
|
*/
|
|
38
|
-
getDuraklar(
|
|
39
|
-
return client.
|
|
40
|
-
resource_id: '0c791266-a2e4-4f14-82b8-9a9b102fbf94',
|
|
41
|
-
limit,
|
|
42
|
-
offset
|
|
43
|
-
});
|
|
27
|
+
getDuraklar() {
|
|
28
|
+
return client.getCSV('https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-duraklari.csv');
|
|
44
29
|
},
|
|
45
30
|
/**
|
|
46
|
-
* ESHOT hat güzergahlarını içeren web servisi (
|
|
31
|
+
* ESHOT hat güzergahlarını içeren web servisi (CSV).
|
|
47
32
|
* Her hat için gidiş (YON=1) ve dönüş (YON=2) koordinat noktalarını içerir.
|
|
48
|
-
* Tüm güzergah verilerini tek seferde döndürür.
|
|
33
|
+
* Tüm güzergah verilerini tek seferde döndürür (~560,000+ nokta).
|
|
49
34
|
*
|
|
50
|
-
* Kaynak: https://
|
|
35
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hat-guzergahlari.csv
|
|
51
36
|
*/
|
|
52
37
|
getHatGuzergahlari() {
|
|
53
|
-
return client.
|
|
38
|
+
return client.getCSV('https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-hat-guzergahlari.csv');
|
|
54
39
|
},
|
|
55
40
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
41
|
+
* Otobüs hatlarının diğer ulaşım araçları ile bağlantı tiplerini içeren web servisi (CSV).
|
|
42
|
+
* Metro, İzban, Vapur, Havaalanı, Otogar gibi bağlantı tiplerini listeler.
|
|
58
43
|
*
|
|
59
|
-
* Kaynak: https://acikveri.bizizmir.com/dataset/
|
|
44
|
+
* Kaynak: https://acikveri.bizizmir.com/dataset/otobus-hatlarinin-diger-ulasim-araclari-ile-baglanti-tipleri
|
|
60
45
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return dump.records.map(record => ({
|
|
64
|
-
_id: record[0],
|
|
65
|
-
HAT_NO: record[1],
|
|
66
|
-
YON: record[2],
|
|
67
|
-
BOYLAM: record[3],
|
|
68
|
-
ENLEM: record[4]
|
|
69
|
-
}));
|
|
46
|
+
getBaglantiTipleri() {
|
|
47
|
+
return client.getCSV('https://acikveri.bizizmir.com/dataset/f0964595-53e0-4b94-bf11-9423f8bb595e/resource/c228da75-adfd-422a-a480-2a4c7ffa7586/download/eshot-otobus-baglanti-tipleri.csv');
|
|
70
48
|
},
|
|
71
49
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
50
|
+
* Diğer ulaşım araçları ile bağlantılı otobüs hatlarının listesini içeren web servisi (CSV).
|
|
51
|
+
* Her hattın hangi ulaşım aracına bağlantılı olduğunu ve çalışma saatlerini gösterir (~583 kayıt).
|
|
74
52
|
*
|
|
75
|
-
* Kaynak: https://
|
|
76
|
-
* @param limit Döndürülecek kayıt sayısı (varsayılan: 100)
|
|
77
|
-
* @param offset Atlanacak kayıt sayısı (sayfalama için)
|
|
53
|
+
* Kaynak: https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-baglantili-hatlar.csv
|
|
78
54
|
*/
|
|
79
|
-
|
|
80
|
-
return client.
|
|
81
|
-
resource_id: 'c228da75-adfd-422a-a480-2a4c7ffa7586',
|
|
82
|
-
limit,
|
|
83
|
-
offset
|
|
84
|
-
});
|
|
55
|
+
getBaglantiHatlari() {
|
|
56
|
+
return client.getCSV('https://openfiles.izmir.bel.tr/211488/docs/eshot-otobus-baglantili-hatlar.csv');
|
|
85
57
|
},
|
|
86
58
|
/**
|
|
87
59
|
* ESHOT duraklarının konum, isim ve diğer bilgilerini içeren web servisi.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IzmirClient } from "../client";
|
|
2
|
+
/**
|
|
3
|
+
* Trafik kamerası bilgisi (CSV datasından)
|
|
4
|
+
*/
|
|
5
|
+
export interface TrafikKamerasi {
|
|
6
|
+
/** Kamera/Kavşak adı */
|
|
7
|
+
ADI: string;
|
|
8
|
+
/** Enlem koordinatı */
|
|
9
|
+
ENLEM: number;
|
|
10
|
+
/** Boylam koordinatı */
|
|
11
|
+
BOYLAM: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function trafik(client: IzmirClient): {
|
|
14
|
+
/**
|
|
15
|
+
* İzmir'deki trafik kameralarının listesini içeren web servisi (CSV).
|
|
16
|
+
* Kavşak adı ve koordinat bilgilerini içerir (~92 kamera).
|
|
17
|
+
*
|
|
18
|
+
* Kaynak: https://acikveri.bizizmir.com/dataset/trafik-kameralari
|
|
19
|
+
*/
|
|
20
|
+
getKameraList(): Promise<TrafikKamerasi[]>;
|
|
21
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function trafik(client) {
|
|
2
|
+
return {
|
|
3
|
+
/**
|
|
4
|
+
* İzmir'deki trafik kameralarının listesini içeren web servisi (CSV).
|
|
5
|
+
* Kavşak adı ve koordinat bilgilerini içerir (~92 kamera).
|
|
6
|
+
*
|
|
7
|
+
* Kaynak: https://acikveri.bizizmir.com/dataset/trafik-kameralari
|
|
8
|
+
*/
|
|
9
|
+
getKameraList() {
|
|
10
|
+
return client.getCSV('https://acikveri.bizizmir.com/dataset/a5cda2f2-ccbd-4fac-a4bb-c691abff28f1/resource/b91cb15d-05c6-45b7-8a75-48e030aad368/download/trafikkameralari.csv');
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -28,6 +28,20 @@ export interface TramvaySefer {
|
|
|
28
28
|
BitisSaati: string;
|
|
29
29
|
Aralik: number;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Planlanan sefer sayıları (CSV datasından)
|
|
33
|
+
* Metro ve tramvay hatları için aylık planlanan sefer sayıları
|
|
34
|
+
*/
|
|
35
|
+
export interface TramvayPlanlananiSefer {
|
|
36
|
+
YIL: number;
|
|
37
|
+
AY: number;
|
|
38
|
+
/** İzmir Metrosu planlanan sefer sayısı */
|
|
39
|
+
IZMIR_METROSU: number;
|
|
40
|
+
/** Karşıyaka ve Çiğli Tramvayı planlanan sefer sayısı */
|
|
41
|
+
KARSIYAKA_TRAMVAYI_VE_CIGLI_TRAMVAYI: number;
|
|
42
|
+
/** Konak Tramvayı planlanan sefer sayısı */
|
|
43
|
+
KONAK_TRAMVAYI: number;
|
|
44
|
+
}
|
|
31
45
|
export declare function tramvay(client: IzmirClient): {
|
|
32
46
|
/**
|
|
33
47
|
* Tramvay hatları bilgisini içeren web servis:
|
|
@@ -58,4 +72,11 @@ export declare function tramvay(client: IzmirClient): {
|
|
|
58
72
|
* @param seferId Sefer numarası
|
|
59
73
|
*/
|
|
60
74
|
getSeferSiklikList(seferId: number): Promise<TramvaySeferSikligi[]>;
|
|
75
|
+
/**
|
|
76
|
+
* Metro ve tramvay hatları için aylık planlanan sefer sayılarını içeren web servisi (CSV).
|
|
77
|
+
* İzmir Metrosu, Karşıyaka/Çiğli Tramvayı ve Konak Tramvayı verilerini içerir.
|
|
78
|
+
*
|
|
79
|
+
* Kaynak: https://acikveri.bizizmir.com/dataset/planlanan-sefer-sayilari
|
|
80
|
+
*/
|
|
81
|
+
getPlanlananiSeferSayilari(): Promise<TramvayPlanlananiSefer[]>;
|
|
61
82
|
};
|
|
@@ -36,6 +36,15 @@ export function tramvay(client) {
|
|
|
36
36
|
*/
|
|
37
37
|
getSeferSiklikList(seferId) {
|
|
38
38
|
return client.get(`tramvay/seferler/${seferId}`);
|
|
39
|
+
},
|
|
40
|
+
/**
|
|
41
|
+
* Metro ve tramvay hatları için aylık planlanan sefer sayılarını içeren web servisi (CSV).
|
|
42
|
+
* İzmir Metrosu, Karşıyaka/Çiğli Tramvayı ve Konak Tramvayı verilerini içerir.
|
|
43
|
+
*
|
|
44
|
+
* Kaynak: https://acikveri.bizizmir.com/dataset/planlanan-sefer-sayilari
|
|
45
|
+
*/
|
|
46
|
+
getPlanlananiSeferSayilari() {
|
|
47
|
+
return client.getCSV('https://acikveri.bizizmir.com/dataset/ace45290-413e-4786-82e4-d23fd56591b1/resource/2fc4d0cf-9628-43b7-95d3-df5742a95f02/download/planlanan_sefer_sayilari.csv');
|
|
39
48
|
}
|
|
40
49
|
};
|
|
41
50
|
}
|
|
@@ -38,6 +38,40 @@ export interface VapurIskele {
|
|
|
38
38
|
AktifMi: boolean;
|
|
39
39
|
ArabaliVapurIskelesiMi: boolean;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Vapur detay bilgisi (CSV datasından)
|
|
43
|
+
* Gemilerin kapasite ve donanım özellikleri
|
|
44
|
+
*/
|
|
45
|
+
export interface VapurDetay {
|
|
46
|
+
/** Gemi adı */
|
|
47
|
+
GEMI_ADI: string;
|
|
48
|
+
/** Gemi tipi (Yolcu Gemisi, Araba Vapuru vb.) */
|
|
49
|
+
GEMI_TIPI: string;
|
|
50
|
+
/** Yolcu kapasitesi */
|
|
51
|
+
YOLCU_KAPASITESI: number | string;
|
|
52
|
+
/** Araç kapasitesi */
|
|
53
|
+
ARAC_KAPASITESI: number | string;
|
|
54
|
+
/** Bisiklet park yeri kapasitesi */
|
|
55
|
+
BISIKLET_PARK_YERI_KAPASITESI: number | string;
|
|
56
|
+
/** Engelli erişimine uygunluk (Var/Yok) */
|
|
57
|
+
ENGELLI_ERISIMINE_UYGUNLUK: string;
|
|
58
|
+
/** Engelli asansörü sayısı */
|
|
59
|
+
ENGELLI_ASANSORU_SAYISI: number | string;
|
|
60
|
+
/** Erkek tuvaleti sayısı */
|
|
61
|
+
ERKEK_TUVALETI_SAYISI: number | string;
|
|
62
|
+
/** Kadın tuvaleti sayısı */
|
|
63
|
+
KADIN_TUVALETI_SAYISI: number | string;
|
|
64
|
+
/** Engelli tuvaleti sayısı */
|
|
65
|
+
ENGELLI_TUVALETI_SAYISI: number | string;
|
|
66
|
+
/** Bebek bakım odası sayısı */
|
|
67
|
+
BEBEK_BAKIM_ODASI_SAYISI: number | string;
|
|
68
|
+
/** Büfe veya otomat (Var/Yok) */
|
|
69
|
+
BUFE_VEYA_OTOMAT: string;
|
|
70
|
+
/** Evcil hayvan taşıma kafesi sayısı */
|
|
71
|
+
EVCIL_HAYVAN_TASIMA_KAFESI_SAYISI: number | string;
|
|
72
|
+
/** Wizmirnet kablosuz internet (Var/Yok) */
|
|
73
|
+
WIZMIRNET_KABLOSUZ_INTERNET: string;
|
|
74
|
+
}
|
|
41
75
|
export declare function vapur(client: IzmirClient): {
|
|
42
76
|
/**
|
|
43
77
|
* Vapur hareket saatleri bilgisini içeren web servisi.
|
|
@@ -69,4 +103,11 @@ export declare function vapur(client: IzmirClient): {
|
|
|
69
103
|
* Kaynak: https://acikveri.bizizmir.com/dataset/izdeniz-vapur-iskeleleri
|
|
70
104
|
*/
|
|
71
105
|
getIskeleList(): Promise<VapurIskele[]>;
|
|
106
|
+
/**
|
|
107
|
+
* Vapurların detaylı bilgilerini içeren web servisi (CSV).
|
|
108
|
+
* Kapasite, donanım ve erişilebilirlik bilgilerini içerir (~20 gemi).
|
|
109
|
+
*
|
|
110
|
+
* Kaynak: https://acikveri.bizizmir.com/dataset/vapur-detay
|
|
111
|
+
*/
|
|
112
|
+
getDetayList(): Promise<VapurDetay[]>;
|
|
72
113
|
};
|
package/dist/endpoints/vapur.js
CHANGED
|
@@ -37,6 +37,15 @@ export function vapur(client) {
|
|
|
37
37
|
*/
|
|
38
38
|
getIskeleList() {
|
|
39
39
|
return client.get("izdeniz/iskeleler");
|
|
40
|
+
},
|
|
41
|
+
/**
|
|
42
|
+
* Vapurların detaylı bilgilerini içeren web servisi (CSV).
|
|
43
|
+
* Kapasite, donanım ve erişilebilirlik bilgilerini içerir (~20 gemi).
|
|
44
|
+
*
|
|
45
|
+
* Kaynak: https://acikveri.bizizmir.com/dataset/vapur-detay
|
|
46
|
+
*/
|
|
47
|
+
getDetayList() {
|
|
48
|
+
return client.getCSV('https://acikveri.bizizmir.com/dataset/87b38b23-4f73-4650-9d96-c72ad6ee73e3/resource/e6d7425a-694c-4f39-b452-4aade132635c/download/vapurdetay.csv');
|
|
40
49
|
}
|
|
41
50
|
};
|
|
42
51
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -40,12 +40,12 @@ export declare class IzmirAPI {
|
|
|
40
40
|
getGunlukHavaKalitesiOlcumleri(tarih: Date): Promise<import("./endpoints/iklim").HavaKalitesiOlcum[]>;
|
|
41
41
|
};
|
|
42
42
|
eshot: {
|
|
43
|
-
getHatlar(
|
|
44
|
-
getHareketSaatleri(
|
|
45
|
-
getDuraklar(
|
|
46
|
-
getHatGuzergahlari(): Promise<import("./endpoints/eshot").
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
getHatlar(): Promise<import("./endpoints/eshot").EshotHat[]>;
|
|
44
|
+
getHareketSaatleri(): Promise<import("./endpoints/eshot").EshotHareketSaati[]>;
|
|
45
|
+
getDuraklar(): Promise<import("./endpoints/eshot").EshotDurakCSV[]>;
|
|
46
|
+
getHatGuzergahlari(): Promise<import("./endpoints/eshot").EshotHatGuzergah[]>;
|
|
47
|
+
getBaglantiTipleri(): Promise<import("./endpoints/eshot").EshotBaglantiTipi[]>;
|
|
48
|
+
getBaglantiHatlari(): Promise<import("./endpoints/eshot").EshotBaglantiHat[]>;
|
|
49
49
|
getYakinDurakList(enlem: number, boylam: number): Promise<import("./common/types/onemliYer.js").OnemliYerWrapper<import("./endpoints/eshot").EshotDurak>>;
|
|
50
50
|
getDuragaYaklasanOtobusList(durakId: number): Promise<import("./endpoints/eshot").YaklasanOtobus[]>;
|
|
51
51
|
getHattinYaklasanOtobusleri(hatId: number, durakId: number): Promise<import("./endpoints/eshot").YaklasanOtobus[]>;
|
|
@@ -59,6 +59,7 @@ export declare class IzmirAPI {
|
|
|
59
59
|
getSeferList(): Promise<import("./endpoints/tramvay").TramvaySefer[]>;
|
|
60
60
|
getIstasyonList(seferId: number): Promise<import("./endpoints/tramvay").TramvayIstasyonu[]>;
|
|
61
61
|
getSeferSiklikList(seferId: number): Promise<import("./endpoints/tramvay").TramvaySeferSikligi[]>;
|
|
62
|
+
getPlanlananiSeferSayilari(): Promise<import("./endpoints/tramvay").TramvayPlanlananiSefer[]>;
|
|
62
63
|
};
|
|
63
64
|
metro: {
|
|
64
65
|
getIstasyonList(): Promise<import("./endpoints/metro").MetroIstasyonu[]>;
|
|
@@ -80,6 +81,7 @@ export declare class IzmirAPI {
|
|
|
80
81
|
getCalismaGunleri(): Promise<import("./common/types/gun.js").GunReferansi>;
|
|
81
82
|
getHareketSaatleriByHat(iskeleId: string, gunId: number): Promise<import("./endpoints/vapur").VapurHatti[]>;
|
|
82
83
|
getIskeleList(): Promise<import("./endpoints/vapur").VapurIskele[]>;
|
|
84
|
+
getDetayList(): Promise<import("./endpoints/vapur").VapurDetay[]>;
|
|
83
85
|
};
|
|
84
86
|
egitim: {
|
|
85
87
|
getEngelliOkullariList(): Promise<import("./common/types/onemliYer.js").OnemliYerWrapper<import("./endpoints/egitim").EgitimKurumu>>;
|
|
@@ -185,5 +187,8 @@ export declare class IzmirAPI {
|
|
|
185
187
|
iztek: {
|
|
186
188
|
getAskidaIzmirimKartIstatistik(): Promise<import("./endpoints/iztek").AskidaIzmirimKartIstatistik>;
|
|
187
189
|
};
|
|
190
|
+
trafik: {
|
|
191
|
+
getKameraList(): Promise<import("./endpoints/trafik").TrafikKamerasi[]>;
|
|
192
|
+
};
|
|
188
193
|
constructor(baseUrl?: string);
|
|
189
194
|
}
|
package/dist/index.js
CHANGED
|
@@ -28,6 +28,7 @@ import { sosyal } from "./endpoints/sosyal";
|
|
|
28
28
|
import { spor } from "./endpoints/spor";
|
|
29
29
|
import { cografi } from "./endpoints/cografi";
|
|
30
30
|
import { iztek } from "./endpoints/iztek";
|
|
31
|
+
import { trafik } from "./endpoints/trafik";
|
|
31
32
|
export class IzmirAPI {
|
|
32
33
|
constructor(baseUrl) {
|
|
33
34
|
this.client = new IzmirClient(baseUrl);
|
|
@@ -60,5 +61,6 @@ export class IzmirAPI {
|
|
|
60
61
|
this.spor = spor(this.client);
|
|
61
62
|
this.cografi = cografi(this.client);
|
|
62
63
|
this.iztek = iztek(this.client);
|
|
64
|
+
this.trafik = trafik(this.client);
|
|
63
65
|
}
|
|
64
66
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "izmir-open-data-js",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Izmir Open Data API wrapper - İzmir Büyükşehir Belediyesi Açık Veri API'leri için TypeScript/JavaScript kütüphanesi",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|