Glittering's blog Glittering's blog
Home
  • 学习手册

    • 《TypeScript教程》
    • 《Git》
    • 《Vite》
    • 《Vue3》
    • 《React18》
    • 《CSS》
    • 《Tailwind CSS》
  • 技术文档
  • 算法
  • 工作总结
  • 实用技巧
  • collect
About
  • Classification
  • Label
GitHub (opens new window)

Glitz Ma

前端开发工程师
Home
  • 学习手册

    • 《TypeScript教程》
    • 《Git》
    • 《Vite》
    • 《Vue3》
    • 《React18》
    • 《CSS》
    • 《Tailwind CSS》
  • 技术文档
  • 算法
  • 工作总结
  • 实用技巧
  • collect
About
  • Classification
  • Label
GitHub (opens new window)
  • 技术文档

  • 算法

  • 工作总结

    • 时区校正
    • 上传下载文件方式总结
    • web异常监控和分析
    • 前端优化指南
    • http缓存机制
    • 静态资源灰度发布
    • 浏览器原理及渲染机制
    • Chrome DevTools 渲染分析实战
    • Layout Thrashing(布局抖动)
    • Composite Layer(合成层)
    • 全局设置滚动条样式好吗?
    • 虚拟列表如何避免Layout和Paint
    • 前端安全知识
    • 安全(同源策略 / CSP / CORS)
    • 浏览器安全模型
    • 从chrome v8 讲安全
    • WebAssembly(Wasm)
    • XSS → JIT → 沙箱逃逸
    • 微前端总结
    • websocket聊天
    • Uni-app基础知识
    • react16高级特性
    • react16基础知识总结
    • vue2常见原理总结
    • vue2基础知识总结
    • webpack优化实践
    • webpack基础应用知识总结
    • Agent Skills是什么?跟MCP Workflow Command Prompt的关系。
    • 从cnn到transformer全解大模型
    • 什么是 Encoder 和 Decoder 结构
    • GPT 为什么能“看懂”问题
    • GPT 是怎么学会数学的
    • GIS 基础三件套
      • 一、地理信息系统基础:GIS 是什么
      • 二、坐标系统(最重要)
        • WGS84
      • 三、为什么需要“坐标投影”
      • 四、常见投影:Web Mercator
        • Web Mercator
      • 五、中国地图为什么不一样
      • 六、空间关系(Spatial Relationship)
        • 1 相交
        • 2 包含
        • 3 距离
        • 4 最近点
      • 七、GIS 数据类型
        • 1 矢量数据(Vector)
        • 2 栅格数据(Raster)
      • 八、互联网地图渲染原理
      • 九、前端 GIS 技术栈
      • 十、你懂 GIS 原理吗?
    • GIS必会知识点
    • 100 万点地图怎么渲染?
    • GIS空间索引的实现
    • Cesium 从入门到精通:实战指南
    • OpenLayers 从零到精通:2025-2026实战指南
    • Mapbox GL JS 从零到精通:2025-2026实战指南
    • Cesium、OpenLayers 和 Mapbox GL JS 的关系、区别
    • 容器领域必学的黄金组合
    • 小程序笔记
    • 小程序工程模板设计
    • 地图标绘--射线法来计算点在多边形内
  • 实用技巧

  • 收藏夹

  • 技术
  • 工作总结
mamingjuan
2026-03-06
目录

GIS 基础三件套

# 一、地理信息系统基础:GIS 是什么

GIS(Geographic Information System) 本质是:

用计算机处理“带有空间位置的数据”。

普通数据:

用户ID  年龄  性别
1

GIS 数据:

经度  纬度  人口  温度
1

例如:

116.397, 39.908 → 北京
1

所以 GIS 数据 =

空间位置 + 属性数据
1

例如:

经度 纬度 城市 人口
116.39 39.90 北京 2100万

# 二、坐标系统(最重要)

地图必须知道:

地球上的一个点在哪里
1

最常见是 经纬度坐标:

经度:东西
纬度:南北
1
2

例如北京:

116.397°E
39.908°N
1
2

这个坐标系统叫:

# WGS84

GPS 用的就是这个。

很多地图都用它,例如:

  • GPS
  • Google Map

# 三、为什么需要“坐标投影”

问题来了:

地球是球体 屏幕是平面

必须把 球 → 平面

这就叫:

坐标投影(Projection)
1

就像:

橙子皮 → 摊平
1

一定会产生 变形。


# 四、常见投影:Web Mercator

互联网地图基本用:

# Web Mercator

很多地图用它:

  • Google Maps
  • OpenLayers
  • Leaflet
  • Mapbox

坐标叫:

EPSG:3857
1

特点:

单位不是经纬度
而是 米
1
2

例如:

经纬度
116.397,39.908
1
2

转换后:

12958000, 4850000
1

这就是:

WGS84 → WebMercator
1

# 五、中国地图为什么不一样

中国地图有坐标加密。

常见三种:

坐标系 用在哪
WGS84 GPS
GCJ02 高德 / 腾讯
BD09 百度

例如:

北京

WGS84
116.397 39.908

GCJ02
116.403 39.915
1
2
3
4
5

所以开发经常需要:

坐标转换
1

# 六、空间关系(Spatial Relationship)

GIS 的核心能力其实是:

判断空间对象之间的关系

例如:

# 1 相交

两个图形是否交叉

A ∩ B
1

例如:

一个区域
是否覆盖某个城市
1
2

# 2 包含

A 包含 B
1

例如:

一个点是否在区域内
1

这叫:

Point In Polygon
1

# 3 距离

两个点之间距离
1

例如:

配送距离
1

公式:

Haversine
1

# 4 最近点

例如:

找最近的充电站
1

# 七、GIS 数据类型

GIS 有两种数据:

# 1 矢量数据(Vector)

点:

城市
1

线:

道路
1

面:

行政区
1

格式:

GeoJSON
1

示例:

{
 "type":"Point",
 "coordinates":[116.397,39.908]
}
1
2
3
4

# 2 栅格数据(Raster)

其实就是:

图片
1

例如:

卫星图
1

地图瓦片:

256x256
1

# 八、互联网地图渲染原理

地图其实是:

很多瓦片拼起来
1

例如:

Zoom 10
1

会加载很多:

256x256 图片
1

例如:

/tile/10/532/342.png
1

# 九、前端 GIS 技术栈

常见:

地图:

  • Mapbox GL JS
  • OpenLayers
  • Leaflet

可视化:

  • deck.gl
  • ECharts

# 十、你懂 GIS 原理吗?

标准回答:

GIS 的核心是处理带空间坐标的数据。 基础包括三个部分:

第一是坐标系统,比如 GPS 使用 WGS84。

第二是坐标投影,因为地球是球体,地图是平面,所以需要投影,互联网地图通常使用 Web Mercator(EPSG:3857)。

第三是空间关系,例如点是否在多边形内、两个图形是否相交、距离计算等。

在前端开发中,我们通常会处理 GeoJSON 数据,通过 Mapbox 或 OpenLayers 做渲染,同时需要做坐标转换,比如 WGS84、GCJ02 之间转换。

上次更新: 2026/03/06, 03:23:20
GPT 是怎么学会数学的
GIS必会知识点

← GPT 是怎么学会数学的 GIS必会知识点→

Copyright © 2015-2026 Glitz Ma
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式