GIS工具箱
格式转换

CSV 坐标数据转 GeoJSON 实用教程

从 CSV 表格到 GeoJSON Point 要素的转换流程,列名自动检测与属性保留。

CSVGeoJSONPoint数据转换

为什么需要 CSV 转 GeoJSON

CSV(逗号分隔值)是最常见的数据交换格式,几乎所有表格软件和数据库都能导出 CSV。然而 CSV 本身没有地理空间结构,它只是平铺的行列数据。要让 CSV 中的坐标数据在地图上显示,需要将其转为 GeoJSON 这种 Web GIS 通用的矢量格式。

转换目标

转换的核心目标是:将 CSV 中的经纬度两列提取出来,转为 GeoJSON 的 Point Feature,同时将其余列作为属性(properties)保留下来。

经纬度列自动检测

不同数据源对经纬度列的命名五花八门。本工具支持自动检测以下常见列名:

经度列

  • 英文:lnglonlongitude
  • 中文:经度
  • 坐标系:x

纬度列

  • 英文:latlatitude
  • 中文:纬度
  • 坐标系:y

工具会按优先级匹配这些列名,无需手动指定。

转换流程

完整转换分为以下几个步骤:

  1. 解析 CSV:读取文件内容,按行拆分,解析表头与数据行。
  2. 检测经纬度列:根据列名自动定位经度列与纬度列。
  3. 逐行生成 Point Feature:将每行的经纬度转为 Point 几何。
  4. 保留属性:将除经纬度外的其余列作为 properties。
  5. 组装 FeatureCollection:将所有 Feature 包装为 FeatureCollection 输出。

CSV 解析注意事项

CSV 看似简单,实际解析时有不少坑:

  • 逗号分隔:默认以逗号分隔列,但部分数据使用分号或制表符。
  • 引号包裹:含逗号或换行的字段需用双引号包裹,解析时要正确处理引号转义。
  • 编码问题:中文 CSV 常带 UTF-8 BOM 头,需识别并去除,否则首列名可能包含隐藏字符。
  • 换行符:Windows 使用 \r\n,Unix 使用 \n,需统一处理,避免产生空行。

输出格式示例

假设 CSV 含有 name,lng,lat 三列,转换后每行对应的 GeoJSON Feature 如下:

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [lng, lat]
  },
  "properties": {
    "name": "..."
  }
}

所有 Feature 最终组装为 FeatureCollection:

{
  "type": "FeatureCollection",
  "features": []
}
提示:务必确认经度在前、纬度在后(`[经度, 纬度]`)。GeoJSON 规范要求 Point 的坐标顺序为 [longitude, latitude],顺序错误会导致点出现在错误位置。

应用场景

  • 地址数据可视化:将含经纬度的地址清单转为地图可读的点位。
  • 采样点分布:环境监测、地质采样等点位数据的地图展示。
  • 设备位置数据:物联网设备、车辆轨迹点的位置导入地图。

如果你需要将 CSV 坐标数据转为 GeoJSON,可以使用我们的 CSV 转 GeoJSON 工具,支持自动检测经纬度列、在线快速转换。

本文涉及的工具

打开工具 →

相关文章