{"id":13614425,"url":"https://github.com/drizki/geografis","last_synced_at":"2025-04-13T18:33:06.818Z","repository":{"id":60977314,"uuid":"547260182","full_name":"drizki/geografis","owner":"drizki","description":"📍 Modul Node.js yang mengandung data kode wilayah desa/kelurahan, kecamatan, kabupaten/kota, provinsi, kode pos, koordinat, elevasi, dan geometri area seluruh Indonesia. ","archived":false,"fork":false,"pushed_at":"2022-11-26T16:55:18.000Z","size":6798,"stargazers_count":26,"open_issues_count":1,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T21:37:18.592Z","etag":null,"topics":["geojson-data","indonesia-area","indonesia-data-set","json","kode-pos","kode-wilayah","kode-wilayah-indonesia","kodepos","postalcode","wilayah-indonesia","zipcode"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drizki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-07T11:47:05.000Z","updated_at":"2024-10-21T11:12:23.000Z","dependencies_parsed_at":"2023-01-23T17:31:21.290Z","dependency_job_id":null,"html_url":"https://github.com/drizki/geografis","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drizki%2Fgeografis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drizki%2Fgeografis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drizki%2Fgeografis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drizki%2Fgeografis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drizki","download_url":"https://codeload.github.com/drizki/geografis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750073,"owners_count":21155685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geojson-data","indonesia-area","indonesia-data-set","json","kode-pos","kode-wilayah","kode-wilayah-indonesia","kodepos","postalcode","wilayah-indonesia","zipcode"],"created_at":"2024-08-01T20:01:01.382Z","updated_at":"2025-04-13T18:33:03.914Z","avatar_url":"https://github.com/drizki.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Geografis\n\nSebuah modul Node.js yang mengandung data kode wilayah desa/kelurahan, kecamatan, kabupaten/kota, provinsi, kode pos, koordinat, elevasi, dan geometri area seluruh Indonesia. Data yang terdapat dalam repository ini sesuai dengan Peraturan Menteri Dalam Negeri No. 72 Tahun 2019 dan Peraturan Menteri Dalam Negeri No. 146.1-4717 Tahun 2020.\n\n\n[![npm version](https://badge.fury.io/js/geografis.svg?v=1.3.1)](https://badge.fury.io/js/geografis) ![Downloads](https://img.shields.io/npm/dt/geografis.svg) ![License MIT](https://img.shields.io/npm/l/geografis.svg) \n\n## Instalasi\nAnda dapat menggunakan modul ini pada lingkungan Node.js (tidak untuk browser) dengan cara sebagai berikut:\n```bash\nnpm install geografis\n```\nJika Anda menggunakan Yarn:\n```bash\nyarn add geografis\n```\n\n## Struktur Data\nSetiap entri mengandung data yang terdiri atas nama kelurahan/desa, kecamatan, kabupaten/kota, provinsi, latitude, longitude, elevasi, kode pos, geometri (GeoJSON, beberapa tidak tersedia) dan Kode Wilayah. Pustaka ini mengandung 83,449 jumlah entri. Berikut ini adalah contoh keluaran data:\n\n```json\n{\n  \"code\": \"31.71.01.1001\",\n  \"postal\": 10110,\n  \"slug\": \"dki-jakarta/kota-administrasi-jakarta-pusat/gambir/gambir\",\n  \"province\": \"DKI Jakarta\",\n  \"city\": \"Kota Administrasi Jakarta Pusat\",\n  \"district\": \"Gambir\",\n  \"village\": \"Gambir\",\n  \"latitude\": -6.176262870636918,\n  \"longitude\": 106.82932428386471,\n  \"elevation\": 5,\n  \"geometry\": true\n},\n```\n\n|Field|Keterangan|\n|---|---|\n|code|Kode wilayah|\n|postal|Kode pos dari wilayah tersebut|\n|slug|Slug untuk wilayah tersebut|\n|province|Nama Provinsi|\n|city|Nama Kota/Kabupaten|\n|district|Nama Kecamatan|\n|village|Nama Desa/Kelurahan|\n|latitude|Latitude dari wilayah|\n|longitude|Longitude dari wilayah|\n|elevation|Elevasi wilayah dalam meter|\n|geometry|Apakah wilayah memiliki file geometri (poligon)|\n\n## Penggunaan\n\n### ⚙️ Fungsi geografis.dump()\nMendapatkan semua data kelurahan/desa dari database.\nPenggunaan:\n```javascript\nconst geografis = require('geografis');\nconst dump = geografis.dump();\nconsole.log(dump)\n```\n\n\n### ⚙️ Fungsi geografis.search(query, limit, offset)\nMencari kode wilayah, kode pos, nama desa/kelurahan, kecamatan, dan kota menggunakan [elasticlunr.js](https://github.com/weixsong/elasticlunr.js) (sedikit berat).\nPenggunaan:\n```javascript\nconst geografis = require('geografis');\nconst query = \"ciumbuleuit bandung\"\nconst search = geografis.search(query, 10, 0);\nconsole.log(search)\n```\nContoh keluaran:\n```json\n{\n  \"count\": 1,\n  \"limit\": 10,\n  \"offset\": 0,\n  \"data\": [\n    {\n      \"code\": \"31.71.01.1001\",\n      \"postal\": 10110,\n      \"slug\": \"dki-jakarta/kota-administrasi-jakarta-pusat/gambir/gambir\",\n      \"province\": \"DKI Jakarta\",\n      \"city\": \"Kota Administrasi Jakarta Pusat\",\n      \"district\": \"Gambir\",\n      \"village\": \"Gambir\",\n      \"latitude\": -6.176262870636918,\n      \"longitude\": 106.82932428386471,\n      \"elevation\": 5,\n      \"geometry\": true\n    }\n  ]\n}\n```\n\n\n### ⚙️ Fungsi geografis.getProvinces()\nMendapatkan list nama-nama provinsi.\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst provinces = geografis.getProvinces();\nconsole.log(provinces)\n```\n\n\n### ⚙️ Fungsi geografis.getProvince(code)\nMendapatkan detil provinsi berdasarkan kode wilayah (parameter code).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst province = geografis.getProvince('32');\nconsole.log(provinces)\n```\n\n\n### ⚙️ Fungsi geografis.getProvinceBySlug(slug)\nMendapatkan detil provinsi berdasarkan slug (parameter slug).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst province = geografis.getProvinceBySlug('dki-jakarta');\nconsole.log(provinces)\n```\n\n\n### ⚙️ Fungsi geografis.getCity(code)\nMendapatkan detil kota/kabupaten berdasarkan kode wilayah (parameter code).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst city = geografis.getCity('31.71');\nconsole.log(city)\n```\n\n\n### ⚙️ Fungsi geografis.getCityBySlug(slug)\nMendapatkan detil provinsi berdasarkan slug (parameter slug).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst city = geografis.getCityBySlug('jawa-barat/kota-bandung');\nconsole.log(city)\n```\n\n### ⚙️ Fungsi geografis.getDistrict(code)\nMendapatkan detil kecamatan berdasarkan kode wilayah (parameter code).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst district = geografis.getDistrict('31.71.01');\nconsole.log(district)\n```\n\n\n### ⚙️ Fungsi geografis.getDistrictBySlug(slug)\nMendapatkan detil kecamatan berdasarkan slug (parameter slug).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst district = geografis.getDistrictBySlug('jawa-barat/kota-bandung/coblong');\nconsole.log(district)\n```\n\n\n### ⚙️ Fungsi geografis.getVillage(code)\nMendapatkan detil desa/kelurahan berdasarkan kode wilayah (parameter code).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst village = geografis.getVillage('31.71.01.1001');\nconsole.log(village)\n```\n\n\n### ⚙️ Fungsi geografis.getVillageBySlug(slug)\nMendapatkan detil desa/kelurahan berdasarkan slug (parameter slug).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst village = geografis.getVillageBySlug('jawa-barat/kota-bandung/cidadap/hegarmanah');\nconsole.log(village)\n```\n\n\n### ⚙️ Fungsi geografis.getVillageByPostalCode(postalCode)\nMendapatkan detil desa/kelurahan berdasarkan slug (parameter postalCode).\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst village = geografis.getVillageByPostalCode(40142);\nconsole.log(village)\n```\n\n\n### ⚙️ Fungsi geografis.getNearest(latitude, longitude)\nMendapatkan desa/kelurahan terdekat (parameter latitude, longitude). Berguna untuk mendeteksi area.\nPenggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst village = geografis.getNearest(-6.8822007,107.6142733);\nconsole.log(village)\n```\n\n\n### ⚙️ Fungsi geografis.getGeometry(code)\nUntuk menggunakan fungsi ini, Anda harus mengunduh data geojson yang terdapat di [repository ini](https://github.com/drizki/geografis-data). Simpan di dalam direktori: project_anda / data / geojson. Penggunaan:\n```javascript\nconst geografis = require('geografis'); \nconst json = geografis.getGeometry('32.73.08.1002');\nconsole.log(json)\n```\n\n\n## Test\nUnduh modul ini dan jalankan:\n```bash\nyarn test\n```\n\n## Berkontribusi\nGunakan fitur Issues jika ada masalah, ada pertanyaan, atau kirimkan Pull Request jika ingin berkontribusi. Anda juga dapat mentranslasikan pustaka kode ini ke bahasa pemrograman yang lain.\n\n## Lisensi\nSUMBER KODE YANG TERDAPAT DALAM REPOSITORY INI BERLISENSI [MIT](https://opensource.org/licenses/MIT), TIDAK TERDAPAT JAMINAN DARI PEMBUAT KODE UNTUK MEMASTIKAN KEAKURATAN, KUALITAS, DAN KETERSEDIAAN. DIMOHON TIDAK MEMPERJUALBELIKAN DATA YANG TERDAPAT DALAM REPOSITORY INI UNTUK KEPENTINGAN PRIBADI DAN GUNAKANLAH DENGAN BIJAK.\n\nSumber kode dibuat untuk pembelajaran karena sulitnya memperoleh informasi area yang komprehensif serta akurat di Indonesia yang terbuka dan bebas digunakan.\n\n\n### Sumber\nData diperoleh dan telah diproses secara otomatis dan manual dari berbagai sumber.\n1. [Wilayah](https://github.com/cahyadsn/wilayah)\n2. [Kebijakan Satu Peta](https://satupeta.go.id)\n3. [Open Elevation](https://open-elevation.com)\n4. [OSM](https://www.openstreetmap.org)\n5. [Nomor](https://nomor.net)\n\n\nStar repository ini jika bermanfaat ya ges ya 🇮🇩","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrizki%2Fgeografis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrizki%2Fgeografis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrizki%2Fgeografis/lists"}