工参表、路测数据、网点清单、客户地址------这些数据的共性是都带经纬度,而且动辄几千上万行。
但在表格里你看不出任何空间关系。想知道"这批点落在地图上是什么形状",得走一遍:另存 CSV → 打开奥维 → 找导入 → 选字段 → 看一眼 → 回去改一个数 → 再来一遍。
我做 TableGIS(WPS / Excel 双平台插件)就是想把这个循环压短:选中区域,点一下,图上出点。
这篇文章讲三件事:
- 87 项功能怎么用「功能市场」组织起来,而不是一股脑塞进工具栏
- 奥维 / Google Earth / QGIS 三种跳转各自适合什么场景,参数怎么配
- 几个必然踩到的坑:坐标系、列名识别、本地端口
一、功能市场:为什么不是"装完就全给你"
最早我是把所有按钮直接铺在功能区上的。到 40 多个功能的时候,功能区已经没法看了------找"海拔查询"要横着扫三遍。
后来改成市场制,逻辑很简单:插件本体只带运行框架,功能按需从市场添加。

界面就四个东西:
- 分类 tab:全部 / 表格基础 / 通信行业 / GIS / 插件
- 搜索框:按功能名和描述搜
- 排序:默认 / 名称 / 使用次数 / 更新时间
- 添加 / 移除:右侧按钮,加了就到「我的」
「使用次数」这个排序是全局统计的,不是本地计数。所以它其实反映的是所有用户里哪些功能真的被用------比我自己拍脑袋排序靠谱。写文章这会儿排前面的是批量 KML、海拔查询、奥维标注点、距离/方位角、KML 临时打开。
顶部还有个「最近 30 天上新 · 更新」的角标,点开能看到这批更新了什么。功能是服务端推的,装了新版功能不用重装插件。
「我的」:24 个槽位 + 分组

添加的功能落到「我的」选项卡,一页 24 个图标位。三个操作:
| 操作 | 手势 | 结果 |
|---|---|---|
| 调顺序 | 拖到空位 | 重新排列 |
| 建分组 | 拖到另一个功能图标上 | 两个功能合成一组,最多 8 个成员 |
| 移除 / 改名 | 悬停右上角 ✕ / ✎ | 移除或重命名(分组名最多 16 字) |
分组在功能区上是一个下拉:点组图标展开,里面是成员。像"奥维跳转"这种点、扇形、圆形、设置、清除五个功能,塞一个分组里就占一格。
运行要在选项卡上点图标,市场页里点只是看详情。
二、奥维跳转:工程场景用得最多的那个
三个地图里,奥维是唯一"能把工参直接看明白"的------它能画扇形、画覆盖圆,而且支持自定义图标。
前提:本机装了奥维互动地图客户端。
2.1 三种标注形态
| 功能 | 需要的列 | 默认参数 |
|---|---|---|
| 奥维标注点 | 经度、纬度(可选名称) | 图标「箭头」,可换图标库、可改颜色 |
| 奥维标注扇形 | 经度、纬度、方位角 | 波瓣宽度 30°、长度 100 米 |
| 奥维标注圆形 | 经度、纬度(可选半径列) | 半径 50 米 |
列名是自动识别的:经度 / Lng / Lon / X、纬度 / Lat / Y、方位角 / Azimuth / AZ、半径 / 覆盖距离。放在哪一列都行,顺序不要求。
圆形那个有个细节:如果表里有「半径」或「覆盖距离」列,会按行取各自的值,不再用统一的 50 米。工参表里站型不同、覆盖半径不同的场景,这一列直接吃进去就行。
扇形用大圆算法算弧线顶点,长度是米,方位角是正北顺时针 0-360。
2.2 坐标类型必须先设对
这是最容易出问题的地方。
奥维客户端内部按 GCJ02(火星坐标) 显示,而工参、GPS 设备、Google Earth 用的是 WGS84。同一个点,两套坐标差几百米。
设置里有个「坐标类型」,默认 WGS84 (GPS)------意思是"我表格里的是 WGS84,你跳转时帮我转成 GCJ02"。转换在插件内部完成,用的是标准的 WGS84↔GCJ02 偏移算法。
如果你的表本来就是从高德导出的(GCJ02),就得把这里改成 GCJ02,否则会被反向偏移两次,点位会飘。
判断方法:随便挑一个点,在高德地图上搜一下,对得上就是 GCJ02,对不上就是 WGS84。

