<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 久久99热只有频精品8| 国产精品香蕉在线观看| 久久中文字幕2021精品| 亚洲精品偷拍视频免费观看 | 亚洲午夜精品一区二区麻豆| 国产精品高清一区二区三区 | 婷婷久久精品国产| 色综合久久精品亚洲国产| 亚洲嫩草影院久久精品| 真实国产乱子伦精品视频| 色老成人精品视频在线观看| 精品国产日韩亚洲一区91| 亚洲精品电影在线| 日韩人妻精品一区二区三区视频| 亚洲精品无码永久中文字幕| 国产精品福利区一区二区三区四区| 精品72久久久久久久中文字幕| 69久久精品无码一区二区| 精品永久久福利一区二区| 性欧洲精品videos| 日本精品一区二区三区在线观看| 国产亚洲精品资在线| 国产成人综合久久精品红| 亚洲精品福利在线观看| 99久在线精品99re6视频| 亚洲AV无码久久精品蜜桃| 精品视频一区二区三区在线观看 | 亚洲av产在线精品亚洲第一站| 四虎国产精品永久免费网址| 久久91精品国产91久久小草| 久久99精品国产99久久6男男| 国产亚洲精品a在线观看| 国产三级精品三级在线观看专1| 亚洲国产精品成人久久蜜臀| 四虎一影院区永久精品| 精品一区二区三区在线播放 | 99精品在线免费观看| 99久久国产综合精品女图图等你| 无码精品黑人一区二区三区| 99久久99久久久精品久久| 99亚洲精品高清一二区|