当前位置: 首页 > news >正文

网站规划与建设规划书百度网站客服

网站规划与建设规划书,百度网站客服,wordpress 主题 三栏,家乡网站设计目的geotools解析kml、geojson geotools环境准备公共获取属性方法解析kml解析geojson解析shp geotools环境准备 这里使用的是maven引用geotools包&#xff0c;引用geotools包需要添加maven仓库&#xff0c;pom.xml文件如下&#xff1a; <properties><!-- geotools版本 -…

geotools解析kml、geojson

  • geotools环境准备
  • 公共获取属性方法
  • 解析kml
  • 解析geojson
  • 解析shp

geotools环境准备

这里使用的是maven引用geotools包,引用geotools包需要添加maven仓库,pom.xml文件如下:

<properties><!-- geotools版本 --><geotools-version>28.2</geotools-version>
</properties><!-- geotools-->
<dependency><groupId>org.geotools</groupId><artifactId>gt-main</artifactId><version>${geotools-version}</version>
</dependency>
<dependency><groupId>org.geotools</groupId><artifactId>gt-geojson</artifactId><version>${geotools-version}</version>
</dependency><!-- geotools-geojson核心包 -->
<dependency><groupId>org.geotools</groupId><artifactId>gt-geojson-core</artifactId><version>${geotools-version}</version>
</dependency>
<dependency><groupId>org.geotools.xsd</groupId><artifactId>gt-xsd-kml</artifactId><version>${geotools-version}</version>
</dependency><!-- geotools仓库-->
<repositories><repository><id>osgeo</id><name>Open Source Geospatial Foundation Repository</name><url>https://repo.osgeo.org/repository/release/</url></repository><repository><id>osgeo-snapshot</id><name>OSGeo Snapshot Repository</name><url>https://repo.osgeo.org/repository/snapshot/</url></repository>
</repositories>

公共获取属性方法

@Slf4j
public class AnalysisUtil {public static void readProperty(SimpleFeature simpleFeature) {Collection<Property> properties = simpleFeature.getProperties();Iterator<Property> iterator = properties.iterator();int index = 0;while (iterator.hasNext()) {Property property = iterator.next();//kml拿到属性值会有自带的9个属性if (index++ > 8) {log.info("GeoJSONReader解析geojson -->> 属性名:【{}】,属性值:【{}】,属性类型:【{}】", property.getName().toString(),property.getValue(), property.getType().getBinding());}}Object defaultGeometry = simpleFeature.getDefaultGeometry();//wkt格式geometryGeometry geometry = (Geometry) defaultGeometry;log.info("wkt格式geometry:{}", geometry);}
}

解析kml

KML(Keyhole Markup Language,Keyhole 标记语言)是一种基于XML 的标记语言,利用XML 语法格式描述地理空间数据(如点、线、面、多边形和模型等)。

public class AnalysisKml {public static void main(String[] args) {String fileUrl = "D:\\workspace\\vector\\vector\\KML.kml";try (FileInputStream fileInputStream = new FileInputStream(fileUrl)) {PullParser parser = new PullParser(new KMLConfiguration(), fileInputStream, SimpleFeature.class);SimpleFeature simpleFeature = (SimpleFeature) parser.parse();//kml文件声明了坐标系才能获取到,没声明获取就是nullCoordinateReferenceSystem coordinateReferenceSystem = simpleFeature.getFeatureType().getCoordinateReferenceSystem();log.info("解析kml获取坐标系:{}", coordinateReferenceSystem);readKml(simpleFeature, parser);} catch (XMLStreamException | IOException | SAXException e) {throw new UtilException(e.getMessage());}}//递归方式获取每个地块信息public static void readKml(SimpleFeature simpleFeature, PullParser parser) throws XMLStreamException, IOException,SAXException {//读取属性AnalysisUtil.readProperty(simpleFeature);//获取下一个simpleFeaturewhile (simpleFeature != null && simpleFeature.getDefaultGeometry() != null) {simpleFeature = (SimpleFeature) parser.parse();readKml(simpleFeature, parser);}}
}

解析geojson

GeoJSON 是一种用于编码各种地理数据结构的格式。
GeoJSON 支持以下几何类型:Point、LineString、Polygon、MultiPoint、MultiLineString 和 MultiPolygon。 具有附加属性的几何对象是特征对象。 要素集包含在FeatureCollection 对象中。

下面介绍2种解析geojson的方法:

