Google Earth Pro 导入KML Shapefile CSV失败排查
文件根本打不开(Pro 没反应或报错)
检查扩展名:
- KML 必须是
.kml(纯 XML)或.kmz(zip 压缩包) - Shapefile 必须有配套的
.shx和.dbf文件,且三个文件同名、同目录 - CSV 必须是
.csv(不要是 Excel 的.xls或.xlsx,先另存为 CSV)
检查 KML 的 XML 有效性:
- 用记事本或 VS Code 打开
.kml文件 - 第一行应该是
<?xml version="1.0" encoding="UTF-8"?> - 如果第一行不是、或者文件里有乱码字符,说明文件本身有问题
中文全是乱码
打开导入的 KML 后,地标名称、属性文字全是 æµÂç» 这样的乱码——这是编码问题。
KML/CSV 文件必须是 UTF-8 编码:
- 记事本打开文件 → 文件 → 另存为 → 下方编码选「UTF-8」→ 保存
- 如果原文件是 GBK(Windows 中文默认),用记事本另存为 UTF-8 后再导入
Shapefile 中的中文:
.dbf文件默认用 GBK 编码,但 Google Earth Pro 可能按 UTF-8 读- Pro 7.3+ 在导入 Shapefile 时有一个「字符编码」下拉菜单,手动选 GBK 试试
- 或者用 QGIS 等工具把 Shapefile 另存一份并指定 UTF-8 编码
位置飘到赤道或根本不在正确位置
Shapefile 导入后所有要素飘到地球另一边——这是坐标系问题。
Shapefile 默认使用的坐标系可能不是 WGS84(Google Earth 使用的标准经纬度坐标系),而是某个当地投影(比如 CGCS2000、Web Mercator、U等)。Google Earth 不会自动做坐标转换。
解决方法:
- 确认 Shapefile 的原始坐标系(看
.prj文件里的内容,或用 QGIS 打开看图层 CRS) - 如果不是 WGS84(EPSG:4326),用 QGIS 或 ArcGIS 做投影转换:
- QGIS:右键图层 → 导出 → 保存为 → 选 WGS84 / EPSG:4326
- 转换后的 Shapefile 再导入 Google Earth Pro,位置就对了
KML 的坐标格式:KML 要求的经纬度是 <经度>,<纬度> 顺序(不是 <纬度>,<经度>!)。如果你写反了,所有地标会飘到错误位置。CSV 导入时 Pro 会自动识别哪个是纬度列哪个是经度列,但如果列名不标准可能识别错——手动在导入对话框里确认一下。
要素导入后看不到
- 检查是否被隐藏:左侧位置面板里的文件夹前的复选框是不是取消勾选了
- 双击文件夹里的某个条目,地球会自动飞到该条目的位置
- 缩放级别可能不对:双击条目让 Pro 自动飞到正确的缩放级别
- 3D 多边形可能贴在地形底下(如果地形开启):尝试关闭地形层看看
CSV 导入后只有部分数据
经纬度列不规范:
- 确认 CSV 里有明确的纬度和经度列(十进制度格式)
- 如果用度分秒格式(
39°54'15"N),Pro 可能识别失败——建议用 Excel 先转换成十进制度
字段名问题:
- Pro 对 CSV 表头的识别是灵活的(latitude / lat / 纬度 都算),但如果列名太奇怪可能识别不到
- 建议表头明确写
名称,纬度,经度,海拔这样的标准列名
导入时崩溃
导入大量要素(数万个)的 Shapefile 时 Pro 可能因为内存不足崩溃:
- 先在 GIS 软件(QGIS、ArcGIS)里简化/筛选数据,减少要素数量
- 或把 Shapefile 切分成几个部分分批导入
- 升级 Pro 到最新版本(新版改善了大文件导入的内存管理)
无法导入图片叠加
Pro 支持的叠图图片格式:
- PNG(推荐,透明背景)
- JPG / JPEG
- GIF
- BMP
叠图位置不对:叠图需要你手动拖动四角调整覆盖区域。调整时可以参考卫星底图上的明显地标(比如海岸线、主要道路)来对齐。
叠图太暗或太亮:在叠图属性里调整透明度(0-100%),或用图片编辑软件调整原图的亮度/对比度后再导入。