You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用NetTopologySuite与MS SQL Server存储笛卡尔坐标系坐标?

SQL Server 直接存储EPSG 3857笛卡尔坐标方案
  • 首先明确核心误区:SQL Server 中只有geography类型要求使用内置预置的经纬度类SRID,你需要使用的geometry类型完全支持自定义SRID存储米制X/Y笛卡尔坐标,不需要数据库预置对应坐标系的投影参数。
  • 操作流程完全符合你的要求,无需额外重投影:
  1. 建表时直接使用geometry作为空间字段类型,无需额外配置
CREATE TABLE your_spatial_table (
    id INT PRIMARY KEY IDENTITY(1,1),
    geom GEOMETRY NOT NULL
)
  1. 写入数据时直接传入EPSG 3857的坐标,指定SRID为3857即可,示例SQL如下:
-- 示例插入EPSG 3857坐标系下的点坐标
INSERT INTO your_spatial_table (geom)
VALUES (geometry::STGeomFromText('POINT (12950000 4860000)', 3857))
  1. 后端NetTopologySuite对接无需修改原有3857坐标系的处理逻辑,读写数据时不需要做坐标系重投影,EF Core等ORM的NTS空间扩展原生支持该场景的类型映射。
  • 配套使用说明:
    • 直接调用SQL Servergeometry类型的内置方法计算距离、面积时,返回结果就是3857坐标系对应的米制单位,符合你的距离计算需求。
    • 不要误用geography类型存储3857坐标,该类型仅支持球面经纬度坐标逻辑,会触发坐标范围校验报错。

内容的提问来源于stack exchange,提问作者evrc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:00:00