five

Peta Pixel Nusantara - Peta Indonesia 8bit

收藏
github2026-07-04 更新2026-07-06 收录
下载链接:
https://github.com/RamaAditya49/peta-pixel-nusantara
下载链接
链接失效反馈
官方服务:
资源简介:
这是一个印度尼西亚的8位像素地图数据集,包含38个省和519个ADM2区域(县/市)的覆盖范围。数据以网格像素形式呈现,通过canvas最近邻渲染保持清晰、轻量且易于在Web、移动设备、游戏引擎或内部工具中重用。数据集提供开放源代码数据,包括交互式演示,支持离线使用、任意缩放级别的清晰显示,并具有O(1)命中测试的网格索引。

This is an 8-bit pixel map dataset of Indonesia, covering the territorial spans of 38 provinces and 519 ADM2-level regions (counties or cities). The data is presented in grid pixel format, rendered via canvas-based nearest-neighbor scaling to maintain clarity, remaining lightweight and easily reusable across web platforms, mobile devices, game engines, or internal tools. The dataset provides open-source data alongside interactive demos, supports offline use, enables crisp display at arbitrary zoom levels, and features grid indexing with O(1) hit testing.
创建时间:
2026-07-04
原始信息汇总

数据集概述

Peta Pixel Nusantara 是一个将印度尼西亚行政边界光栅化为 8-bit 像素网格的开源数据集,并附带一个基于 Vanilla JavaScript 的交互式演示地图。

核心内容

  • 数据规模:覆盖印度尼西亚 38 个省(Province)和 519 个县/市(Regency/City,即 ADM2 层级)。
  • 数据格式:提供基于 Run-Length Encoding (RLE) 压缩的像素网格,支持 O(1) 时间复杂度命中测试。
  • 可用格式
    • JavaScript 文件data/peta-hd-data.js,通过 window.PETA_HD 全局变量访问。
    • JSON 文件data/peta-hd-data.json,适用于 Node.js 或任意 JSON 解析环境。

主要特点

  • 离线可用:加载文件后无需网络依赖即可工作。
  • 像素级清晰:使用 nearest-neighbor 渲染,在任何缩放级别下保持锐利。
  • 平台可移植:数据可被 Canvas 2D、WebGL、Flutter、React Native Skia、Unity、Godot 等任意支持绘制矩形的平台使用。
  • 无构建步骤:演示页面(index.html)无需任何构建工具、框架或后端即可直接运行。

