最近需要通过geoserver显示多边形,首先需要先将数据库的数据转换为地理数据存储类型,但由于原本的信息是按text存储的,将text类型转换为geometry就需要用到ST_GeomFromText()函数,存储的是POLYGON。

在mysql使用该函数过程中,遇到了一个问题,报错是:3037 - Invalid GIS data provided to function st_geometryfromtext.于是通过搜索这个错误提示,发现原因是我们原本的POLUYGON坐标不是封闭的

在postgreSql中的报错是:ERROR:  geometry contains non-closed rings (lwgeom_pg.c:90)
  HINT:  "...75, 102.227 33.9519, 102.34 35.0212))" <-- parse error at position 76 within geometry.

解决方法是:在POLUYGON里加上起始坐标。

如一个四边形:

POLYGON((102.371 35.0049, 102.249 33.8775, 102.227 33.9519, 102.34 35.0212)) 
SELECT ST_GeomFromText('POLYGON((102.371 35.0049, 102.249 33.8775, 102.227 33.9519, 102.34 35.0212))')

运行这条sql语句时,就会报上述错误。

修改成:

POLYGON(''(102.371 35.0049, 102.249 33.8775, 102.227 33.9519, 102.34 35.0212, 102.371 35.0049)') 
SELECT ST_GeomFromText('POLYGON((102.371 35.0049, 102.249 33.8775, 102.227 33.9519, 102.34 35.0212, 102.371 35.0049))')

后,问题解决

Invalid GIS data provided to function st_geometryfromtext. 解决方法相关推荐

  1. MySQL: Invalid GIS data provided to function st_geometryfromtext

    字符串查找中有时候会遇到 ,使用 find_in_set 查找即可 SELECT * from tablename where FIND_IN_SET(79,fieldname)

  2. 没有安装提供程序“System.Data.SqlServerCe.3.5”的解决方法

    没有安装提供程序"System.Data.SqlServerCe.3.5"的解决方法 参考文章: (1)没有安装提供程序"System.Data.SqlServerCe. ...

  3. 在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的值的解决方法

    在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的值的解决方法 参考文章: (1)在vue中,Echarts雷达图中indicator的点击事件,不能改变data中的 ...

  4. jquery报.live() is not a function的解决方法

    jquery报.live() is not a function的解决方法: jquery中的live()方法在jquery1.9及以上的版本中已被废弃了,如果使用,会抛出TypeError: $(. ...

  5. MySQL中 Data truncated for column ‘xxx‘解决方法

    MySQL中 Data truncated for column 'xxx'解决方法 参考文章: (1)MySQL中 Data truncated for column 'xxx'解决方法 (2)ht ...

  6. 导入 SQL 时出现 Invalid default value for ‘create_time‘ 报错解决方法

    导入 SQL 时出现 Invalid default value for 'create_time' 报错解决方法 参考文章: (1)导入 SQL 时出现 Invalid default value ...

  7. Nginx报错:nginx: [error] invalid PID number ““ in “/run/nginx.pid“ 解决方法

    服务器重启之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number "" ...

  8. Tomcat报ClassFormatException: Invalid byte tag in constant pool: 19解决方法

    [现象] 严重: Unable to process Jar entry [module-info.class] from Jar [jar:file:/D:/work/demo/target/ROO ...

  9. Mysql 中ERROR 1406 (22001): Data too long for column 解决方法

    导入数据的时候,MYSQL 报错:Data too long for column 解决办法: 在my.ini里找到(此文件在mysql安装目录下) sql-mode="STRICT_TRA ...

最新文章

  1. 新上映的电影不在影院也一样能看到
  2. 图解软件定义存储-百炼钢成绕指柔
  3. 聊一聊二维码扫描登录原理
  4. linux java静默安装软件,linux纯净版脚本执行安装JDK、静默安装Weblogic
  5. luogu P2241 统计方形
  6. c++ 等待子线程结束_?进程、线程、以及它们之间的区别与联系
  7. Node.js 2021年开发者报告解读
  8. 学习笔记day5:inline inline-block block区别
  9. php 域名白名单,域名白名单验证
  10. java递归mysql生成树_JavaScript图形实例:递归生成树
  11. python语言标识符命名规则_python标识符命名规范是什么
  12. MR Shuffle流程 入门
  13. 面试题 17.09. 第 k 个数
  14. 2019.01.01洛谷 P4725/P4726 多项式对数/指数函数(牛顿迭代)
  15. 计算机工程制图课程安排,2017工程制图课程简介
  16. linux主引导修复工具,Boot-Repair/引导修复工具
  17. 恒州诚思——2022-2028全球氯化钬行业调研及趋势分析报告
  18. 实战:手把手教你开发React应用-郭永峰-专题视频课程
  19. Virtualbox主机与虚拟机相互访问
  20. 【位操作笔记】计算以2为底整数N的对数 查表法

热门文章

  1. Epicor在中国推出Epicor Kinetic托管服务,扩大全球布局
  2. 织梦(DedeCMS)通用免登陆发布插件
  3. 最新完全解密正式版ProCAST 2018.0 WinALL-ISO 1CD
  4. 网络安全专业的未来发展和就业情况?
  5. 接收用户输入的用户名和密码,若用户名为 “admin” ,密码为 “123456” ,则提示用户登录成功,否则,让用户一直输入。
  6. 【翻译】Densely Connected Convolutional Networks
  7. 设备管理系统在智能制造中的重要作用
  8. 关于单元测试框架GoogleTest——参考《百度文库》、大量博客
  9. unrealengine(UE4)使用Datasmith导出插件
  10. 结构力学计算机算法,05结构力学第八章渐近法及其他算法概述.ppt