@geoalgeria/aviation 1.0.0 → 2.0.0
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/LICENSE +1 -1
- package/README.ar.md +134 -0
- package/README.fr.md +138 -0
- package/README.md +26 -9
- package/data/airports.json +396 -165
- package/data/csv/airports.csv +34 -0
- package/data/geojson/airports.geojson +995 -0
- package/data/metadata.json +34 -5
- package/dataset-metadata.json +50 -0
- package/package.json +4 -1
- package/types/index.d.ts +79 -24
package/data/metadata.json
CHANGED
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
2
|
+
"package": "@geoalgeria/aviation",
|
|
3
|
+
"schema_version": "2.0.0",
|
|
4
|
+
"title_fr": "Aéroports d'Algérie",
|
|
5
|
+
"title_ar": "مطارات الجزائر",
|
|
6
|
+
"title_en": "Algeria airports",
|
|
7
|
+
"record_count": 33,
|
|
8
|
+
"geocoded_count": 33,
|
|
9
|
+
"geocoded_pct": 100,
|
|
10
|
+
"precision": {
|
|
11
|
+
"exact": 33,
|
|
12
|
+
"approximate": 0
|
|
13
|
+
},
|
|
14
|
+
"estimated_universe": null,
|
|
15
|
+
"coverage_pct": null,
|
|
16
|
+
"coverage_note": "Airports from the National Civil Aviation Authority (ANAC). Wilaya-level only (no commune linkage).",
|
|
6
17
|
"wilayas_covered": 31,
|
|
7
|
-
"
|
|
18
|
+
"bbox": [
|
|
19
|
+
-8.165434,
|
|
20
|
+
19.563939,
|
|
21
|
+
9.63789,
|
|
22
|
+
36.824416
|
|
23
|
+
],
|
|
24
|
+
"sources": [
|
|
25
|
+
{
|
|
26
|
+
"key": "anac",
|
|
27
|
+
"name": "ANAC — Autorité Nationale de l'Aviation Civile",
|
|
28
|
+
"url": "https://www.anac.dz",
|
|
29
|
+
"license": "Factual public listing (ANAC)",
|
|
30
|
+
"retrieved": "2026-06-14",
|
|
31
|
+
"evidence_type": "official"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"license": "Factual public listing (ANAC)",
|
|
35
|
+
"updated": "2026-06-14",
|
|
36
|
+
"with_iata": 0
|
|
8
37
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": "https://schema.org",
|
|
3
|
+
"@type": "Dataset",
|
|
4
|
+
"name": "Algeria airports",
|
|
5
|
+
"alternateName": "Aéroports d'Algérie",
|
|
6
|
+
"identifier": "@geoalgeria/aviation",
|
|
7
|
+
"description": "Airports from the National Civil Aviation Authority (ANAC). Wilaya-level only (no commune linkage).",
|
|
8
|
+
"conditionsOfAccess": "Factual public listing (ANAC)",
|
|
9
|
+
"isAccessibleForFree": true,
|
|
10
|
+
"creator": {
|
|
11
|
+
"@type": "Organization",
|
|
12
|
+
"name": "Yasser's Studio",
|
|
13
|
+
"url": "https://yasser.studio"
|
|
14
|
+
},
|
|
15
|
+
"spatialCoverage": {
|
|
16
|
+
"@type": "Place",
|
|
17
|
+
"name": "Algeria",
|
|
18
|
+
"geo": {
|
|
19
|
+
"@type": "GeoShape",
|
|
20
|
+
"box": "19.563939 -8.165434 36.824416 9.63789"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"variableMeasured": "33 records, 31 wilayas",
|
|
24
|
+
"distribution": [
|
|
25
|
+
{
|
|
26
|
+
"@type": "DataDownload",
|
|
27
|
+
"name": "airports (JSON)",
|
|
28
|
+
"encodingFormat": "application/json",
|
|
29
|
+
"contentUrl": "https://cdn.jsdelivr.net/npm/@geoalgeria/aviation/data/airports.json"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"@type": "DataDownload",
|
|
33
|
+
"name": "airports (CSV)",
|
|
34
|
+
"encodingFormat": "text/csv",
|
|
35
|
+
"contentUrl": "https://cdn.jsdelivr.net/npm/@geoalgeria/aviation/data/csv/airports.csv"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"@type": "DataDownload",
|
|
39
|
+
"name": "airports (GeoJSON)",
|
|
40
|
+
"encodingFormat": "application/geo+json",
|
|
41
|
+
"contentUrl": "https://cdn.jsdelivr.net/npm/@geoalgeria/aviation/data/geojson/airports.geojson"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"dateModified": "2026-06-14",
|
|
45
|
+
"url": "https://geoalgeria.com",
|
|
46
|
+
"sameAs": "https://github.com/yasserstudio/geoalgeria",
|
|
47
|
+
"citation": [
|
|
48
|
+
"ANAC — Autorité Nationale de l'Aviation Civile — Factual public listing (ANAC)"
|
|
49
|
+
]
|
|
50
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geoalgeria/aviation",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Algeria's 33 civil airports — official names, ICAO (OACI) codes, addresses, phones, websites, coordinates, and wilaya linkage. Sourced from ANAC (anac.dz). JSON, CSV, GeoJSON, TypeScript.",
|
|
6
6
|
"main": "index.js",
|
|
@@ -13,7 +13,10 @@
|
|
|
13
13
|
"./data/*": "./data/*"
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
|
+
"dataset-metadata.json",
|
|
16
17
|
"data/**/*.json",
|
|
18
|
+
"data/**/*.csv",
|
|
19
|
+
"data/**/*.geojson",
|
|
17
20
|
"types/",
|
|
18
21
|
"index.js"
|
|
19
22
|
],
|
package/types/index.d.ts
CHANGED
|
@@ -1,44 +1,99 @@
|
|
|
1
|
+
// Type definitions for @geoalgeria/aviation (schema v2).
|
|
2
|
+
// Civil airports of Algeria — the National Civil Aviation Authority (ANAC)
|
|
3
|
+
// listing, geocoded from ANAC's own published coordinates.
|
|
4
|
+
|
|
5
|
+
/** Coordinate provenance, coarse-grained. Detail lives in `geo_method`.
|
|
6
|
+
* `null` when the record has no coordinate at all. */
|
|
7
|
+
export type GeoPrecision = "exact" | "approximate" | null;
|
|
8
|
+
|
|
9
|
+
/** How the coordinate was obtained — always ANAC's own published point. */
|
|
10
|
+
export type GeoMethod = "source_point";
|
|
11
|
+
|
|
12
|
+
/** External identifiers keyed by source system. */
|
|
13
|
+
export interface Refs {
|
|
14
|
+
/** ICAO (OACI) code, duplicated from the top-level `icao` field. */
|
|
15
|
+
icao: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
1
18
|
/** A civil airport, as published by ANAC. */
|
|
2
19
|
export interface Airport {
|
|
3
|
-
/** Stable id — the ICAO code, lowercased (e.g.
|
|
20
|
+
/** Stable id — the ICAO code, lowercased (e.g. "daad"). */
|
|
4
21
|
id: string;
|
|
5
|
-
/** Official airport name in French
|
|
22
|
+
/** Official airport name in French. */
|
|
6
23
|
name: string;
|
|
7
|
-
/**
|
|
8
|
-
icao: string;
|
|
9
|
-
/** IATA code — not published by ANAC; always `null` (reserved for later enrichment). */
|
|
10
|
-
iata: string | null;
|
|
11
|
-
/** Postal address as listed by ANAC, or `null` if none is given. */
|
|
12
|
-
address: string | null;
|
|
13
|
-
/** Contact phone, or `null` if none is given. */
|
|
14
|
-
phone: string | null;
|
|
15
|
-
/** Official website URL, or `null` if none is given. */
|
|
16
|
-
website: string | null;
|
|
17
|
-
/** Wilaya code, zero-padded to 2 digits (`"01"`–`"69"`). Joins `geoalgeria` wilayas. */
|
|
24
|
+
/** Wilaya code, zero-padded 2-digit string ("01".."69"). */
|
|
18
25
|
wilaya_code: string;
|
|
19
|
-
/**
|
|
26
|
+
/** Always null — this dataset is wilaya-level only, no commune linkage. */
|
|
27
|
+
commune_code: null;
|
|
28
|
+
/** Always null — see `commune_code`. */
|
|
29
|
+
commune: null;
|
|
30
|
+
/** Latitude (WGS84). Every airport carries ANAC's own published point. */
|
|
20
31
|
lat: number;
|
|
21
32
|
/** Longitude (WGS84). */
|
|
22
33
|
lng: number;
|
|
23
|
-
/**
|
|
24
|
-
|
|
34
|
+
/** Always "exact": every point comes straight from ANAC, not a fallback. */
|
|
35
|
+
geo_precision: "exact";
|
|
36
|
+
/** Always "source_point" — see `geo_precision`. */
|
|
37
|
+
geo_method: GeoMethod;
|
|
38
|
+
/** Provenance key into `metadata.sources[]` — always "anac". */
|
|
39
|
+
source: "anac";
|
|
40
|
+
/** External identifiers: the ICAO code. */
|
|
41
|
+
refs: Refs;
|
|
42
|
+
/** ICAO (OACI) code — matches /^DA[A-Z]{2}$/ (e.g. "DAAD"). */
|
|
43
|
+
icao: string;
|
|
44
|
+
/** IATA code — not published by ANAC; always null today. Typed as
|
|
45
|
+
* `string | null` so a future populated value is not a breaking change. */
|
|
46
|
+
iata: string | null;
|
|
47
|
+
/** Postal address as listed by ANAC. */
|
|
48
|
+
address: string;
|
|
49
|
+
/** Contact phone, or null if none is given. */
|
|
50
|
+
phone: string | null;
|
|
51
|
+
/** Official website URL. */
|
|
52
|
+
website: string;
|
|
25
53
|
}
|
|
26
54
|
|
|
27
|
-
/**
|
|
28
|
-
export interface
|
|
29
|
-
|
|
30
|
-
|
|
55
|
+
/** One provenance entry in `metadata.sources[]`. */
|
|
56
|
+
export interface SourceRef {
|
|
57
|
+
key: string;
|
|
58
|
+
name: string;
|
|
59
|
+
url?: string;
|
|
31
60
|
license: string;
|
|
32
|
-
|
|
61
|
+
retrieved?: string;
|
|
62
|
+
evidence_type?: "official" | "crowdsourced" | "derived";
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Dataset metadata (data/metadata.json). */
|
|
66
|
+
export interface Metadata {
|
|
67
|
+
package: "@geoalgeria/aviation";
|
|
68
|
+
schema_version: string;
|
|
69
|
+
title_fr: string;
|
|
70
|
+
title_ar: string;
|
|
71
|
+
title_en: string;
|
|
72
|
+
record_count: number;
|
|
73
|
+
/** Records with coordinates — equal to `record_count`: ANAC publishes a
|
|
74
|
+
* point for every airport. */
|
|
75
|
+
geocoded_count: number;
|
|
76
|
+
geocoded_pct: number;
|
|
77
|
+
precision: { exact: number; approximate: number };
|
|
78
|
+
estimated_universe: number | null;
|
|
79
|
+
coverage_pct: number | null;
|
|
80
|
+
coverage_note: string;
|
|
33
81
|
wilayas_covered: number;
|
|
34
|
-
|
|
82
|
+
/** `[minLng, minLat, maxLng, maxLat]`. */
|
|
83
|
+
bbox: [number, number, number, number] | null;
|
|
84
|
+
sources: SourceRef[];
|
|
85
|
+
license: string;
|
|
86
|
+
/** ISO date (YYYY-MM-DD) the dataset was regenerated. */
|
|
87
|
+
updated: string;
|
|
88
|
+
/** Airports with a published IATA code — currently 0 (ANAC does not publish them). */
|
|
89
|
+
with_iata: number;
|
|
35
90
|
}
|
|
36
91
|
|
|
37
92
|
/** All civil airports (33). */
|
|
38
93
|
export function airports(): Airport[];
|
|
39
|
-
/** One airport by ICAO code (case-insensitive), or
|
|
94
|
+
/** One airport by ICAO code (case-insensitive), or null if none matches. */
|
|
40
95
|
export function airportByIcao(code: string): Airport | null;
|
|
41
|
-
/** Airports in a wilaya — accepts
|
|
96
|
+
/** Airports in a wilaya — accepts "16", 16, or "01". */
|
|
42
97
|
export function airportsByWilaya(code: string | number): Airport[];
|
|
43
98
|
/** Dataset metadata (counts, source, generated_at). */
|
|
44
99
|
export function metadata(): Metadata;
|