»ç¿ëÀÚ ¾È³» ¹× ÂüÁ¶¼­

LocateAlong

LocateAlongÀº ±âÇÏÇÐ ¿ÀºêÁ§Æ® ¹× Ä¡¼ö¸¦ ÃëÇÏ¿© ÃøÁ¤½Ã ¹ß°ßµÈ Á¡ ¼¼Æ®¸¦ ´ÙÁßÁ¡À¸·Î¼­ ¸®ÅÏÇÕ´Ï´Ù.

LocateAlong¿¡ ´ÙÁßÁ¡ÀÌ Á¦°øµÇ°í ÀÔ·ÂÀ¸·Î ÃøÁ¤ÀÌ Á¦°øµÇ¸ç, ´ÙÁßÁ¡¿¡ ÀÌ ÃøÁ¤ ´ÜÀ§°¡ Æ÷ÇÔµÇÁö ¾Ê´Â °æ¿ì LocateAlongÀº POINT EMPTY¸¦ ¸®ÅÏÇÕ´Ï´Ù.

±¸¹®

db2gse.LocateAlong(g db2gse.ST_Geometry, [measure] Double)

¸®ÅÏ À¯Çü

db2gse.ST_Geometry

¿¹

´ÙÀ½ÀÇ CREATE TABLE ¸í·É¹®Àº LOCATEALONG_TEST Å×À̺íÀ» ÀÛ¼ºÇÕ´Ï´Ù. LOCATEALONG_TEST¿¡´Â °¢ ÇàÀ» °íÀ¯ÇÏ°Ô ½Äº°ÇÏ´Â GID Ä÷³°ú, »ùÇà ±âÇϸ¦ ÀúÀåÇÏ´Â G1 ±âÇÏ Ä÷³ÀÌ ÀÖ½À´Ï´Ù.

CREATE TABLE LOCATEALONG_TEST (gid integer, g1 db2gse.ST_Geometry) 

´ÙÀ½ÀÇ INSERT¹®Àº µÎ ÇàÀ» »ðÀÔÇÕ´Ï´Ù. ù¹øÂ°´Â ´ÙÁß ¼±½ºÆ®¸µÀÌ°í µÎ ¹øÂ°´Â ´ÙÁßÁ¡ÀÔ´Ï´Ù.

INSERT INTO db2gse.LOCATEALONG_TEST VALUES(
1, db2gse.ST_MLineFromText('multilinestring m ((10.29 19.23 5,23.82 20.29 6,
                                        30.19 18.47 7,
45.98 20.74 8), (23.82 20.29 6,30.98 23.98 7,42.92 25.98 8))',
                                   db2gse.coordref()..srid(0)))
 
INSERT INTO db2gse.LocateAlong_TEST VALUES(
2, db2gse.ST_MPointFromText('multipoint m (10.29 19.23 5,23.82 20.29 6,
 30.19 18.47 7,45.98 20.74 8,23.82 20.29 6,30.98 23.98 7,42.92 25.98)',
                 db2gse.coordref()..srid(0))) 

´ÙÀ½ÀÇ SELECT¹®°ú ÇØ´ç °á°ú ¼¼Æ®¿¡¼­ LocateAlong ÇÔ¼ö´Â Ä¡¼ö°¡ 6.5ÀÎ Á¡À» ãµµ·Ï ÁöÁ¤µË´Ï´Ù. ù¹øÂ° Çà¿¡¼­´Â µÎ Á¡ÀÌ µé¾î ÀÖ´Â ´ÙÁßÁ¡À» ¸®ÅÏÇÕ´Ï´Ù. ±×·¯³ª µÎ ¹øÂ° Çà¿¡¼­´Â ºó Á¡À» ¸®ÅÏÇÕ´Ï´Ù. ¼±Çü ±â´É(0º¸´Ù Å« Â÷¿øÀÇ ±âÇÏÇÐ)ÀÇ °æ¿ì LocateAlongÀÌ Á¡À» »ðÀÔÇÏÁö¸¸, ´ÙÁßÁ¡ÀÇ °æ¿ì¿¡´Â ¸ñÇ¥ ÃøÁ¤ÀÌ Á¤È®ÇÏ°Ô ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù.

SELECT gid, CAST(db2gse.ST_AsText(db2gse.LocateAlong (g1,6.5)) AS
varchar(96)) 
"Geometry"
FROM LOCATEALONG_TEST
 
GID      Geometry
----------- --------------------------------------------------------------
 
          1 MULTIPOINT M ( 27.01000000 19.38000000 6.50000000, 27.40000000
22.14000000 6.50000000)
          2 POINT EMPTY
 
  2 record(s) selected. 

´ÙÀ½ÀÇ SELECT¹®°ú ÇØ´ç °á°ú ¼¼Æ®¿¡¼­ LocateAlong ÇÔ¼ö´Â µÎ Çà ¸ðµÎ¿¡ ´ëÇØ ´ÙÁßÁ¡À» ¸®ÅÏÇÕ´Ï´Ù. ¸ñÇ¥ Ä¡¼ö 7Àº ´ÙÁß ¼±½ºÆ®¸µ ¹× ´ÙÁßÁ¡ ¼Ò½º µ¥ÀÌÅÍ ¸ðµÎ¿¡¼­ Ä¡¼ö¿Í ÀÏÄ¡ÇÕ´Ï´Ù.

SELECT gid,CAST(db2gse.ST_AsText(db2gse.LocateAlong (g1,7)) AS varchar(96))
   "Geometry"
FROM LOCATEALONG_TEST
 
GID      Geometry
 
----------- --------------------------------------------------------------
          1 MULTIPOINT M ( 30.19000000 18.47000000 7.00000000, 30.98000000
 23.98000000 7.00000000)
          2 MULTIPOINT M ( 30.19000000 18.47000000 7.00000000, 30.98000000
 23.98000000 7.00000000)
 
  2 record(s) selected. 


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]