<th id="wu2k2"><s id="wu2k2"></s></th> <blockquote id="wu2k2"></blockquote>
  • <tr id="wu2k2"></tr>
  • <samp id="wu2k2"><tbody id="wu2k2"></tbody></samp><samp id="wu2k2"><tbody id="wu2k2"></tbody></samp>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    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 精品特级一级毛片免费观看| 亚欧人成精品免费观看| 国产美女精品久久久久久久免费| 日韩精品少妇无码受不了| 久久无码精品一区二区三区| 国产精品深爱在线| 2021国产精品午夜久久| 熟妇人妻VA精品中文字幕| 精品人妻少妇一区二区三区| 国产精品96久久久久久久| 国产精品一在线观看| 在线观看亚洲精品国产| 热99精品只有里视频最新| 97色精品视频在线观看| 国产精品大bbwbbwbbw| 99久热只有精品视频免费看| 国产精品538一区二区在线| 中文字幕精品一区二区2021年| 久久99久久99精品免观看不卡| 国产精品久久久久影视青草| 99re最新在线精品| 国产2021精品视频免费播放| 99久久精品国产免费| 午夜影视日本亚洲欧洲精品一区| 中文字幕日韩精品在线| 国产精品无码v在线观看| 国产精品成人久久久| 亚洲91精品麻豆国产系列在线| 99re热久久精品这里都是精品| 久久国产精品一国产精品| 国产精品99精品久久免费| 欧洲精品码一区二区三区免费看| 国产精品99久久99久久久动漫| 久久久久久午夜精品| 一本色道久久88亚洲精品综合| 亚洲国产精品一区二区三区在线观看| 亚洲婷婷第一狠人综合精品| 国产精品天天影视久久综合网| 国产精品视频一区麻豆| 国色精品卡一卡2卡3卡4卡免费| 91精品视频免费|