java geotools是什么,讓我們一起了解一下?
Geotools是一個java類庫,提供了很多的標準類和方法來處理空間數據,同時這個類庫是構建在OGC標準之上的,是OGC思想的一種實現。使用Java語言和面向對象方法時,按照功能劃分模塊,結構清晰。
它的核心特點是什么?1、為空間概念和數據結構定義了很多的接口。2、通過JTS類庫集成了對幾何拓撲的支持。3、通過使用OGC過濾編碼規范可以對屬性和空間要素過濾。4、對于數據訪問API,支持要素訪問、事務支持和線程間鎖定。5、可以訪問多種格式的數據和空間數據庫。
6、支持多種坐標參考系統和及其轉換。7、可以和擴展的地圖投影一同工作。8、可以按照空間和非空間屬性來過濾和分析數據。9、一種無狀態的,耗低內存的渲染機制,尤其在服務端環境下。10、通過復雜的樣式(SLD)來組成和展現地圖。
實戰操作:
java如何用geotools類庫讀取shapefile?
shapefile是esri公司最先搞出來的,那么arcgis應該是有相關的類庫的吧?好像找不到?我問過搞移動端的同事,arcgis for android確有處理shapefile的類庫,處理起來易如反掌。
但是,在WEB系統,服務器端從shapefile讀出數據,最終是要在前端瀏覽器中展示,像我們目前在建的項目,就是要用arcgis for js來展示這些數據,而安卓系統類似CS項目,有很大的不同。最大的不同,WEB系統中,數據要以JSON的形式給前端,這樣才好處理。
import?com.alibaba.fastjson.JSON; import?com.alibaba.fastjson.JSONArray; import?com.alibaba.fastjson.JSONObject; import?org.geotools.data.FileDataStore; import?org.geotools.data.FileDataStoreFinder; import?org.geotools.data.shapefile.ShapefileDataStore; import?org.geotools.data.shapefile.dbf.DbaseFileHeader; import?org.geotools.data.shapefile.dbf.DbaseFileReader; import?org.geotools.data.shapefile.files.ShpFiles; import?org.geotools.data.simple.SimpleFeatureCollection; import?org.geotools.data.simple.SimpleFeatureIterator; import?org.geotools.data.simple.SimpleFeatureSource; import?org.geotools.geojson.feature.FeatureJSON; import?org.geotools.geometry.jts.ReferencedEnvelope; import?org.locationtech.jts.geom.Coordinate; import?org.locationtech.jts.geom.Geometry; import?org.opengis.feature.Property; import?org.opengis.feature.simple.SimpleFeature; import?org.opengis.feature.simple.SimpleFeatureType; import?org.opengis.referencing.FactoryException; import?org.opengis.referencing.crs.CoordinateReferenceSystem; import?org.opengis.referencing.operation.TransformException; import?java.io.*; import?java.nio.charset.Charset; import?java.util.*; /* ????shapefile操作類 ?*/ public?class?ShapefileHelper?{ ????public?static?Object?read(String?path)?throws?IOException?{ ????/* 參數path就是shp文件的完整路徑,如:E:\\蟠桃會資源清查\\調查圖斑.shp?? 系統會自動檢查同一個目錄下有沒有其他相關文件,有的話會一并讀出, 相關文件的路徑無須給出 .shp?存儲地理形狀和位置信息 .dbf?存儲屬性信息 .shx?索引文件 .prj?坐標系 .cpg?字符編碼,如UTF-8 讀取出來的結果類型為?List
以上就是小編今天的分享了,希望可以幫助到大家。