Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_GEOMFROMTEXT

📄字数 4.3K
👁️阅读量 加载中...

功能描述

从 OGC 已知的文本表示(WKT)构造几何对象。

语法格式

sql
GEOMETRY ST_GEOMFROMTEXT(CLOB WKT);
GEOMETRY ST_GEOMFROMTEXT(CLOB WKT, INTEGER srid);

参数说明

  • WKT:已知文本字符串。
  • srid:空间参考系ID。

函数返回类型

GEOMETRY 类型

使用说明

  1. 如果未指定,则使用 SRID 0。
  2. 该方法实现了SQL/MM规范。 SQL-MM 3: 5.1.40
  3. 此方法支持圆形字符串和曲线。

示例

线串:

sql

SQL> SELECT TO_CHAR(ST_ASTEXT(ST_GEOMFROMTEXT('LINESTRING(-71.160281 42.258729,-71.160837 42.259113,-71.161144 42.25932)')));

+---------------------------------------------------------------------------+
|                                   EXPR1                                   |
+---------------------------------------------------------------------------+
| LINESTRING(-71.160281 42.258729,-71.160837 42.259113,-71.161144 42.25932) |
+---------------------------------------------------------------------------+

SQL> SELECT TO_CHAR(ST_ASEWKT(ST_GEOMFROMTEXT('LINESTRING(-71.160281 42.258729,-71.160837 42.259113,-71.161144 42.25932)',4269)));

+-------------------------------------------------------------------------------------+
|                                        EXPR1                                        |
+-------------------------------------------------------------------------------------+
| SRID=4269;LINESTRING(-71.160281 42.258729,-71.160837 42.259113,-71.161144 42.25932) |
+-------------------------------------------------------------------------------------+

如果未指定,则使用 SRID 0:

sql

SQL> SELECT ST_SRID(ST_GEOMFROMTEXT('LINESTRING(-71.160281 42.258729,-71.160837 42.259113,-71.161144 42.25932)'));

+-------+
| EXPR1 |
+-------+
| 0     |
+-------+

多线串:

sql

SQL> SELECT TO_CHAR(ST_ASTEXT(ST_GEOMFROMTEXT('MULTILINESTRING((-71.160281 42.258729,-71.160837 42.259113,-71.161144 42.25932))')));

+----------------------------------------------------------------------------------+
|                                      EXPR1                                       |
+----------------------------------------------------------------------------------+
| MULTILINESTRING((-71.160281 42.258729,-71.160837 42.259113,-71.161144 42.25932)) |
+----------------------------------------------------------------------------------+

点:

sql

SQL> SELECT TO_CHAR(ST_ASTEXT(ST_GEOMFROMTEXT('POINT(-71.064544 42.28787)')));

+----------------------------+
|           EXPR1            |
+----------------------------+
| POINT(-71.064544 42.28787) |
+----------------------------+

多边形:

sql

