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

上海网站设计联系方式快抖霸屏乐云seo

上海网站设计联系方式,快抖霸屏乐云seo,成都旅游团,网站建设的整体流程有哪些?前言 在GIS开发中,属性查询是非常普遍的操作,这是每一个GISer都要掌握的必备技能。实现高效的数据查询功能可以提升用户体验,完成数据的快速可视化表达。 本篇教程基于前一篇文章GeoTools 结合 OpenLayers 实现属性查询进行优化完善&#xff…

前言

在GIS开发中,属性查询是非常普遍的操作,这是每一个GISer都要掌握的必备技能。实现高效的数据查询功能可以提升用户体验,完成数据的快速可视化表达。

本篇教程基于前一篇文章GeoTools 结合 OpenLayers 实现属性查询进行优化完善(如果你还没有看过,请从那里开始),讲解如何将使用GeoTools工具结合OpenLayers实现PostGIS空间数据库数据的属性查询功能,着重说明从后端读取FeatureCollection对象在前端直接加载。

1. 后端转换FeatureCollection对象

在本例中通过创建一个FeatureJSON和一个StringWriter对象,将FeatureCollection数据转换为GeoJSON字符串返回给前端。

// 创建 FeatureJSON 对象
FeatureJSON featureJSON = new FeatureJSON();
StringWriter writer = new StringWriter();
featureJSON.writeFeatureCollection(collection,writer);
// 将 FeatureCollection 转换为JSON 字符串
String jsonFeatures = writer.toString();
result.put("countries",jsonFeatures);

与前面文章例子中不同的是使用此种方法不需要创建实体对象,也不需要像下面这样遍历要素集合,然后构造要素属性,直接返回一个json字符串即可,使用起来就显得方便简单。

try(FeatureIterator<SimpleFeature> features = collection.features()) {while (features.hasNext()) {SimpleFeature feature = features.next();Countries country = new Countries();country.setGid((Integer) feature.getAttribute("gid"));// 此处构造要素属性数据		Object geometry = feature.getAttribute("geom");GeometryJSON geometryJSON = new GeometryJSON();StringWriter writer = new StringWriter();geometryJSON.write((Geometry) geometry,writer);String geoJSON = writer.toString();country.setGeom(geoJSON);countries.add(country);}
}catch (Exception e){e.printStackTrace();
}

代码修改前后对比图。

2. 前端读取FeatureCollection对象

使用此种方式在前端加载数据时也需要改写一下,主要有三个注意的点:一方面是因为后端返回的是JSON字符串数据,所以前端加载时需要使用JSON.parse方法将其解析为JSON对象;另外一方面是使用features.forEach遍历集合要素设置动态颜色值,最后是使用readFeatures方法读取FeatureCollection对象。

const countries = JSON.parse(result.countries)
// 设置动态颜色属性
countries.features.forEach(feat => {feat.properties.color = `hsl(${Math.floor(Math.random() * 360)}, 100%, 50%)`
})
// 读取 FeatureCollection 数据
const features = new ol.format.GeoJSON().readFeatures(countries)
const vectorSource = new ol.source.Vector({features: features,format: new ol.format.GeoJSON()
})

代码修改前后对比图。

OpenLayers示例数据下载,请回复关键字:ol数据

全国信息化工程师-GIS 应用水平考试资料,请回复关键字:GIS考试

【GIS之路】 已经接入了智能助手,欢迎关注,欢迎提问。

欢迎访问我的博客网站-长谈GIShttp://shanhaitalk.com

都看到这了,不要忘记点赞、收藏 + 关注

本号不定时更新有关 GIS开发 相关内容,欢迎关注 !

http://www.dtcms.com/wzjs/1237.html

相关文章:

  • php团购网站开发厦门seo搜索排名
  • 凡科网站建设之后怎么删除win优化大师有用吗
  • 公司网站建设价格多少网络推广视频
  • 分类信息网站平台的推广如何分析百度指数
  • 东营做网站优化的公司阿里云域名注册流程
  • 怎么做时时彩彩票网站2023必考十大时政热点
  • 网页版传奇制作教程广州市网络seo外包
  • 广东网站开发软件企业的互联网推广
  • 英文网站设计哪家好网站注册步骤
  • 企业网站建设建设seo网站推广建站服务商
  • 四川省的建设厅注册中心网站首页个人网站推广
  • 点瑞网络网站建设信息流优化师工作总结
  • 简单网页制作训练百度如何优化
  • app软件开发公司员工守则优化怎么做
  • 做网站容易学吗深圳营销推广公司
  • dede网站移动端怎么做企业管理咨询培训
  • 网站的优化分析谷歌paypal官网下载
  • html和php做网站哪个好seo网络排名优化哪家好
  • 绵阳专门做网站的公司网络营销主要做什么
  • 自己做流媒体网站难现在有什么推广平台
  • 做公司的网站的需求有哪些手机端关键词排名免费软件
  • 自己做的导航网站重庆seo黄智
  • 湖北网站建设价格网站推广的方式和方法
  • 嘉兴网站专业深圳疫情最新消息
  • 南宁网站推广seo整站网站推广优化排名
  • 新闻网站建设现状分析搜索引擎优化方式
  • 网站推广与维护有什么不同微博推广费用一般多少
  • 铜仁建设公司网站网站关键词搜索
  • 郑州市建设投资集团公司网站佣金高的推广平台
  • 用table做的网站seo论坛站长交流