openlayers结合turf geojson面获取面积和中心点
在 OpenLayers 中绘制 GeoJSON 面要素并计算面积和中心点,可以结合 OpenLayers 的 ol/format/GeoJSON
模块将 GeoJSON 数据转换为 OpenLayers 的 Feature,然后使用 Turf.js 进行计算。示例代码如下
import Map from 'ol/Map';
import View from 'ol/View';
import { Tile as TileLayer } from 'ol/layer';
import OSM from 'ol/source/OSM';
import { Vector as VectorLayer } from 'ol/layer';
import VectorSource from 'ol/source/Vector';
import GeoJSON from 'ol/format/GeoJSON';
import * as turf from '@turf/turf';// 创建地图
const map = new Map({target: 'map',layers: [new TileLayer({ source: new OSM() })],view: new View({center: [0, 0],zoom: 2})
});// 创建一个 GeoJSON 面要素
const geojson = {type: 'Feature',geometry: {type: 'Polygon',coordinates: [[[116.39, 39.91],[116.41, 39.91],[116.41, 39.93],[116.39, 39.93],[116.39, 39.91]]]}
};// 将 GeoJSON 转换为 OpenLayers Feature
const vectorSource = new VectorSource({features: new GeoJSON().readFeatures(geojson, {featureProjection: 'EPSG:4326'})
});const vectorLayer = new VectorLayer({ source: vectorSource });
map.addLayer(vectorLayer);// 使用 Turf.js 计算面积和中心点
const polygon = turf.polygon(geojson.geometry.coordinates);
const area = turf.area(polygon);
const center = turf.center(polygon);console.log('面积:', area.toFixed(2) + ' 平方米');
console.log('中心点:', center.geometry.coordinates);
相关文章:
openlayers结合turf geojson面获取面积和中心点
在 OpenLayers 中绘制 GeoJSON 面要素并计算面积和中心点,可以结合 OpenLayers 的 ol/format/GeoJSON 模块将 GeoJSON 数据转换为 OpenLayers 的 Feature,然后使用 Turf.js 进行计算。示例代码如下 import Map from ol/Map; import View from ol/View; …...

【SRC实战】修改金币数量实现财富自由
01 — 漏洞证明 1、进入阅读奖励 2、此时金币数量0 3、来到新手福利处 4、观看广告获取奖励 5、由于int整型范围-2147483648~2147483647,避免溢出,此处修改请求包中coinNum参数为2147483640 6、返回查看金币数量变为2147483640 02 — 漏洞…...

地理数据可视化:飞线说明(笔记)
//主要代码 //黄色飞线s_data.push({type: lines,zlevel: 2,effect: {//线上的箭头效果show: true,period: 1.5,//控制点的流动速度,数越小流动的速度越快trailLength: 0.1,//动画的拖尾时长// color: #2ef358,color: #ffeb40,symbol: planePath,//控…...

2024最新版鸿蒙纯血原生应用开发教程文档丨学习ArkTS语言-基本语法
ArkTS是HarmonyOS的主要应用开发语言,在TypeScript基础上进行了扩展,保留了其基本风格,并通过增强静态检查和分析来提高程序的稳定性和性能。本教程将帮助开发者掌握ArkTS的核心功能、语法及最佳实践,以便高效地构建高性能移动应用…...

微信小程序-二维码绘制
wxml <view bindlongtap"saveQrcode"><!-- 二维码 --><view style"position: absolute;background-color: #FFFAEC;width: 100%;height: 100vh;"><canvas canvas-id"myQrcode" style"width: 200px; height: 200px;ba…...

轻量化网络设计|ShuffleNet:深度学习中的轻量化革命
一、引言 在深度学习中,卷积神经网络(Convolutional Neural Networks,CNN)无疑是大家最耳熟能详的算法之一。自诞生以来,CNN 在图像分类、目标检测、语义分割等众多计算机视觉任务中取得了令人瞩目的成就,…...

一天记20个忘10个之五:land
一天记20个忘10个之五:land land n.陆地,土地 v.着陆,降落 // la-拉、宽广 nd后缀 字面义:宽广的土地 陆地 landing n.着陆,降落lander n.登陆车,着陆者 派生: island岛,岛屿 //isle(n.用于…...
Python 类(创建和使用类)
面向对象编程 是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对 象都有的通用行为。基于类创建对象 时,每个对象都自动具备这种通用行为&am…...