SQL> SELECT TO_CHAR(ST_ASTEXT(ST_GeomFromText('POLYGON((-71.1776585052917 42.3902909739571,-71.1776820268866 42.3903701743239,
     -71.1776063012595 42.3903825660754,-71.1775826583081 42.3903033653531,-71.1776585052917 42.3902909739571))')));

+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                           EXPR1                                                                                           |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| POLYGON((-71.1776585052917 42.3902909739571,-71.1776820268866 42.3903701743239,-71.1776063012595 42.3903825660754,-71.1775826583081 42.3903033653531,-71.1776585052917 42.3902909739571)) |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

多多边形:

sql
SQL> SELECT TO_CHAR(ST_ASEWKT(ST_GEOMFROMTEXT('MULTIPOLYGON(((-71.1031880899493 42.3152774590236,
     -71.1031627617667 42.3152960829043,-71.102923838298 42.3149156848307,
     -71.1023097974109 42.3151969047397,-71.1019285062273 42.3147384934248,
     -71.102505233663 42.3144722937587,-71.10277487471 42.3141658254797,
     -71.103113945163 42.3142739188902,-71.10324876416 42.31402489987,
     -71.1033002961013 42.3140393340215,-71.1033488797549 42.3139495090772,
     -71.103396240451 42.3138632439557,-71.1041521907712 42.3141153348029,
     -71.1041411411543 42.3141545014533,-71.1041287795912 42.3142114839058,
     -71.1041188134329 42.3142693656241,-71.1041112482575 42.3143272556118,
     -71.1041072845732 42.3143851580048,-71.1041057218871 42.3144430686681,
     -71.1041065602059 42.3145009876017,-71.1041097995362 42.3145589148055,
     -71.1041166403905 42.3146168544148,-71.1041258822717 42.3146748022936,
     -71.1041375307579 42.3147318674446,-71.1041492906949 42.3147711126569,
     -71.1041598612795 42.314808571739,-71.1042515013869 42.3151287620809,
     -71.1041173835118 42.3150739481917,-71.1040809891419 42.3151344119048,
     -71.1040438678912 42.3151191367447,-71.1040194562988 42.3151832057859,
     -71.1038734225584 42.3151140942995,-71.1038446938243 42.3151006300338,
     -71.1038315271889 42.315094347535,-71.1037393329282 42.315054824985,
     -71.1035447555574 42.3152608696313,-71.1033436658644 42.3151648370544,
     -71.1032580383161 42.3152269126061,-71.103223066939 42.3152517403219,
     -71.1031880899493 42.3152774590236)),
     ((-71.1043632495873 42.315113108546,-71.1043583974082 42.3151211109857,
     -71.1043443253471 42.3150676015829,-71.1043850704575 42.3150793250568,-71.1043632495873 42.315113108546)))',4326)));

+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         EXPR1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| SRID=4326;MULTIPOLYGON(((-71.1031880899493 42.3152774590236,-71.1031627617667 42.3152960829043,-71.102923838298 42.3149156848307,-71.1023097974109 42.3151969047397,-71.1019285062273 42.3147384934248,-71.102505233663 42.3144722937587,-71.10277487471 42.3141658254797,-71.103113945163 42.3142739188902,-71.10324876416 42.31402489987,-71.1033002961013 42.3140393340215,-71.1033488797549 42.3139495090772,-71.103396240451 42.3138632439557,-71.1041521907712 42.3141153348029,-71.1041411411543 42.3141545014533,-71.1041287795912 42.3142114839058,-71.1041188134329 42.3142693656241,-71.1041112482575 42.3143272556118,-71.1041072845732 42.3143851580048,-71.1041057218871 42.3144430686681,-71.1041065602059 42.3145009876017,-71.1041097995362 42.3145589148055,-71.1041166403905 42.3146168544148,-71.1041258822717 42.3146748022936,-71.1041375307579 42.3147318674446,-71.1041492906949 42.3147711126569,-71.1041598612795 42.314808571739,-71.1042515013869 42.3151287620809,-71.1041173835118 42.3150739481917,-71.1040809891419 42.3151344119048,-71.1040438678912 42.3151191367447,-71.1040194562988 42.3151832057859,-71.1038734225584 42.3151140942995,-71.1038446938243 42.3151006300338,-71.1038315271889 42.315094347535,-71.1037393329282 42.315054824985,-71.1035447555574 42.3152608696313,-71.1033436658644 42.3151648370544,-71.1032580383161 42.3152269126061,-71.103223066939 42.3152517403219,-71.1031880899493 42.3152774590236)),((-71.1043632495873 42.315113108546,-71.1043583974082 42.3151211109857,-71.1043443253471 42.3150676015829,-71.1043850704575 42.3150793250568,-71.1043632495873 42.315113108546))) |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

圆形字符串:

sql

SQL> SELECT TO_CHAR(ST_ASTEXT(ST_GEOMFROMTEXT('CIRCULARSTRING(220268 150415,220227 150505,220227 150406)')));

+-----------------------------------------------------------+
|                           EXPR1                           |
+-----------------------------------------------------------+
| CIRCULARSTRING(220268 150415,220227 150505,220227 150406) |
+-----------------------------------------------------------+

空几何集合:

sql
SQL> SELECT TO_CHAR(ST_ASTEXT(ST_GEOMFROMTEXT('GEOMETRYCOLLECTION EMPTY')));

+--------------------------+
|          EXPR1           |
+--------------------------+
| GEOMETRYCOLLECTION EMPTY |
+--------------------------+