<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java geotools

    文檔

    java geotools

    Geotools是一個java類庫,提供了很多的標準類和方法來處理空間數據,同時這個類庫是構建在OGC標準之上的,是OGC思想的一種實現。使用Java語言和面向對象方法時,按照功能劃分模塊,結構清晰。
    推薦度:
    導讀Geotools是一個java類庫,提供了很多的標準類和方法來處理空間數據,同時這個類庫是構建在OGC標準之上的,是OGC思想的一種實現。使用Java語言和面向對象方法時,按照功能劃分模塊,結構清晰。

    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
    */
    ????????List?list?=?new?ArrayList();
    ????????File?file?=?getFile(path);
    ????????if?(file?==?null)?{
    ????????????return?list;
    ????????}
    ????????String?charset?=?getCharSet(path);
    ????????FileDataStore?store?=?FileDataStoreFinder.getDataStore(file);
    ????????((ShapefileDataStore)store).setCharset(Charset.forName(charset));
    ????????SimpleFeatureSource?featureSource?=?store.getFeatureSource();
    ????????SimpleFeatureCollection?collection?=?featureSource.getFeatures();
    ????????SimpleFeatureIterator?features?=?collection.features();
    ????????while?(features.hasNext())?{
    ????????????Map?item?=?new?HashMap();
    ????????????SimpleFeature?f?=?features.next();
    ????????????Collection?p?=?f.getProperties();
    ????????????Iterator?it?=?p.iterator();
    ????????????while?(it.hasNext())?{
    ????????????????Property?pro?=?it.next();
    ????????????????String?field?=?pro.getName().toString();
    ????????????????field?=?field.equals("the_geom")???"wkt"?:?field;
    ????????????????String?value?=?pro.getValue().toString();
    ????????????????item.put(field,?value);
    ????????????}
    ????????????list.add(item);
    ????????}
    ????????return?list;
    ????}
    ????
    ????private?static?File?getFile(String?path){
    ????????File?file?=?new?File(path);
    ????????if?(file?==?null)?{
    ????????????System.out.println("找不到路徑:"?+?path);
    ????????}
    ????????return?file;
    ????}
    ????/*
    ????獲取shapefile字符編碼
    ????如果存在.cpg文件,則從中讀取,否則默認為UTF-8
    ?????*/
    ????private?static?String?getCharSet(String?path){
    ????????String?charset?=?"UTF-8";
    ????????int?p?=?path.lastIndexOf(".");
    ????????String?cpg?=?path.substring(0,p)?+?".cpg";
    ????????File?file?=?getFile(cpg);
    ????????if(file?!=?null)?{
    ????????????RandomAccessFile?raf?=?null;
    ????????????try?{
    ????????????????raf?=?new?RandomAccessFile(cpg,?"r");
    ????????????????charset?=?raf.readLine();
    ????????????????raf.close();
    ????????????}?catch?(FileNotFoundException?e)?{
    ????????????????e.printStackTrace();
    ????????????}?catch?(IOException?e)?{
    ????????????????e.printStackTrace();
    ????????????}
    ????????}
    ????????return?charset;
    ????}
    }

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java geotools

    Geotools是一個java類庫,提供了很多的標準類和方法來處理空間數據,同時這個類庫是構建在OGC標準之上的,是OGC思想的一種實現。使用Java語言和面向對象方法時,按照功能劃分模塊,結構清晰。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java getbytes java hashcode java hdfs java node類 java notify java nslookup java number java hibernate java htmlunit java image java implements java influxdb java inputstreamreader java onvif java openfire java opengl java openjdk java rectangle java redirect java reference java nfs java nexus java nextline java nextint java newinstance java namespace java mybatisplus java mvvm java multiset java mqtt java mono java monad java module java modelandview java mockito java mmap java mkdir java mina java mian java method
    Top 凹凸国产熟女精品视频| 2019国产精品青青草原| 国产成人无码精品久久久小说 | 午夜三级国产精品理论三级 | 国产精品国产三级国产普通话一 | 麻豆国产在线精品国偷产拍| 无码国内精品久久人妻麻豆按摩 | 国产2021久久精品| 精品香蕉在线观看免费| 精品九九人人做人人爱| 国产精品嫩草影院在线看| 2021国内精品久久久久精免费| 国产精品尹人在线观看| 久久精品国产72国产精| 78成人精品电影在线播放 | 国产精品污WWW一区二区三区| 日本精品无码一区二区三区久久久| 久久99精品免费视频| 久久精品国产亚洲Aⅴ香蕉| 国产精品毛片无遮挡高清| 2017国产精品自拍| 99久久免费看国产精品| 亚洲精品制服丝袜四区| 亚洲国产主播精品极品网红| 成人国产精品一区二区网站公司 | 亚洲精品成人图区| 久久久免费的精品| 精品亚洲综合久久中文字幕| 亚洲情侣偷拍精品| 精品一区二区三区免费毛片| 国产精品亚洲专区无码WEB| 92国产精品午夜福利| 中文字幕亚洲精品| 久久精品香蕉视频| 亚洲精品乱码久久久久久中文字幕 | 精品影片在线观看的网站| 91精品免费观看| 久久精品亚洲一区二区三区浴池 | 大伊香蕉精品一区视频在线| 国产成人精品免费大全| caoporn国产精品免费|