如何在Navicat Premium中把PostgreSQL表导出为GeoJSON格式?

冬宇酱_4718

冬宇酱_4718

2026-11-10

645人浏览

原创

Navicat Premium 不支持直接导出 PostgreSQL 表为 GeoJSON;必须在查询编辑器中用 SQL 调用 ST_AsGeoJSON() 等 PostGIS 函数生成标准 FeatureCollection,再以 Text 格式导出并手动清理标题行,确保开头为 {"type":"FeatureCollection",...}。

如何在navicat premium中把postgresql表导出为geojson格式?

Navicat Premium 本身不支持直接将 PostgreSQL 表导出为 GeoJSON 格式——它没有「导出为 GeoJSON」菜单项,也不会自动识别 geometry 或 geography 字段并做空间坐标序列化。你看到的导出选项里只有 JSON、CSV、Excel 等通用格式,选了也没用。

为什么 Navicat 导出不了真正的 GeoJSON?

GeoJSON 是一种有严格结构规范的空间数据交换格式(必须含 type、features、geometry、properties),而 Navicat 的「导出向导 → JSON」只做扁平化行转对象,完全忽略 PostGIS 的空间函数和坐标系元信息。即使表里有 ST_AsGeoJSON(geom) 字段,导出时也只当普通文本处理,不保证外层包裹 {"type":"FeatureCollection","features":[...]} 结构,更不会补 crs 或 bbox。

  • Navicat 不调用 ST_AsGeoJSON()、ST_Transform() 等 PostGIS 函数,导出逻辑绕过空间引擎
  • 导出结果若含 WKB 字段(如 \x0101000020E6100000...),会原样输出为乱码字符串,根本不可解析
  • 即使手动 SELECT 出 ST_AsGeoJSON(geom),Navicat 也不合并多行结果为合法 FeatureCollection,每行仍是独立 JSON 字符串

必须用 SQL 查询生成合法 GeoJSON

真正可行的方式是:在 Navicat 的查询编辑器中写 SQL,让 PostgreSQL 自己组装标准 GeoJSON,再把结果导出为纯文本文件(后缀改为 .geojson)。

Expanso yaml-to-json
Expanso yaml-to-json

使用 Expanso Edge 管道将 YAML 输入转换为 JSON 格式。

下载
  • 基础模板(单表、WGS84):
    SELECT jsonb_build_object(
      'type', 'FeatureCollection',
      'features', jsonb_agg(features.feature)
    ) FROM (
      SELECT jsonb_build_object(
        'type', 'Feature',
        'id', id,
        'geometry', ST_AsGeoJSON(geom)::jsonb,
        'properties', to_jsonb(row) - 'id' - 'geom'
      ) AS feature
      FROM (
        SELECT id, geom, name, area
        FROM public.places
      ) row
    ) features;
  • 需要重投影(如转 Web Mercator):ST_AsGeoJSON(ST_Transform(geom, 3857))
  • 字段太多不想手动列?用 to_jsonb(t) - 'geom' 动态排除空间列,但注意:PostgreSQL 14+ 才支持 - 操作符删 key;旧版本需显式写 jsonb_build_object('name', name, 'area', area)
  • 导出前务必执行 SET client_encoding = 'UTF8';,否则中文属性值会变 \uXXXX 或乱码

导出后还要手动处理的三个关键点

Navicat 导出的文本默认带列标题、行号、分隔线,不是纯 JSON。你得清理才能被 QGIS、Leaflet 正确加载。

  • 在「导出向导」中:格式选 Text(不是 JSON),勾选「导出查询结果」,取消「导出表结构」和「导出列名」
  • 导出文件打开后,删除第一行(通常是 jsonb_build_object)和空行,确保开头就是 {"type":"FeatureCollection",...
  • 若数据量大(>10 万要素),Navicat 可能内存溢出或卡死——改用 COPY (上述查询) TO '/path/out.geojson' WITH (FORMAT text); 命令行方式更稳

最易被忽略的是坐标系声明:GeoJSON 规范已弃用 crs 字段,但部分老工具(如早期 Leaflet 插件)仍依赖它。如果目标系统要求显式 CRS,你得在 jsonb_build_object() 里手动加 'crs', jsonb_build_object('type', 'name', 'properties', jsonb_build_object('name', 'EPSG:4326')),但这属于非标扩展,现代系统通常默认 WGS84。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

js json navicat

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
postgresql常用命令
postgresql常用命令

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、\l、\c、\dt、\d table_name、\du、\i file_name、\e和\q等。本专题为大家提供postgresql相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.10

233

5

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.02

4889

19

postgresql常用命令有哪些
postgresql常用命令有哪些

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、\l、\c、\dt、\d table_name、\du、\i file_name、\e和\q等。更详细的postgresql常用命令,大家可以访问下面的文章。

2023.11.16

647

3

postgresql常用命令介绍
postgresql常用命令介绍

postgresql常用命令有\l、\d、\d5、\di、\ds、\dv、\df、\dn、\db、\dg、\dp、\c、\pset、show search_path、ALTER TABLE、INSERT INTO、UPDATE、DELETE FROM、SELECT等。想了解更多postgresql的相关内容,可以阅读本专题下面的文章。

2023.11.20

1396

6

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

2026.02.12

500

19

PostgreSQL 性能优化与查询执行计划实战
PostgreSQL 性能优化与查询执行计划实战

本专题深入解析PostgreSQL性能优化核心,聚焦查询执行计划的实战应用。通过EXPLAIN命令精准定位瓶颈,结合索引策略、SQL改写与参数调优,系统提升查询效率。从执行计划解读到性能调优全流程,助你掌握数据库性能诊断与优化实战能力。

2026.05.08

170

10

PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践
PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践

本文详解如何利用Next.js(搭配Drizzle ORM)与Go后端构建高性能应用,充分发挥PG在JSONB非结构化存储与pgvector向量检索上的优势。从数据建模到Docker容器化部署,打造支持AI时代的“One Database”工程化解决方案。

2026.05.08

901

10

PostgreSQL高级特性、内核机制与现代数据架构
PostgreSQL高级特性、内核机制与现代数据架构

本专题从MVCC并发控制与WAL日志等内核机制出发,详解JSONB、PostGIS及pgvector等高级特性。探讨如何利用单一引擎支撑关系型、向量及图数据等现代数据架构需求,助您掌握构建高并发、智能化应用的核心技术。

2026.05.08

244

10

常用的mysql管理工具
常用的mysql管理工具

常用的mysql管理工具有:1、MySQL Workbench、phpMyAdmin、MySQL Shell、Navicat、DBeaver和DataGrip。更多关于mysql管理工具的问题,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

2023.11.03

6550

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 21.3万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 4.9万人学习