• 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

  • 相关阅读:
    12 购物车之一(用列表)
    centos7安装pycharm,并创建桌面快捷方式
    centos7安装xrdp
    centos7 安装gitlab
    mysql 新建用户和授权
    django项目连接mysql没有Mysqldb解决办法_使用pymysql代替
    selenium+python实现查询和下载文件
    Python3-使用Requests和正则表达式爬取猫眼Top100的数据
    python3-字典常用操作
    python3-列表常用操作
  • 原文地址:https://www.cnblogs.com/javalinux/p/15544734.html
Copyright © 2020-2023  润新知