<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 国产精品久久久久久网站| 在线精品视频播放| 日韩精品久久不卡中文字幕| 国产精品久线在线观看| 亚洲一区二区三区国产精品| 黑巨人与欧美精品一区| 91精品国产色综合久久不| 亚洲精品国产成人片| jiucao在线观看精品| 精品久久久久不卡无毒| 无码国产精品一区二区免费虚拟VR | 亚洲AV无码成人精品区大在线| 日韩视频在线精品视频免费观看| 亚洲国产综合91精品麻豆| 国产亚洲精品va在线| 久久精品国产WWW456C0M| 精品一区二区高清在线观看| 精品综合久久久久久蜜月| 无码精品A∨在线观看免费| 久久精品人妻中文系列| 久热这里只有精品12| 亚洲Av无码精品色午夜| 久久精品国产国产精品四凭| 国产乱人伦app精品久久| 蜜臀亚洲AV无码精品国产午夜.| 网友自拍区视频精品| 精品国产v无码大片在线观看| 91精品91久久久久久| 亚洲精品私拍国产福利在线| 久久精品视频一区二区三区| 亚洲国产精品特色大片观看完整版| 三上悠亚国产精品一区| aaaaaa精品视频在线观看| 久久亚洲av无码精品浪潮| 久久亚洲av无码精品浪潮| 97久久精品午夜一区二区| 99久久免费国产精精品| 国产精品原创巨作av女教师| 九九精品在线观看| 久久精品aⅴ无码中文字字幕| 国产国产精品人在线观看|