Más

TypeError: a.geometry.getBounds no es una función en OpenLayers.js (línea 611, col 334)


Estoy usando OpenLayers 2.13 y Postgresql 9.3 para mis actividades de desarrollo. Quiero cargar datos de la región desde la base de datos y cargarlos en openlayers.

Debajo del resultado que obtengo de St_astext (geom) en postgresql 9.0 y superior

"MULTIPOLÍGONO (((77.6620335903023 12.8381894855534,77.6620330917475 12.8384550503658,77.662583464913 12.8384554346975,77.6625831247336 12.8381894684868,77.6623425795.6289.82) 12993868,77.6623425795.6289.82382) 129938907.66234257956228229.

Pero en postgresql 9.3 obtengo el siguiente resultado con el parámetro de altura mientras uso St_astext (geom)

"MULTIPOLYGON ZM (((77.6620335903023 12.8381894855534 0 0,77.6620330917475 12.8384550503658 0 0,77.662583464913 12.8384554346975 0 0,77.6625831247336 12.8381894684825… 0,77165.61

A continuación se muestra el código de OpenLayers para incorporar el formato wkt

característica var = new OpenLayers.Feature.Vector (nuevo OpenLayers.Geometry.fromWKT ( "MULTIPOLYGON ZM (((77,6620330345526 12,8382017120463 0 0,77.6620403164933 12,8384556061155 0 0,77.6625840206627 12,8384543231982 0 0,77.6625747884884 12,8381889127371 0 0,77.6620330345526 12,8382017120463 0 0))) "), nulo,{

label: "TEST", irregular: true, cursor: 'pointer', fontSize: "14px", fontFamily: "arial, monospace", fontWeight: "negrita", labelAlign: "cm", fillColor: "# 9fdaef", fillOpacity : 0.3, strokeWidth: 4, strokeColor: "# 005596"});

Recibo un error como el siguiente

TypeError: a.geometry.getBounds no es una función en OpenLayers.js (línea 611, col 334)

Al usar Multipolygon sin parámetro de altura, puedo cargar datos de región en Openlayers

pero, con el parámetro de altura no puedo.

Por favor, guíeme para cargar el valor wkt con el parámetro de altura en Openlayers.


Puede utilizar ST_Force2D

ST_AsText (ST_Force2D (your_geometry_column)) de su_tabla;

Prueba esto para ver el efecto:

SELECT g, ST_AsText (ST_Force2D (g :: geometry)), ST_AsEWKT (ST_Force2D (g :: geometry)) FROM (SELECT 'MULTIPOLYGON ZM (((77.6620335903023 12.8381894855534 0 0,77.662033091750675 12.838750625.83 0 0,77.66234257162 12.8381895285991 0 0,77.6622741102056 12.8381895459662 0 0,77.6620335903023 12.8381894855534 0 0))) ':: texto como g) como foo;

Si usa este WKT, debería estar bien: