±âÇÏ ÇÔ¼ö¸¦ ÇÔ²² ÁßøÇÏ´Â °ÍÀº ³»ºÎÀÇ Áßø ±â´ÉÀÌ ¿ÜºÎ È£Ãâ ÇÔ¼öÀÌ ½ÂÀÎÇÏÁö ¾Ê´Â ±âÇϸ¦ ¸®ÅÏÇÏ´Â °æ¿ì ¹®Á¦Á¡À» Á¦½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ³»ºÎ Áßø ÇÔ¼öÀÇ ±âÇÏ À¯ÇüÀÌ ¿ÜºÎ È£Ãâ ÇÔ¼ö¿¡ ½ÂÀεǴ ÇÔ¼ö·Î º¯È¯µÉ ¼ö ÀÖ´Â °æ¿ì ÀÌ ¹®Á¦Á¡ÀÌ ÇØ°áµË´Ï´Ù.
»óÀ§ À¯Çü ST_Geometry¸¦ ¸®ÅÏÇÏ´Â ÇÔ¼öÀÇ ±âÇÏ À¯ÇüÀº Treat ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ºÎ¼Ó À¯ÇüÀ¸·Î º¯È¯µÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ST_Union ÇÔ¼ö´Â ST_Geometry °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. ST_UnionÀÌ ST_PointOnSurface ÇÔ¼ö ³»¿¡¼ ÁßøµÉ °æ¿ì ST_PointOnSurface´Â ´ÙÀ½ ¿À·ù¸¦ ¸®ÅÏÇÕ´Ï´Ù.
SQL00440N No function by the name "ST_POINTONSURFACE" having compatible arguments was found in the function path. SQLSTATE=42884
ST_Union ÇÔ¼ö°¡ ¸®ÅÏÇÏ´Â °ªÀÌ ST_MultiPolygonÀÎ °æ¿ì¿¡µµ ST_PointOnSurface ÇÔ¼ö°¡ ST_Polygon ¶Ç´Â ST_MultiPolygon ±âÇÏ À¯ÇüÀ» °¡Á®°¡³ª ST_Union¿¡ ÀÇÇØ ¸®ÅϵǴ ST_Geometry¸¦ °¡Á®°¡Áö ¾Ê½À´Ï´Ù. µû¶ó¼, ÀÌ·± °æ¿ì ST_Union ÇÔ¼öÀÇ ±âÇÏ À¯ÇüÀ» ST_MultiPolygonÀ¸·Î º¯È¯½ÃŰ´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, COUNTIES Å×À̺íÀÌ ÀÚ½ÅÀÇ COUNTY Çø®°ï ¿À» °áÇÕÇÏ¿© ÀÚ°¡ °áÇÕµÈ °æ¿ì, ST_PointOnSurface ÇÔ¼ö°¡ Àû¿ëµÉ ¼ö ÀÖÀ¸·Á¸é ±× Àü¿¡ Treat ÇÔ¼ö°¡ ST_Union ÇÔ¼öÀÇ °á°ú¿¡ Àû¿ë½ÃÄÑ ST_Geometry À¯ÇüÀ» ST_MultiPolygonÀ¸·Î º¯È¯ÇØ¾ß ÇÕ´Ï´Ù.
SELECT ST_Astext(ST_PointOnSurface( TREAT ( ST_Union(c1.county, c2.county) AS ST_MultiPolygon))) FROM counties AS c1, counties AS c2;
ST_Union ÇÔ¼ö°¡ ST_MultiPolygonÀÇ °ªÀ» ¸®ÅÏÇÒ °æ¿ì, Treat ÇÔ¼ö´Â À̸¦ ST_MultiPolygon µ¥ÀÌÅÍ À¯ÇüÀ¸·Î º¯È¯ÇÕ´Ï´Ù. ST_Union ÇÔ¼ö°¡ ST_MultiPolygon °ªÀ» ¸®ÅÏÇÏÁö ¾Ê´Â °æ¿ì Treat ÇÔ¼ö´Â ·±Å¸ÀÓ ¿À·ù¸¦ ¸®ÅÏÇÕ´Ï´Ù.
ºÎ¼Ó À¯Çü 󸮿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â SQL ÂüÁ¶¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
ST_GeometryN ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ±âÇÏ ÄÝ·º¼ÇÀÇ ¿ä¼Ò¸¦ ¿ÜºÎ È£Ãâ ÇÔ¼ö¿¡ ÇÊ¿äÇÑ ±âº» ±âÇÏ·Î º¯È¯ÇϽʽÿÀ.
¿¹¸¦ µé¾î, ST_Union ÇÔ¼ö°¡ ¸®ÅÏÇÏ´Â °ªÀº Ç×»ó ST_Geometry·Î¼ ¸®ÅÏµÈ ±âÇÏ ÄÝ·º¼ÇÀÔ´Ï´Ù. Treat ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ST_Geometry À¯ÇüÀ» ST_MultiPoint, ST_MultiLineString, ST_MultiPolygon, ST_GeomCollection, ST_MultiCurve, ¶Ç´Â ST_MultiSurface Áß ÇϳªÀÇ ºÎ¼Ó À¯ÇüÀ¸·Î º¯È¯ÇϽʽÿÀ. ±âÇÏ ÄÝ·º¼ÇÀ» ±âº» ±âÇÏ·Î º¯È¯ÇÏ¿© ST_GeometryN ÇÔ¼ö¸¦ Treat ÇÔ¼öÀÇ Ãâ·Â¿¡ Àû¿ë½ÃŰ½Ê½Ã¿À.
¿¹¸¦ µé¾î, ÀÌÀü ÀýÀÇ ¿¹·ÎºÎÅÍ ST_Union ÇÔ¼öÀÇ °á°ú¿¡¼ ST_ExteriorRing ÇÔ¼ö¸¦ »ç¿ëÇÏ·Á¸é ¸ÕÀú ST_GeometryN ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ´Ù°¢Çü ¿ä¼Ò¸¦ ÃßÃâÇϽʽÿÀ.
SELECT ST_AsText(ST_ExteriorRing(ST_GeometryN( TREAT ( ST_Union(c1.county, c2.county) AS ST_MultiPolygon ), 1))) FROM counties AS c1, counties AS c2;
°èÃþ ±¸Á¶ÀÇ »óÀ§ À¯ÇüÀ¸·ÎºÎÅÍ ºÎ¼Ó À¯ÇüÀ¸·Î °¥ ¶§¿¡¸¸ ij½ºÆ®°¡ ÇÊ¿äÇÕ´Ï´Ù. ºÎ¼Ó À¯Çü 󸮿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â SQL ÂüÁ¶¼¸¦ ÂüÁ¶ÇϽʽÿÀ.