geotools加载栅格,shp矢量数据源读取数据,过滤数据,保存数据解析
创始人
2024-03-22 21:37:31
0

//**finder获取对应数据格式的数据源,栅格数据,矢量数据在图层上是一样的,可以叠加
              //栅格数据没有feature,只有四至等描述,直接渲染
              AbstractGridFormat format = GridFormatFinder.findFormat( rasterFile );
              reader = format.getReader(rasterFile);
              
               FileDataStore dataStore = FileDataStoreFinder.getDataStore(shpFile);
              SimpleFeatureSource shapefileSource = dataStore
                .getFeatureSource();
              
              除了栅格数据只能显示,无法解析成内部要素几何,shp等矢量数据都能自动映射到simplefeature
              cvs需要自己一行一行读取构造成数据(features)
              SimpleFeatureIterator ls = shapefileSource.getFeatures().features();
        if(ls.hasNext()){
            SimpleFeature l =  ls.next();
        }
        
        dataStore对于客户端就相当于数据库:
        1,读取数据1,获取数据源,获取数据集合,获取数据迭代器
        2,写入数据,数据源开启事务,加入数据集合,数据加入数据,提交事务,就往数据源写入了对应数据源的数据
        Transaction transaction = new DefaultTransaction("create");

        String typeName = newDataStore.getTypeNames()[0];
        SimpleFeatureSource featureSource = newDataStore.getFeatureSource(typeName);
//        SimpleFeatureType SHAPE_TYPE = featureSource.getSchema();
        SimpleFeatureType SHAPE_TYPE = createFeatureType();
         SimpleFeatureStore featureStore = (SimpleFeatureStore) featureSource;
            /*
             * SimpleFeatureStore has a method to add features from a
             * SimpleFeatureCollection object, so we use the ListFeatureCollection
             * class to wrap our list of features.
             */
            SimpleFeatureCollection collection = new ListFeatureCollection(TYPE, features);
            featureStore.setTransaction(transaction);
            try {
                featureStore.addFeatures(collection);
                transaction.commit();
            } catch (Exception problem) {
                problem.printStackTrace();
                transaction.rollback();
            } finally {
                transaction.close();
            }
            System.exit(0); // success!
        } else {
            System.out.println(typeName + " does not support read/write access");
            System.exit(1);
        }
              
        3,查询在获取数据的时候传入条件过滤器即可,点击选中就是点击点的小范围搜索
         /*
         * 创建过滤器以选择与边界框相交的要素
         */
        Filter filter = ff.intersects(ff.property(geometryAttributeName), ff.literal(bbox));

        /*
         * 使用过滤器识别选定的特征
         */
            SimpleFeatureCollection selectedFeatures = featureSource.getFeatures(filter);      
              
              
               Filter filter = CQL.toFilter(text.getText());

        Query query = new Query(typeName, filter, name);

        SimpleFeatureCollection features = source.getFeatures(query);

相关内容

热门资讯

搭建温暖桥梁:湖南芙蓉律师事务... 这个冬天,湖南芙蓉律师事务所想搭一座“温暖桥梁”——发起“橙”意满满助农公益捐赠活动,计划捐赠20万...
原创 日... 目前中日关系的紧张局势已经无法用摩擦或争议这些温和的词汇来形容了。真正发生的变化,不仅仅是某一具体事...
央行报告:着力健全有利于“长钱... 新京报贝壳财经讯 12月26日,中国人民银行发布《中国金融稳定报告(2025)》。报告提出,下一步,...
从“小洛熙”事件谈起:芙蓉律所... 近期,宁波大学附属妇女儿童医院发生的“小洛熙”事件引发了社会广泛关注。一名五月龄婴儿的不幸离世,在牵...
如何看待精神病人犯罪,普通人如... 这起精神病人杀人案备受关注,审判当天,许多市民在法院外围观。 成都27岁女子家门口被害案一审宣判后,...
云南昆明发布4项沿边特色的制度... 人民网昆明12月27日电 (记者蔡树菁)12月26日,中国(云南)自由贸易试验区昆明片区举行制度创新...
原创 大... 大学生起诉父亲追讨学费电脑费:亲情与法律的边界之争 当22岁的大学生张某将亲生父亲告上法庭索要学费和...
索赔23.14亿元!吉利子公司... 红星资本局12月27日消息,12月26日晚间,欣旺达(300207.SZ)披露公告称,子公司欣旺达动...
深化数智赋能 北京市检察机关有... 人民网北京12月27日电 (记者王子锋)虚假诉讼破坏社会诚信、损害人民群众合法权益、危害司法公信力,...