从经纬度创建线几何

Create line geometry from lat long

我需要根据另一个查询返回的经纬度值创建线串几何。

此查询返回的值

SELECT LATITUDE, LONGITUDE FROM POINTS

应该进入sdo_ordinate_array

sdo_geometry (2002, null, null, sdo_elem_info_array (1,2,1), sdo_ordinate_array ( 1,1,2,2,3,4 ))

不知道如何将结果集转换成数组。

declare
elem mdsys.sdo_elem_info_array;
ordinates mdsys.sdo_ordinate_array;
srid number := 4326;
gtype number := 2002;

begin

elem:=mdsys.sdo_elem_info_array();
ordinates:=mdsys.sdo_ordinate_array();

elem.EXTEND(3);
elem(1):=1;
elem(2):=2;
elem(3):=1;

FOR cur_rec IN (SELECT LONGITUDE,LATITUDE FROM POINTS) LOOP
ordinates.EXTEND(2);
ordinates(ordinates.last-1):=cur_rec.LONGITUDE;
ordinates(ordinates.last):=cur_rec.LATITUDE;
END LOOP;

INSERT INTO MYLINETABLE (ID,GEOM) VALUES (MYSEQUENCE.NEXTVAL,SDO_UTIL.SIMPLIFY(MDSYS.SDO_GEOMETRY(gtype,srid,null,elem,ordinates),6,0.5));

commit;

end;