{"id":1386,"date":"2011-04-15T10:05:07","date_gmt":"2011-04-15T10:05:07","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=1386"},"modified":"2017-03-09T16:10:28","modified_gmt":"2017-03-09T07:10:28","slug":"geotools%eb%a5%bc-%ec%9d%b4%ec%9a%a9%ed%95%b4-shp-dbf-%ed%8c%8c%ec%9d%bc-%ec%9d%bd%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=1386","title":{"rendered":"[GIS] GeoTools\ub97c \uc774\uc6a9\ud574 SHP, DBF \ud30c\uc77c \uc77d\uae30"},"content":{"rendered":"<p>GeoTools(<a href=\"http:\/\/www.geotools.org\">http:\/\/www.geotools.org<\/a>)\ub294 \uc790\ubc14 \uae30\ubc18\uc758 GIS \uc2dc\uc2a4\ud15c\uc744 \uad6c\ucd95\ud560 \uc218 \uc788\ub294 \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uac16\ucd98 \uc624\ud508\uc18c\uc2a4\uc785\ub2c8\ub2e4. \uc81c\uac00 \ucc98\uc74c GeoTools\uc5d0 \uad00\uc2ec\uc744 \uac00\uc84c\ub358 \uc774\uc720\ub294 SHP \ud30c\uc77c\uc744 \uc77d\uae30 \uc704\ud55c \uc790\ubc14 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \ud544\uc694\ud574\uc11c \uc600\ub294\ub370\uc694. \uc774 \uae30\ub2a5\uc744 \ud30c\uc545\ud558\uae30 \uc704\ud574 \ud14c\uc2a4\ud2b8\ub85c \uc791\uc131\ud588\ub358 \ucf54\ub4dc\ub97c \uacf5\uc720\ud574 \ubd05\ub2c8\ub2e4.<\/p>\n<p>\uba3c\uc800 SHP \ud30c\uc77c\uc5d0\uc11c \uc88c\ud45c\ub97c \uc77d\uc5b4 \ub4e4\uc774\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>import java.io.IOException;\r\nimport java.net.MalformedURLException;\r\n\r\nimport org.geotools.data.shapefile.shp.ShapefileException;\r\nimport org.geotools.data.shapefile.shp.ShapefileReader;\r\nimport org.geotools.data.shapefile.shp.ShapefileReader.Record;\r\nimport org.geotools.data.shapefile.ShpFiles;\r\n\r\nimport com.vividsolutions.jts.geom.Geometry;\r\nimport com.vividsolutions.jts.geom.GeometryFactory;\r\nimport com.vividsolutions.jts.geom.Point;\r\n\r\npublic class ShapefileReaderTestMainEntry {\r\n    public static void main(String[] args) {\r\n        ShapefileReader r = null;\r\n        try {\r\n            ShpFiles shpFile = new ShpFiles(\"G:\\\\__Data__\\\\dong.shp\");\r\n\r\n            GeometryFactory geometryFactory = new GeometryFactory();\r\n            r = new ShapefileReader(shpFile, true, false, geometryFactory);\r\n\r\n            while (r.hasNext()) {\r\n                Record record = r.nextRecord();\r\n                Geometry shape = (Geometry)record.shape();\r\n                Point centroid = shape.getCentroid();\r\n                System.out.println(\r\n                    \"(\" \r\n                    + centroid.getX() \r\n                    + \", \" \r\n                    + centroid.getY() \r\n                    + \")\"\r\n                );\r\n            }\r\n            r.close();\r\n        } catch (MalformedURLException e1) {\r\n            e1.printStackTrace();   \r\n        } catch (ShapefileException e) {\r\n            e.printStackTrace();\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        };\r\n    }\r\n}<\/pre>\n<p>\ub2e4\uc74c\uc73c\ub85c\ub294 DBF \ud30c\uc77c\uc5d0\uc11c \uac12\uc744 \uc77d\uc5b4 \ub4e4\uc774\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre>import java.io.IOException;\r\nimport java.net.MalformedURLException;\r\nimport java.nio.charset.Charset;\r\n\r\nimport org.geotools.data.shapefile.ShpFiles;\r\nimport org.geotools.data.shapefile.dbf.DbaseFileHeader;\r\nimport org.geotools.data.shapefile.dbf.DbaseFileReader;\r\n\r\npublic class DbaseFileReaderTestMainEntry {\r\n    public static void main(String[] args) {\r\n        DbaseFileReader r = null;\r\n        try {\r\n            ShpFiles shpFile = new ShpFiles(\"G:\\\\__Data__\\\\dong.shp\");\r\n            r = new DbaseFileReader(shpFile, false, Charset.defaultCharset());\r\n            DbaseFileHeader header = r.getHeader();\r\n\r\n            int numFields = header.getNumFields();\r\n            for(int iField=0; iField < numFields; ++iField) {\r\n                String fieldName = header.getFieldName(iField);\r\n                System.out.println(fieldName);\r\n            }\r\n\r\n            while (r.hasNext()) {\r\n                Object[] values = r.readEntry();\r\n                for(int iField=0; iField < numFields; ++iField) {\r\n                    System.out.println(values[iField].toString());\r\n                }\r\n                System.out.println(\"---------------\");\r\n            }\r\n\r\n            r.close();\r\n        } catch (MalformedURLException e) {\r\n            e.printStackTrace();\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        }  \r\n    }\r\n}<\/pre><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GeoTools(http:\/\/www.geotools.org)\ub294 \uc790\ubc14 \uae30\ubc18\uc758 GIS \uc2dc\uc2a4\ud15c\uc744 \uad6c\ucd95\ud560 \uc218 \uc788\ub294 \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uac16\ucd98 \uc624\ud508\uc18c\uc2a4\uc785\ub2c8\ub2e4. \uc81c\uac00 \ucc98\uc74c GeoTools\uc5d0 \uad00\uc2ec\uc744 \uac00\uc84c\ub358 \uc774\uc720\ub294 SHP \ud30c\uc77c\uc744 \uc77d\uae30 \uc704\ud55c \uc790\ubc14 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \ud544\uc694\ud574\uc11c \uc600\ub294\ub370\uc694. \uc774 \uae30\ub2a5\uc744 \ud30c\uc545\ud558\uae30 \uc704\ud574 \ud14c\uc2a4\ud2b8\ub85c \uc791\uc131\ud588\ub358 \ucf54\ub4dc\ub97c \uacf5\uc720\ud574 \ubd05\ub2c8\ub2e4. \uba3c\uc800 SHP \ud30c\uc77c\uc5d0\uc11c \uc88c\ud45c\ub97c \uc77d\uc5b4 \ub4e4\uc774\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4. import java.io.IOException; import java.net.MalformedURLException; import org.geotools.data.shapefile.shp.ShapefileException; import org.geotools.data.shapefile.shp.ShapefileReader; import org.geotools.data.shapefile.shp.ShapefileReader.Record; import org.geotools.data.shapefile.ShpFiles; import &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=1386\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[GIS] GeoTools\ub97c \uc774\uc6a9\ud574 SHP, DBF \ud30c\uc77c \uc77d\uae30&#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":[12],"tags":[5,51],"class_list":["post-1386","post","type-post","status-publish","format-standard","hentry","category-opensource","tag-gis","tag-java"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1386","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=1386"}],"version-history":[{"count":3,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1386\/revisions"}],"predecessor-version":[{"id":4672,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1386\/revisions\/4672"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1386"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}