2.3 「点-可收藏」:批量进收藏夹,不用 VIP
前面三种标注都是加到临时图层里,关掉奥维就没了。适合"看一眼"。
如果要把点位长期留着,用「点-可收藏」:
选中区域 → 一键导入奥维收藏夹。上限 2000 点/次。
导入完成后有个结果文件,插件读回来告诉你成功多少条。
表头识别规则和上面一样,另外还支持单列格式:一格写 116.3975,39.9087,北京站(逗号、中文逗号、分号、Tab 都行)。
2.4 清除标记
临时图层里的东西多了会挡视线。侧边栏的「清除标记」一次性清掉 TableGIS 加的全部临时对象------只动自己加的,不碰你原有的收藏和标注。
三、Google Earth:只要看一眼形状
奥维适合工程标注,Google Earth 适合看地形和相对位置。
「KML 临时打开」:选中经纬度区域 → 生成一个临时 KML → 交给系统默认程序打开。
KML 是 OGC 标准,Google Earth、QGIS、ArcGIS、奥维都能读。所以这个功能实际上不绑定 Google Earth------关联了 KML 的程序都能接。
和「批量 KML」的区别:
| KML 临时打开 | 批量 KML | |
|---|---|---|
| 输入 | 当前选区 | CSV / Excel 文件 |
| 输出 | 临时文件,打开即看 | 按信号强度区间着色的覆盖圆图层 |
| 场景 | 快速核对坐标对不对 | 出交付图层 |
批量 KML 内置 4 套配色模板,也能自定义区间和半径。
四、QGIS:要进 GIS 流程的时候
QGIS 直接能使用
点会作为临时图层出现在 QGIS 工程里,能继续做缓冲区、叠加、出图。
设置里还有两项:
- 自定义 SVG 图标:填一个 SVG 路径,标注就用你的图标(不填用插件默认)
- 跳转前自动清除:避免图层越堆越多
为什么用 HTTP 而不是直接调 QGIS 的 Python?因为 WPS 的 JS 沙箱跑不了 Python,也不想往 QGIS 装一堆东西。HTTP 是最轻的边界------QGIS 那边只需要一个本地服务。
五、其他常用功能
87 项里,除了地图,日常打开频率比较高的是这几类:
坐标与解析
- GPS / 百度 / 高德 三套坐标系互转(6 个转换功能)
- 十进制 ↔ 度分秒
- 地址 ↔ 经纬度批量互转(高德 / 百度双源,统一输出 WGS84)
- 海拔批量查询(SRTM 90m)
表格清洗
- 提取唯一值、删除空白(前/后/全部/仅中间)、文本转数字
- 多 sheet 合并、两列对比、按列拆分
- 身份证解析、手机号校验脱敏、正则提取、日期格式统一、金额大写
公式
=tablegis.DIS(经度1,纬度1,经度2,纬度2)→ 距离(米)=tablegis.AZ(...)→ 方位角(0-360°)
公式这个比点按钮好用:算完是活的,源数据改了结果跟着变,不用重跑。
文件与图片
- 批量重命名(支持撤销)、文件清单导出
- PDF 合并 / 拆分、图片转 PDF
- 图片批处理、图片压到指定体积、二维码/条形码生成与识别(离线)
六、踩坑清单
写下来省得别人再踩一遍。
1. 点位整体偏移几百米
坐标类型设错了。表格是 WGS84 就选 WGS84,是高德导出的就选 GCJ02。
2. 提示"无法识别经纬度列"
列名不在识别表里。把列名改成 经度 / 纬度,或者直接选中数据区(不带表头)------不带表头时按"第一列经度、第二列纬度"处理。
3. 表头有合并单元格
合并单元格会让 Value2 读出 null,整行被跳过。先取消合并。
4. 奥维连不上
默认连 127.0.0.1:51171,密码 tablegis。奥维客户端要先启动,且"允许外部程序控制"要打开。设置页有「测试连接」,先点这个。
5. QGIS 没反应
tablegis_jump 插件没启动,或者 19871 端口被占。浏览器打开 http://127.0.0.1:19871 看有没有响应。
6. 几千行直接全选就跑
先用 10 行验证参数对不对(尤其是半径、方位角列有没有识别对),再跑全量。错一次重来比重试十次便宜。
获取
WPS 和 Excel 两个版本,功能一致,安装包约 5MB。前 30 天免费试用,试用期不需要授权码。
地理数据处理这块,最大的成本从来不是算,是"看一眼"。把这一步压到一次点击,剩下的时间才是在干活。