{"id":13051,"date":"2022-11-14T14:33:12","date_gmt":"2022-11-14T05:33:12","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=13051"},"modified":"2022-11-14T16:21:17","modified_gmt":"2022-11-14T07:21:17","slug":"gdal-api%eb%a5%bc-java%ec%97%90%ec%84%9c-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=13051","title":{"rendered":"GDAL API\ub97c JAVA\uc5d0\uc11c \uc0ac\uc6a9\ud558\uae30 (Windows \ud658\uacbd)"},"content":{"rendered":"<h3>#1 \ucef4\ud30c\uc77c\ub41c GDAL \ub2e4\uc6b4\ub85c\ub4dc<\/h3>\n<p>\ub2e4\uc74c \uc0ac\uc774\ud2b8\ub97c \ud1b5\ud574 \ubbf8\ub9ac \ucef4\ud30c\uc77c\ub41c GDAL\uc744 \ub0b4\ub824 \ubc1b\ub294\ub2e4. MSVC2022\ub85c \ucef4\ud30c\uc77c\ub41c x64\ub97c \uc120\ud0dd\ud55c \ub4a4 release-1930-x64-gdal-3-5-3-mapserver-8-0-0.zip\ub97c \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc558\uc74c : https:\/\/www.gisinternals.com\/release.php<\/p>\n<h3>#2 GDAL dll\uc758 PATH \uc9c0\uc815<\/h3>\n<p>\ub0b4\ub824\ubc1b\uc740 \ud30c\uc77c\uc758 \uc555\ucd95\uc744 \ud480\uba74 bin \ud3f4\ub354\uc5d0 gdal\uc5d0 \ub300\ud574 \ucef4\ud30c\uc77c\ub41c dll \ud30c\uc77c\uc774 \uc874\uc7ac\ud558\ub294\ub370, \uc774 bin \ud3f4\ub354\ub97c path\uc5d0 \uc9c0\uc815\ud55c\ub2e4. (gdalalljni.dll\uc5d0\uc11c \uc774 \ud3f4\ub354\uc758 dll\uc744 \ucc38\uc870\ud568)<\/p>\n<h3>#3 \uc774\ud074\ub9bd\uc2a4\uc5d0\uc11c \ub77c\uc774\ube0c\ub7ec\ub9ac \ucc38\uc870 \ubc0f glue dll \ucc38\uc870 \uc124\uc815<\/h3>\n<p>bin\/gdal\/java \ud3f4\ub354\uc5d0\ub294 gdal.jar\uc640 gdal\uc5d0 \ub300\ud55c glue dll\uc778 gdalalljni.dll\uc774 \uc874\uc7ac\ud558\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \uc774\ud074\ub9bd\uc2a4\uc5d0\uc11c \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uace0 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c gdal.jar\ub97c \ucc38\uc870\ud55c\ub2e4. \uadf8\ub9ac\uace0 gdal.jar\uac00 \ucc38\uc870\ud558\ub294 gdalalljni.dll \ud30c\uc77c\uc744 JRE\uac00 \ud30c\uc545\ud560 \uc218 \uc788\ub3c4\ub85d \uc774 \ud30c\uc77c\uc758 \uacbd\ub85c(d:\/path1\/path2 \ub77c\uace0 \ud558\uc790)\ub97c VM arguments\uc5d0 -Djava.library.path=d:\/path1\/path2 \ub97c \uc785\ub825\ud55c\ub2e4. (\ub9cc\uc57d path\uc5d0 \uc774 \uacbd\ub85c\uac00 \uc9c0\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \uc0dd\ub7b5\ud574\ub3c4 \ub428)<\/p>\n<h3>#4 \ucf54\ub4dc \ud14c\uc2a4\ud2b8<\/h3>\n<p>\ud14c\uc2a4\ud2b8 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\npackage tstGDAL;\r\n\r\nimport org.gdal.gdal.Dataset;\r\nimport org.gdal.gdal.gdal;\r\nimport org.gdal.gdalconst.gdalconstConstants;\r\n\r\npublic class MainEntry {\r\n    Dataset hDataset;\r\n    int numBands;\r\n\t \r\n    public MainEntry(String filename) {\r\n        gdal.AllRegister();\r\n        hDataset = gdal.Open(filename, gdalconstConstants.GA_ReadOnly);\r\n        this.numBands = hDataset.getRasterCount();\r\n    }\r\n\t \r\n    public static void main(String[] args) {\r\n        String path = \"d:\/sample.tif\";\r\n        MainEntry instance = new MainEntry(path);\r\n        System.out.println(instance.numBands);\r\n    }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#1 \ucef4\ud30c\uc77c\ub41c GDAL \ub2e4\uc6b4\ub85c\ub4dc \ub2e4\uc74c \uc0ac\uc774\ud2b8\ub97c \ud1b5\ud574 \ubbf8\ub9ac \ucef4\ud30c\uc77c\ub41c GDAL\uc744 \ub0b4\ub824 \ubc1b\ub294\ub2e4. MSVC2022\ub85c \ucef4\ud30c\uc77c\ub41c x64\ub97c \uc120\ud0dd\ud55c \ub4a4 release-1930-x64-gdal-3-5-3-mapserver-8-0-0.zip\ub97c \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc558\uc74c : https:\/\/www.gisinternals.com\/release.php #2 GDAL dll\uc758 PATH \uc9c0\uc815 \ub0b4\ub824\ubc1b\uc740 \ud30c\uc77c\uc758 \uc555\ucd95\uc744 \ud480\uba74 bin \ud3f4\ub354\uc5d0 gdal\uc5d0 \ub300\ud574 \ucef4\ud30c\uc77c\ub41c dll \ud30c\uc77c\uc774 \uc874\uc7ac\ud558\ub294\ub370, \uc774 bin \ud3f4\ub354\ub97c path\uc5d0 \uc9c0\uc815\ud55c\ub2e4. (gdalalljni.dll\uc5d0\uc11c \uc774 \ud3f4\ub354\uc758 dll\uc744 \ucc38\uc870\ud568) #3 \uc774\ud074\ub9bd\uc2a4\uc5d0\uc11c \ub77c\uc774\ube0c\ub7ec\ub9ac \ucc38\uc870 \ubc0f glue &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=13051\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;GDAL API\ub97c JAVA\uc5d0\uc11c \uc0ac\uc6a9\ud558\uae30 (Windows \ud658\uacbd)&#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":[1],"tags":[],"class_list":["post-13051","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13051","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=13051"}],"version-history":[{"count":4,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13051\/revisions"}],"predecessor-version":[{"id":13057,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13051\/revisions\/13057"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13051"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}