LeetCode 解题思路 3(Hot 100)
解题思路: 初始化指针: 左指针指向数组起始位置,右指针指向数组末尾。计算当前面积: 左右指针相遇前所围成的矩形面积。更新最大面积: 比较当前面积与已知最大面积。移动指针: 移动较高指针无法获得更…...
算法-二叉树篇11-左叶子之和
左叶子之和 力扣题目链接 题目描述 给定二叉树的根节点 root ,返回所有左叶子之和。 解题思路 层次遍历的时候,保留每层第一个节点并相加即可。 题解 class Solution { public:int sumOfLeftLeaves(TreeNode* root) {if(root NULL){return 0;}re…...

MaxKB上架至阿里云轻量应用服务器镜像市场
近日,MaxKB开源知识库问答系统已上架至阿里云轻量应用服务器镜像市场,目前是阿里云此类镜像市场中唯一推荐的AI应用镜像。 ▲图1 MaxKB已经上架至阿里云轻量应用服务器镜像市场 MaxKB是飞致云旗下开源项目,是一款基于大语言模型和RAG&…...
用户态和内核态是什么?
用户态(User Mode)和内核态(Kernel Mode)。这两个概念是理解操作系统工作原理的基础。 1. 什么是用户态和内核态? 1.1 用户态(User Mode) 用户态是操作系统为普通应用程序提供的运行模式。在这…...

2025年SCI一区智能优化算法:混沌进化优化算法(Chaotic Evolution Optimization, CEO),提供MATLAB代码
一、混沌进化优化算法 https://github.com/ITyuanshou/MATLABCode 1. 算法简介 混沌进化优化算法(Chaotic Evolution Optimization, CEO)是2025年提出的一种受混沌动力学启发的新型元启发式算法。该算法的主要灵感来源于二维离散忆阻映射的混沌进化过…...

普中单片机-51TFT-LCD显示屏(1.8寸 STM32)
普中官方论坛: http://www.prechin.cn/gongsixinwen/208.html 普中科技-各型号开发板资料链接:https://www.bilibili.com/read/cv23681775/?spm_id_from333.999.0.0 27-TFTLCD显示实验_哔哩哔哩_bilibili 2.程序烧录 2.1设置彩屏驱动 3.实验效果...
SGMII(Serial Gigabit Media Independent Interface)详解
一、SGMII的定义与作用 SGMII(串行千兆介质无关接口)是一种用于千兆以太网(1Gbps)的串行接口标准,旨在通过减少引脚数量和简化设计,实现MAC层与PHY芯片之间的高速通信。其核心作用包括: 引脚精…...

DeepSeek:我的AI助手之旅
★【前言】: 初次使用AI助手帮我写作,就像摸石头过河一样,一点点的前行。我在慢慢的摸索,慢慢的体会中,感悟出的一点个人心得体会现分享给大家。这也说明一个问题,网站上各种使用方法和技巧是对于已经使用过的人来说的方便和快捷,但对于刚刚接触的使用者来说,网上的各…...
图片批量去重---(均值哈希、插值哈希、感知哈希、三/单通道直方图)
一、整体步骤 本脚本中,关键步骤包括以下步骤: 1、图片加载: 脚本会遍历指定的图片目录,将所有图片加载到内存中。 2、图像预处理: 比较之前,通常需要对图片进行预处理,如调整大小、灰度化或直方…...

Linux:(3)
一:Linux和Linux互传(压缩包) scp:Linux scp 命令用于 Linux 之间复制文件和目录。 scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp 是加密的,rcp 是不加密的,scp 是…...

vscode设置自动换行
vscode设置自动换行 方法 方法 点击文件->首选项->设置。搜索word wrap -> 选择 on 。 搜索Word Wrap,并把选项改为on。...

Instagram 隐私设置全面解析:如何保护你的个人数据?
Instagram 隐私设置全面解析:如何保护你的个人数据? 在这个数字化时代,社交媒体平台如 Instagram 已成为我们日常生活的一部分。然而,随着个人信息泄露和隐私侵犯事件的频发,保护个人数据变得尤为重要。本文将全面解析…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...