  1. org.geotools.data.geojson.GeoJSONReader解析给geojson,但是它不会读取坐标系,所以不管什么坐标系的geojson文件读出来都是默认的坐标系WGS84.
  2. org.geotools.geojson.feature.FeatureJSON解析geojson可以读到文件对应的坐标系。
@Slf4j
public class GeoJsonAnalysis {public static void main(String[] args) {String fileUrl = "D:\\workspace\\vector\\vector\\福田路网geojson.geojson";geoJSONReader(fileUrl);featureJson(fileUrl);}public static void featureJson(String fileUrl) {// 指定GeometryJSON构造器,15位小数FeatureJSON featureJson = new FeatureJSON(new GeometryJSON(15));try {FeatureCollection featureCollection = featureJson.readFeatureCollection(new FileInputStream(fileUrl));//获取坐标系CoordinateReferenceSystem coordinateReferenceSystem =featureCollection.getSchema().getCoordinateReferenceSystem();log.info("解析geojson获取坐标系:{}", coordinateReferenceSystem);FeatureIterator featureIterator = featureCollection.features();while (featureIterator.hasNext()) {SimpleFeature simpleFeature = (SimpleFeature) featureIterator.next();AnalysisUtil.readProperty(simpleFeature);}} catch (IOException e) {e.printStackTrace();}}public static void geoJSONReader(String fileUrl) {GeoJSONReader reader = null;try {reader = new GeoJSONReader(new FileInputStream(fileUrl));SimpleFeatureCollection featureCollection = reader.getFeatures();//创建图层数据迭代器FeatureIterator<SimpleFeature> simpleFeatureFeatureIterator = featureCollection.features();while (simpleFeatureFeatureIterator.hasNext()) {AnalysisUtil.readProperty(simpleFeatureFeatureIterator.next());}} catch (IOException e) {e.printStackTrace();} finally {if (reader != null) {try {reader.close();} catch (IOException e) {e.printStackTrace();}}}}
}

解析shp

shp文件解析请看往期文章:geotoolsu解析shp文件

http://www.yidumall.com/news/37459.html

相关文章:

  • 对招聘网站页面设计做建议做网络推广的公司
  • 重庆平台网站建设多少钱semester什么意思
  • 宝安做棋牌网站建设哪家好seo整站怎么优化
  • 网站后台页面是什么网络营销课程个人总结
  • 盘锦网站变建设网站推广优化网址
  • 帮人做网站在徐州被敲诈五万互联网营销师培训机构
  • 网站招工费怎么做会计分录网站查询服务器
  • 怎么查看网站是否做静态化处理电子商务网站建设
  • 做网站买空间邢台网站公司
  • 广州医院网站建设网络推广引流最快方法
  • 中山品牌网站设计seo排名首页
  • 专门做网站开发的公司建站之星官网
  • 个人域名备过案了做电影网站会查吗seo狂人
  • 自己做网站想更换网址宁波seo快速优化平台
  • wordpress+编辑器字号自贡网站seo
  • 西安市建设协会网站免费seo公司
  • 买模板做网站福州百度推广排名
  • 网站开发与网站建设营销推广平台
  • 企鹅自媒体平台注册优化好搜移动端关键词快速排名
  • 中色十二冶金建设集团有限公司网站自己建个网站要多少钱
  • 英文网站建设580百度竞价渠道户
  • 自己做网站卖水果网络营销案例分析
  • 如何运用网站做宣传新疆疫情最新情况
  • 广州品牌网站建设 优美批量关键词调排名软件
  • 中国域名门户网站谷歌搜索引擎首页
  • 江西网站设计电话网站页面优化方法
  • 前端网站如何做全景图指数是什么意思
  • php网站开发周期多长nba最新交易新闻
  • 大型网站开发语言排名设计公司网站
  • 昆山高端网站建设机构排名sem优化软件