<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></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 国产精品被窝福利一区| 91精品视频观看| 日本精品一区二区三区视频| 久久久国产精品网站| 国产精品99re| 国产精品香蕉在线一区| 国产精品无码无片在线观看| 国内精品久久久久影视| 亚洲精品成人久久| 中文字幕日韩精品有码视频 | 精品乱人伦一区二区| 亚洲精品综合久久中文字幕| 亚洲国产一成人久久精品| 国产91精品久久久久久久| 99精品一区二区三区无码吞精| 久久无码专区国产精品| 精品99又大又爽又硬少妇毛片| 麻豆亚洲AV成人无码久久精品 | 国产精品爽爽影院在线| 国产精品久久免费| 日韩精品无码一区二区三区不卡| 精品多毛少妇人妻AV免费久久| 精品国产AV无码一区二区三区 | 国产精品免费网站| 久久99精品久久| 亚洲精品无码Av人在线观看国产 | 国产精品毛片无码| 精品久久久久久无码中文字幕漫画| 久久久久久久精品成人热色戒 | 国产精品午夜剧场| 99国产精品自在自在久久| 亚洲Av无码精品色午夜| 9i9精品国产免费久久| 激情啪啪精品一区二区| 无码国产精品一区二区高潮| 久热爱精品视频在线| 国内久久精品视频| 亚洲国产精品无码久久久秋霞1| 国产精品久久免费| 精品麻豆丝袜高跟鞋AV| 亚洲精品人成电影网|