Метод Openlayers.Geometry объектов toString
позволяет преобразовать их в WKT (общеизвестный текст). Если вы используете слой ГИС поверх вашей базы данных (например, PostGIS для PostGres, SQL Spatial для SQL Server, Spatialite для SQLite и т. Д.), Они должны предлагать функции, позволяющие обрабатывать WKT.
Но если вы хотите преобразовать этот WKT в новый объект Openlayers.Geometry
(в браузере), вы можете использовать функцию fromWKT
:
var point = OpenLayers.Geometry.fromWKT('POINT(-104.74560546875 44.2841796875)');
alert(point.toString()); // POINT(-104.74560546875 44.2841796875)
Здесь переменная point
теперь будет содержать новый объект Openlayers.Geometry
, который имеет те же свойства, что и исходный объект, который вы использовали toString()
.
Если вы передадите массив функции fromWKT
, он вернет коллекцию GeometryCollection, содержащую все сгенерированные геометрии.
var geometryTexts = [
'POINT(-104.74560546875 44.2841796875)'
, 'POLYGON((-96.52783203125 44.6796875,-96.52783203125 45.734375,-92.22119140625 45.734375,-92.22119140625 44.6796875,-96.52783203125 44.6796875))'
, 'LINESTRING(-105.71240234375 44.6796875,-106.06396484375 42.658203125,-103.55908203125 42.7021484375,-103.47119140625 45.55859375,-104.65771484375 45.20703125)'
],
collection = OpenLayers.Geometry.fromWKT(geometryTexts);
После этого collection.toString()
должно выдать следующее:
GEOMETRYCOLLECTION (точка (-104,74560546875 +44,2841796875), многоугольник ((- 96,52783203125 44,6796875, -96,52783203125 45,734375, -92,22119140625 45,734375, -92,22119140625 44,6796875, -96,52783203125 44,6796875)), LINESTRING (-105,71240234375 44,6796875, -106,06396484375 +42,658203125, -103,55908203125 +42,7021484375 , -103,47119140625 45,55859375, -104,65771484375 45,203125))