zoukankan      html  css  js  c++  java
  • Binary geometry function st_contains given two geometries of different srids: 0 and 4326

    关于mysql数据库空间类型查询操作报srid错误
    问题描述
    今天在执行一个查询几何范围内包含了多少个几何的SQL时报了srid的错误:
    SQL语句如下:

    select * from management_collect_plot
    where delete_flag = 0
    and ST_CONTAINS(ST_POLYGONFROMTEXT('POLYGON((112.93322144632 28.2371008592574, 112.93287840842 28.2360997664055, 112.934529277128 28.2364964272113, 112.93322144632 28.2371008592574))',4326,'axis-order=long-lat'),plot_boundary_aoi)
    1
    2
    3
    语句分析:


    报错:

    Binary geometry function st_contains given two geometries of different srids: 0 and 4326
    1


    问题分析
    经过查阅资料发现错误是因为数据库中的空间类型字段一些srid是0,一些是4326(即srid不一致导致查询出错)
    执行如下SQL可查询出空间类型字段的srid

    select st_srid(字段名) from 表名
    1
    查询结果如图,字段的srid不一致


    解决方法
    将不一致的字段设置成统一的srid即可,执行如下sql即可:

    update 表名set 字段=ST_POLYGONFROMTEXT(ST_AsText(字段),4326,'axis-order=long-lat')
    where st_srid(字段) = 0
    1
    2
    分析:

    ————————————————
    版权声明:本文为CSDN博主「编程小龙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_42365534/article/details/119103062

  • 相关阅读:
    GetArxPath
    动态链接库
    获取文件名称 消除前面的绝对地址路径
    arx 插入图片
    cstring to utf8
    map 用法
    异常处理
    面向对象 "一"
    configparser模块
    装饰器
  • 原文地址:https://www.cnblogs.com/javalinux/p/15544734.html
Copyright © 2011-2022 走看看