{"id":997,"date":"2009-10-31T14:43:00","date_gmt":"2009-10-31T14:43:00","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=997"},"modified":"2017-01-29T09:53:18","modified_gmt":"2017-01-29T00:53:18","slug":"wkb","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=997","title":{"rendered":"[GIS] WKB(Well-Known Binary) Format"},"content":{"rendered":"<p>\uacf5\uac04 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\ub294 DBMS\ub294 \ud3ec\uc778\ud2b8, \ud3f4\ub9ac\ub77c\uc778, \ud3f4\ub9ac\uace4\uacfc \uac19\uc740 \uacf5\uac04 \uc88c\ud45c \ub370\uc774\ud130\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uc800\uc7a5\ud558\uae30 \uc704\ud574 BLOB \ud0c0\uc785\uc73c\ub85c\uc368 WKB\ub77c\ub294 \ud615\ud0dc\ub85c \uc800\uc7a5\ud569\ub2c8\ub2e4. \uac1c\ubc1c\ud558\uace0 \uc788\ub294 \uc9c0\ub3c4 \ub80c\ub354\ub7ec\ub97c \uc704\ud55c \ub9f5\uc5d4\uc9c4(\ucf54\ub4dc\uba85: Xr)\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218\uce58\uc9c0\ub3c4 \ub370\uc774\ud130 \ud3ec\ub9f7\uc5d0 \ub300\ud574 \uace0\ubbfc\ud558\ub358 \ucc28\uc5d0&#8230; GIS \ub370\uc774\ud130 \ud45c\ud604\uc758 \ubc94\uc6a9 \ud45c\uc900 \uc911\uc5d0 \ud558\ub098\uc778 WKB\uc5d0 \ub300\ud55c \uc790\ub8cc\ub97c \uc815\ub9ac\ud574 \ubcf4\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n<p>WKB, \uc989 Well-known Binary\ub294 OpenGIS \uc2a4\ud399\uc5d0 \uc758\ud574 \uc815\uc758\ub41c \uc9c0\uc624\uba54\ud2b8\ub9ac \uac12\uc744 \ud45c\ud604\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. KWB\ub294 \uc9c0\uc624\uba54\ud2b8\ub9ac WKB \uc815\ubcf4\ub97c \ub2f4\uace0 \uc788\ub294 BLOB \ud0c0\uc785\uc758 \uac12\uc73c\ub85c \ud45c\ud604\ub418\ub294 \ubc14\uc774\ub108\ub9ac \uc2a4\ud2b8\ub9bc\uc73c\ub85c\uc368 \uc9c0\uc624\uba54\ud2b8\ub9ac \ub370\uc774\ud130\ub97c \uc0c1\ud638\uac04\uc5d0 \uad50\ud658\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. WKB\ub294 1\ubc14\uc774\ud2b8\uc758 \ubd80\ud638\uc5c6\ub294 \uc815\uc218\uc640 4\ubc14\uc774\ud2b8\uc758 \ubd80\ud638\uc5c6\ub294 \uc815\uc218 \uadf8\ub9ac\uace0 8\ubc14\uc774\ud2b8\uc758 \ubc30\uc815\ubc00 \uc18c\uc218(IEEE 754)\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc11c 1\ubc14\uc774\ud2b8\ub294 8\ube44\ud2b8\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uba74&#8230; WKT\uc778 POINT(1 1)\uc744 \ub3d9\uc77c\ud55c WKB\ub85c \ubcc0\ud658\ud574 \ubcf8\ub2e4\uba74&#8230; \ub2e4\uc74c\uacfc \uac19\uc740 \ucd1d 21\uac1c\ub85c \uad6c\uc131\ub41c \uc5f0\uc18d\ub41c \ubc14\uc774\ud2b8\uc785\ub2c8\ub2e4.<\/p>\n<pre>0101000000000000000000F03F000000000000F03F<\/pre>\n<p>\uc55e\uc758 \uc5f0\uc18d\ub41c \ubc14\uc774\ud2b8\ub97c \ud574\uc11d \ud574\ubcf4\uba74&#8230; \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1129683969.jpg\" alt=\"\uc0ac\uc6a9\uc790 \uc0bd\uc785 \uc774\ubbf8\uc9c0\" width=\"510\" height=\"234\" \/><\/p>\n<p>\uc989, \uccab\ubc88\uc9f8 1\ubc14\uc774\ud2b8\uc758 \uac12\uc774 1\uc774\uba74 \ubc14\uc774\ud2b8 \uc815\ub82c\uc774 Little-Endian\uc774\uba70 0\uc774\uba74 Big-Endian\uc774\ub77c\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ub2e4\uc74c 2\ubc14\uc774\ud2b8\ub294 \uc9c0\uc624\uba54\ud2b8\ub9ac \ud0c0\uc785\uc73c\ub85c\uc368 \ud604\uc7ac\uae4c\uc9c0 \uc81c\uc548\ub41c \ud0c0\uc785\uc740 \ucd1d 7\uac1c\ub85c\uc368 Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon \uadf8\ub9ac\uace0 GemetryCollection\uc785\ub2c8\ub2e4. \ub05d\uc73c\ub85c \ud3ec\uc778\ud2b8\uc758 \uc88c\ud45c\uc778 X\uc640 Y \uac12\uc774 \uac01\uac01 8\ubc14\uc774\ud2b8\uc529 \uc624\uac8c\ub429\ub2c8\ub2e4.<\/p>\n<p>\uc55e\uc758 \uc608\ub294 Point \ud0c0\uc785\uc5d0 \ub300\ud55c \uc608\uc774\uba70 \ub2e4\ub978 \uc9c0\uc624\uba54\ud2b8\ub9ac \ud0c0\uc785\uc5d0 \ub300\ud574\uc11c, \ubcf4\ub2e4 \uc9c1\uad00\uc801\uc774\uace0 \ud6a8\uc728\uc801\uc73c\ub85c \ud30c\uc545\ud558\uae30 \uc704\ud574 C\uc5b8\uc5b4\uc758 \uad6c\uc870\uccb4 \ud615\uc2dd\uc73c\ub85c \ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>\/\/ Basic Type definitions\r\n\/\/ byte : 1 byte\r\n\/\/ uint32 : 32 bit unsigned integer\u00a0 (4 bytes)\r\n\/\/ double : double precision number (8 bytes)\r\n\/\/ Building Blocks : Point, LinearRing\r\n\u00a0\r\nPoint {\r\n\u00a0 \u00a0 double x;\r\n\u00a0 \u00a0 double y;\r\n};\r\n\r\nLinearRing \u00a0 {\r\n\u00a0 \u00a0 uint32 numPoints;\r\n\u00a0 \u00a0 Point points[numPoints];\r\n};\r\n\r\nenum wkbGeometryType {\r\n\u00a0 \u00a0 wkbPoint = 1,\r\n\u00a0 \u00a0 wkbLineString = 2,\r\n\u00a0 \u00a0 wkbPolygon = 3,\r\n\u00a0 \u00a0 wkbMultiPoint = 4,\r\n\u00a0 \u00a0 wkbMultiLineString = 5,\r\n\u00a0 \u00a0 wkbMultiPolygon = 6\r\n};\r\n\r\nenum wkbByteOrder {\r\n\u00a0 \u00a0 wkbXDR = 0, \/\/ Big Endian\r\n\u00a0 \u00a0 wkbNDR = 1 \/\/ Little Endian\r\n};\r\n\r\nWKBPoint {\r\n\u00a0 \u00a0 byte byteOrder;\r\n\u00a0 \u00a0 uint32 wkbType; \/\/ 1=wkbPoint\r\n\u00a0 \u00a0 Point point;\r\n};\r\n\r\nWKBLineString {\r\n\u00a0 byte byteOrder;\r\n\u00a0 uint32 wkbType; \/\/ 2=wkbLineString\r\n\u00a0 uint32 numPoints;\r\n\u00a0 Point points[numPoints];\r\n};\r\n\u00a0\r\nWKBPolygon {\r\n\u00a0 byte byteOrder;\r\n\u00a0 uint32 wkbType; \/\/ 3=wkbPolygon\r\n\u00a0 uint32 numRings;\r\n\u00a0 LinearRing rings[numRings];\r\n};\r\n\r\nWKBMultiPoint {\r\n\u00a0 byte byteOrder;\r\n\u00a0 uint32 wkbType; \/\/ 4=wkbMultipoint\r\n\u00a0 uint32 num_wkbPoints;\r\n\u00a0 WKBPoint WKBPoints[num_wkbPoints];\r\n};\r\n\r\nWKBMultiLineString {\r\n\u00a0 byte byteOrder;\r\n\u00a0 uint32 wkbType; \/\/ 5=wkbMultiLineString\r\n\u00a0 uint32 num_wkbLineStrings;\r\n\u00a0 WKBLineString WKBLineStrings[num_wkbLineStrings];\r\n};\r\n\u00a0\r\nwkbMultiPolygon {\r\n\u00a0 byte byteOrder;\r\n\u00a0 uint32 wkbType; \/\/ 6=wkbMultiPolygon\r\n\u00a0 uint32 num_wkbPolygons;\r\n\u00a0 WKBPolygon wkbPolygons[num_wkbPolygons];\r\n};\r\n\u00a0\r\nWKBGeometry\u00a0 {\r\n\u00a0 union {\r\n\u00a0 \u00a0 WKBPoint point;\r\n\u00a0 \u00a0 WKBLineString linestring;\r\n\u00a0 \u00a0 WKBPolygon polygon;\r\n\u00a0 \u00a0 WKBMultiPoint mpoint;\r\n\u00a0 \u00a0 WKBMultiLineString mlinestring;\r\n\u00a0 \u00a0 WKBMultiPolygon mpolygon;\r\n\u00a0 }\r\n};<\/pre>\n<p>\ubc14\uc774\ub108\ub9ac\ub294 \ud06c\uae30\uba74\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ub9e4\uc6b0 \ucd5c\uc801\ud654\ub41c \ud615\ud0dc\ub85c \uc800\uc7a5\ud560 \uc218 \uc788\ub294 \ud3ec\ub9f7\uc785\ub2c8\ub2e4. GIS \uc5d4\uc9c4\uc744 \uc124\uacc4\ud558\uace0 \uac1c\ubc1c\ud560\ub54c \uc790\uccb4 \uc5d4\uc9c4\uc5d0 \ud2b9\ud654\ub41c \ub370\uc774\ud130 \uad6c\uc870\ub97c \uc124\uacc4\ud558\ub294 \uac83 \ub300\uc2e0\uc5d0 \uc774\ub7ec\ud55c \ud45c\uc900\uc744 \uc218\uc6a9\ud560 \uacbd\uc6b0 \uc5bb\uc744 \uc218 \uc788\ub294 \uc774\uc810\uc740 \ub9e4\uc6b0 \ud06c\ub2e4\uace0 \ud560 \uc218 \uc788\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774 \uae00\uc758 \uc77c\ubd80\ub294 \ub2e4\uc74c URL\uc5d0\uc11c \ucc38\uace0\ud558\uc600\uc2b5\ub2c8\ub2e4.<br \/>\n<a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/gis-wkb-format.html\">http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/gis-wkb-format.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uacf5\uac04 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\ub294 DBMS\ub294 \ud3ec\uc778\ud2b8, \ud3f4\ub9ac\ub77c\uc778, \ud3f4\ub9ac\uace4\uacfc \uac19\uc740 \uacf5\uac04 \uc88c\ud45c \ub370\uc774\ud130\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uc800\uc7a5\ud558\uae30 \uc704\ud574 BLOB \ud0c0\uc785\uc73c\ub85c\uc368 WKB\ub77c\ub294 \ud615\ud0dc\ub85c \uc800\uc7a5\ud569\ub2c8\ub2e4. \uac1c\ubc1c\ud558\uace0 \uc788\ub294 \uc9c0\ub3c4 \ub80c\ub354\ub7ec\ub97c \uc704\ud55c \ub9f5\uc5d4\uc9c4(\ucf54\ub4dc\uba85: Xr)\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218\uce58\uc9c0\ub3c4 \ub370\uc774\ud130 \ud3ec\ub9f7\uc5d0 \ub300\ud574 \uace0\ubbfc\ud558\ub358 \ucc28\uc5d0&#8230; GIS \ub370\uc774\ud130 \ud45c\ud604\uc758 \ubc94\uc6a9 \ud45c\uc900 \uc911\uc5d0 \ud558\ub098\uc778 WKB\uc5d0 \ub300\ud55c \uc790\ub8cc\ub97c \uc815\ub9ac\ud574 \ubcf4\uc558\uc2b5\ub2c8\ub2e4. WKB, \uc989 Well-known Binary\ub294 OpenGIS \uc2a4\ud399\uc5d0 \uc758\ud574 \uc815\uc758\ub41c \uc9c0\uc624\uba54\ud2b8\ub9ac \uac12\uc744 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=997\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[GIS] WKB(Well-Known Binary) Format&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[5],"class_list":["post-997","post","type-post","status-publish","format-standard","hentry","category-gis-working-history","tag-gis"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=997"}],"version-history":[{"count":1,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/997\/revisions"}],"predecessor-version":[{"id":3410,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/997\/revisions\/3410"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=997"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}