PostGIS ?
, , - PostGIS, geography.
SELECT ST_GeogFromText('POINT(35.21076593772987 11.22855348629825)');
geography, , . , point; , , PostGIS .
geography , , , , "" ..; , ST_Distance_Spheroid, .
PostGIS?
PostGIS , point:
postgres=> SELECT ARRAY[
point('35.21076593772987','11.22855348629825'),
point('35.210780222605616','11.22826420209139'),
point('35.210777635062875','11.228241328291957')
];
array
--------------------------------------------------------------------------------------------------------------------
{"(35.2107659377299,11.2285534862982)","(35.2107802226056,11.2282642020914)","(35.2107776350629,11.228241328292)"}
(1 row)
... , - path polygon .
, , text, - .
:
CREATE TABLE points_text AS SELECT '35.21076593772987,11.22855348629825 35.210780222605616,11.22826420209139 35.210777635062875,11.228241328291957 35.210766843596794,11.228219799676775 35.210765045075604,11.228213072050166 35.21076234732945,11.228200962345223 35.21076324691649,11.228186161764323 35.21077314123606,11.228083902231146 35.210863083636866,11.227228492401766'::text AS p
postgres=> SELECT pg_column_size(points_text.p) FROM points_text;
pg_column_size
----------------
339
(1 row)
CREATE TABLE points_array AS
SELECT array_agg(point(px)) AS p from points_text, LATERAL regexp_split_to_table(p, ' ') split(px);
postgres=> SELECT pg_column_size(p) FROM points_array;
pg_column_size
----------------
168
(1 row)
path , , , :
postgres=> SELECT pg_column_size(path('35.21076593772987,11.22855348629825 35.210780222605616,11.22826420209139 35.210777635062875,11.228241328291957 35.210766843596794,11.228219799676775 35.210765045075604,11.228213072050166 35.21076234732945,11.228200962345223 35.21076324691649,11.228186161764323 35.21077314123606,11.228083902231146 35.210863083636866,11.227228492401766'));
pg_column_size
----------------
96
(1 row)
, polygon.
...
, , . , , " , - ". PostGIS , .
. , text.
, . , , , .