数据结构关键字段(window.PETA_HD

字段 说明
W, H 像素网格宽度和高度(默认 1600 × 594)
prov[] 省列表,包含名称(n)、边界框、面积、中心点等元数据
kab[] 县/市列表,包含名称、类型(t,如“Kota”)、所属省索引(p
provKab 省到其下属县/市的快速索引映射
provRle, kabRle 经 RLE 压缩的网格数据,值 255(省)/ 65535(县)表示海洋

演示交互功能

  • 悬停:显示区域名称。
  • 点击省:缩放至该省下辖的县/市视图。
  • 拖拽:平移地图。
  • 滚轮/按钮:缩放。
  • Esc 键:逐步返回上一级视图。

数据来源与许可

典型使用场景

  • 构建印度尼西亚的 8-bit 风格像素地图
  • 为社区、活动、人口或覆盖率数据提供聚合可视化
  • 作为无需瓦片服务器的交互式印度尼西亚地图基础层。
  • 用于游戏、仪表盘或登陆页面中的国家/区域地图。
搜集汇总
数据集介绍
main_image_url
构建方式
Peta Pixel Nusantara 数据集以印度尼西亚行政边界为基础,利用开源地理边界数据,通过精心设计的栅格化流程将38个省份和519个县市的矢量边界转换为像素网格。构建过程首先解码TopoJSON格式的坐标环,随后计算共享边界范围,并运用扫描线填充算法将多边形栅格化至统一网格。最终通过游程编码高效压缩网格数据,并生成包含区域元数据、包围盒、质心及面积信息的结构化数据文件,确保空间信息的高度紧凑与可检索性。
特点
该数据集的核心特色在于其像素化的空间表达方式。它将传统矢量地图转化为轻量级像素网格,支持离线使用且在不同缩放级别下保持清晰锐利。独特的游程编码压缩机制使数据和交互响应均达到O(1)时间复杂度的命中测试,极大提升了查询效率。数据集包含完整的省-县层级关系映射,并提供丰富的元数据字段如边界框和质心坐标,适用于从网页、移动端到游戏引擎的多平台渲染,同时保持良好的社区数据隐私保护机制。
使用方法
使用该数据集极为便捷,用户可直接加载预生成的JavaScript或JSON文件进入应用。通过一行代码引入数据后,可借助内置的游程编码解码函数将网格还原为Uint8Array或Uint16Array格式。交互演示支持鼠标悬停展示区域信息、点击省份下钻至县市视图、拖拽平移和滚轮缩放等操作。开发者亦可通过调整网格宽度参数运行栅格化工具重新生成不同分辨率的数据,满足多样化的可视化需求。
背景与挑战
背景概述
Peta Pixel Nusantara(8位像素印尼地图)是由AI俱乐部aiclub.id于近期创建的开源数据集,主要研究人员Rama Aditya主导开发。该数据集旨在将印度尼西亚38个省份及519个市县行政区划边界转化为高分辨率像素网格,解决了传统瓦片地图依赖网络、缺乏视觉趣味且无法离线使用的问题。通过将GeoJSON/TopoJSON边界数据光栅化为运行长度编码的像素矩阵,实现了O(1)复杂度的区域命中检测、无限缩放保持清晰度以及跨平台移植性。这一创新性设计不仅为社区数据可视化提供了轻量级基础地图,更推动了像素艺术风格与地理信息系统在印尼的融合应用,在AI社区、Dashboard和游戏开发领域展现出重要影响力。
当前挑战
该数据集面临多重挑战:首先,印尼行政区划边界数据源(如geoBoundaries)存在名称和官方代码不一致问题,需经标准化处理才能用于政府级系统;其次,光栅化过程中需处理38个省份与519个市县的空间拓扑关系,扫描线填充算法需确保边缘锯齿控制与性能平衡;再者,像素网格分辨率的选择需兼顾地图细节与数据体积,基于扫描线扫描的RLE压缩虽高效,但不同缩放级别的视觉保真度仍需权衡;此外,数据更新需维持生成流程可复现性,每次调整行政区划后需重新运行光栅化脚本、更新元数据并与上游CC-BY-4.0许可兼容的归属标注。
常用场景
经典使用场景
Peta Pixel Nusantara作为一款将印度尼西亚38个省与519个县市行政边界栅格化为8位像素网格的开源地图数据集,其经典使用场景聚焦于轻量级、离线可用的交互式地图渲染。在社区数据仪表盘、地理信息游戏开发、以及移动端或Web端的像素风格可视化应用中,该数据集通过运行长度编码压缩的网格索引,实现了O(1)复杂度的区域命中检测,使得用户无需依赖繁琐的后端瓦片服务器或复杂的几何运算即可完成高效的地图交互。其典型的可视化流程包括将像素网格解码至canvas画布,利用邻近插值保持图像锐利,并通过简单的鼠标坐标映射即可快捷定位任意行政单元。
衍生相关工作
围绕Peta Pixel Nusantara衍生出的相关工作主要包括:其一,基于其网格索引机制开发的交互式地图演示框架,该框架实现了无构建步骤的纯前端交互模式,用户仅需加载JavaScript数据文件即可获得省—县两级切换的点击与缩放体验;其二,工具链中的栅格化管道(tools/rasterize.mjs)被复用于其他地区的行政边界像素化转换,形成可复用的地理数据栅格化模板;其三,社区贡献的方向包括提出官方区域编码映射规范、将像素地图渲染器移植至Skia或React Native等现代UI框架,以及在隐私保护约束下构建聚合可视化范例。这些衍生工作共同丰富了轻量级地理数据表达的技术生态。
数据集最近研究
最新研究方向
随着地理空间可视化与轻量化渲染技术的交叉融合,Peta Pixel Nusantara数据集将印度尼西亚行政边界转化为8-bit像素网格,为低带宽、离线环境下的交互式地图应用开辟了新路径。其前沿价值在于采用运行长度编码压缩网格数据,实现O(1)复杂度的区域命中检测,显著简化了传统GIS中复杂的点面包含算法。该数据集深度契合社区驱动的地图叙事趋势,尤其适用于AI社区成员分布、活动覆盖等聚合数据的视觉呈现,规避了个人隐私暴露风险。通过消除对瓦片服务器的依赖,它赋能了移动端、游戏引擎及内部工具的无缝集成,为像素美学与地理信息的高效融合提供了范式参考。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务