openlayers绘制圆形区域,消除误差的一种方法

2023-11-07

我需要以某点为圆心,以某长度(单位米)为半径,在地图上绘制圆形区域。

前提:地图显示、图层和数据源的创建与设置方法这里就不详细描述了,直接上关键部分。

一开始,我使用如下代码实现圆形区域的绘制,绘制以坐标(1,1)为中心,200000米为半径的圆。

var metersPerunit=map.getView().getProjection().getMetersPerUnit();
var t0CircleRadius=20000.0/metersPerunit;
var t0RangeFeature=new ol.Feature({geometry:new ol.geom.Circle([***,**],t0CircleRadius)});
t0RangeFeature.setStyle(getDrawShapeStyle2());
drawVectorLayer.getSource().addFeature(t0RangeFeature);

效果如下,经过测量,该圆的实际半径为186135米,偏小。

后来,我采用如下代码实现圆形区域的绘制,仍然绘制以坐标(1,1)为中心,200000米为半径的圆。

var circle4326 = new ol.geom.Polygon.circular([1,1],200000,64);//参数分别为圆心、半径、多边形边数
var t1RangeFeature=new ol.Feature({geometry:circle4326});
t1RangeFeature.setStyle(getDrawShapeStyle());
drawVectorLayer.getSource().addFeature(t1RangeFeature);

效果如下,该圆为绿色的椭圆,经仔细观察,该圆实际上是一个64边形。经过测量,该圆的实际半径为199243米,误差明显变小。

 总结:为什么会出现这样的结果,我想应该需要地理测绘方面的知识和openlayers结合才能给出更好的解释。大家如有新的见解或更好的方法实现,欢迎留言。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openlayers绘制圆形区域,消除误差的一种方法 的相关文章

  • 如何解决PHP扩展“0”必须加载的问题?

    我正在尝试在我的服务器上安装 Magento 我做了一切 正如文档中所写的 我有以下错误 必须加载 PHP 扩展 0 当我尝试在浏览器中的第二页上配置 Magento 时 会发生这种情况 你知道如何解决这个问题吗 如果您安装的是 Magen
  • 如何在 Laravel 7.x 中从控制器返回视图时传递 cookie?

    在 laravel 7 x 中 有什么方法可以在返回视图时将 cookie 传递给客户端吗 类似于 return view welcome gt cookie name value min 嗯 我做了一些研究 发现有一些方法 我熟悉的两个是
  • Openlayers 3 中的拖放功能

    OpenLayers 2 OpenLayers Control DragFeature 功能的等效项是什么 我需要向地图添加一个可以用鼠标移动的图标 当掉落时我需要捕捉事件 在 OpenLayers 2 中 描述的功能是 new OpenL
  • Ant Design Collapse - 关闭按钮

    我是 Ant Design 的初学者 在使用 Ant Design 库中的 Collapse 和 Form 时遇到了这个问题 我已经设置了我的页面 其中添加新项目的表单位于折叠中 并且折叠下方有一个项目列表
  • 从网站获取数据的vba代码

    我是这个网站和 VBA 编程的新手 我遇到了一个问题 我必须从中获取数据这一页 http www kieskeurig nl zoeken index html q 4960999543345 我需要有超链接网址Check Rates 10
  • 设置样式缩放级别 openlayers 3

    在 Openlayers 中 可以根据缩放级别打开或关闭某些功能 尽管查看了文档 但我在 OpenLayers 3 中没有找到相同的功能 有谁知道如何做到这一点 这是我放置在地图上的功能ol style Text是我只想在用户放大到特定缩放
  • OpenLayers 3 中的边界如何工作?

    是否有这样的概念OpenLayers Bounds http dev openlayers org docs files OpenLayers BaseTypes Bounds js htmlOpenLayers 2 x 中的内容仍然存在于
  • 函数默认参数有些问题?

    看到这个 let foo outer function bar func x gt foo let foo inner console log func bar outer 我想知道为什么输出是 外部 而不是 内部 我知道 JavaScri
  • 尝试访问我的网站时出现内部服务器错误

    我收到这个错误 内部服务器错误 服务器遇到内部错误或配置错误 无法完成您的请求 请联系服务器管理员 电子邮件受保护 cdn cgi l email protection和 告知他们错误发生的时间以及您可能会发生的任何事情 所做的事情可能导致
  • 在 html 中创建子页面 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设我有一个网站http www example com http www example com 如何为此页面创建更多子页面 即 w
  • 使用内容安全策略防止 Internet Explorer 11 上的内联 JavaScript

    是否可以使用 ASP NET WebForm 上的 CSP 来阻止 Internet Explorer 11 上的内联 JavaScript 我知道 IE 11 不支持内容安全策略级别 2 但它支持级别 1 0 我尝试了很多方法 但没有明确
  • 自定义 OpenLayers 控件

    如何轻松自定义 OpenLayers 地图控件 或者至少 如何最小化控件的高度 谢谢 附言 有 CSS 覆盖吗 您可以对任何 openLayers 控件进行子类化 我刚刚通过对 PanZoomBar panZoomBar js 进行子类化
  • 使用 OpenLayers 动态添加自定义标记到地图

    我想让用户在地图上添加自定义标记以及每个标记的描述 任何提示 任何教程的链接都会非常有用 您可以注册一个函数来在地图上 点击 事件 当用户单击它时 会自动添加该标记 尝试这样的事情 map is your map created using
  • 如何保护我的网站免遭 HTTrack 或其他软件的翻录?

    我最近获得了批准的网站模板主题森林 http themeforest net 我的网站流量过多 并注意到我在 Themeforest 上的演示被 HTTrack 等某些软件破坏 如果这种情况持续下去 该产品的销量最终可能会下降 那么 有什么
  • Web Api - 不允许捕获 405 方法

    截至目前 Web api 应用程序针对 405 方法不允许错误返回以下响应正文 我正在尝试更改响应正文 但我不知道如何使用委托处理程序 ApiControllerActionSelector 或过滤器 谁能帮我捕获服务器端的 405 错误
  • 在 Tomcat 上部署 Java Web 项目,无需 WAR 或 EAR

    我有一个 Java Web 项目 Struts Spring 在我的本地主机上完美运行 我必须将其部署在我的网站上 但虚拟主机提供的 Tomcat Manager 界面显示 由于安全原因 它无法上传 WAR 文件 当联系技术支持时 我被告知
  • Java selenium - 如何在 TimeoutException 之后正确刷新网页?

    ChromeOptions options new ChromeOptions options addExtensions new File extension 6 2 5 0 crx ZenMate options addExtensio
  • 烧瓶 - 404 未找到

    我是烧瓶开发的新手 这是我在烧瓶中的第一个程序 但它向我显示了这个错误 在服务器上找不到请求的 URL 如果您输入了网址 请手动检查拼写并重试 这是我的代码 from flask import Flask app Flask name ap
  • 使用 php ping 网站

    我想创建一个 php 脚本 它将 ping 一个域并列出响应时间以及请求的总大小 这将用于监控网站网络 我尝试过curl 这是我到目前为止的代码 function curlTest2 url clearstatcache return if
  • 如何从文件系统访问 api window.showDirectoryPicker() 获取选定的目录路径

    当我选择一个文件夹时 我确实得到了 dirHandle 但无法弄清楚什么属性或方法将为我提供完整路径 const dirHandle await window showDirectoryPicker 所以类似 let path dirHan

随机推荐

  • 【完整攻略】OPPO手机无密码解锁方法

    全世界有数百万人拥有 OPPO 手机 它以其经济实惠但功能强大的智能手机而闻名 但是 与许多其他人一样 您可能会在某些日子后忘记密码 那么 如果您忘记了 OPPO 手机的密码或图案怎么办 你将如何解锁它 这是一个大问题 在这种情况下 请不要
  • 【Linux核心宝典】Linux 系统目录结构详解 - 01

    作者介绍 我是程序员洲洲 一个热爱写作的非著名程序员 CSDN全栈优质领域创作者 华为云博客社区云享专家 阿里云博客社区专家博主 前后端开发 人工智能研究生 公粽号 程序员洲洲 本文专栏 本文收录于洲洲的 Linux系列专栏 欢迎大家关注本
  • Linux服务器添加永久明细路由

    第一步 写入 etc sysconfig static routes文件 默认在 etc sysconifg目录中是没有这个文件的 需要我们手工创建 etc sysconfig static routes any net 192 168 1
  • 计算机毕设(附源码)JAVA-SSM基于协同过滤算法的个性化智能图书推荐系统

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • el-cascader数据绑定值原理之展平操作的算法

    需求级联选择器默认选中全部节点 分析 数据绑定值为二维父子节点id同级数组 1 1 1 1 1 1 2 2 1 2 1 1 这种结构 而数据源是树形结构 所以我们把树形结构转换成如上二维数组结构 算法如下 1 options为树形数据 2
  • “OLT”、“ONU”和“PON”分别是什么意思?三者有什么区别?

    OLT optical line terminal 光线路终端 用于连接光纤干线的终端设备 ONU Optical Network Unit 光网络单元 ONU分为有源光网络单元和无源光网络单 一般把装有包括光接收机 上行光发射机 多个桥接
  • Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000794500000, 576716800, 0)

    linux基于tomcat部署的web应用程序报 Java HotSpot TM 64 Bit Server VM warning INFO os commit memory 0x0000000794500000 576716800 0 f
  • mysql 'performance_schema'.'session_variables' 问题处理

    今天 升级了mysql 5 7 使用mysql workbench时 处理问题 无法连接mysql服务了 先提示 performance schema session variables 不存在 后来提示结构错误 mysql workben
  • linux系统安全检查

    1 使用 last 命令查看下服务器近期登录的账户记录 确认是否有可疑IP登录过机器 检查说明 攻击者或者恶意软件往往会往系统中注入隐藏的系统账户实施提权或其他破坏性的攻击 解决方法 检查发现有可疑用户时 可使用命令 usermod L 用
  • 【网络安全】命令执行漏洞

    命令执行漏洞 命令执行漏洞原理 危害 检测方法 有回显检测方法 分号 从左到右执行 管道符 将见面命令的输入为后面命令的标准输入 后台任务符号 命令从左到右执行 与 逻辑与 前面命令执行成功后才会执行 或 逻辑或 前面执行失败才能执行 反引
  • Java初学疑问之接口为什么能运行Object的方法

    public class CommonTest public static void main String args Animal animal new Dog animal toString 为什么能运行该方法 class Dog im
  • 通过清华大学镜像和pip进行安装

    通过清华大学镜像和pip进行安装 有时候网络不佳时 直接通过pip安装可能会很慢或者不成功 因此可以借助清华镜像 可以在使用pip的时候加参数 i https pypi tuna tsinghua edu cn simple 以gensim
  • 前端实战:小实例1——导航栏

    前言 一个导航栏可看作一个列表 在 HTML 使用 ul 标签和 li 标签元素进行结构表示 在 CSS 中进行样式处理 对应标签元素的具体用法可查看 HTML常见标签介绍 实现思路 使用 div 包装导航栏 用 ul 和 li 标签展示导
  • EasyPoi 数据导入导出,贼方便

    1 maven坐标
  • 银行卡编码规则及检验算法详解

    一 银行卡结构 XXXXXX XXXXXXXXXXXX X 发卡行标识代码 自定义位 校验码 根据ISO标准 银行卡长度一般在13 19位 国际上也有12位的 银联标准卡卡长度一般是在16 19位 双组织卡也有13 19位的 二 发卡行标识
  • grid - 显式网格

    显式网格布局包含 行 列 列 grid template columns page color fff grid padding 1 display grid grid gap 1px grid template rows 50px 100
  • 养生指南 4 : 睡眠 与 外因

    参考 老中医给的100条养生建议 强烈推荐 1 睡眠 1 睡觉 是养生第一要素 睡觉的时间 应该是 晚 21 00 早3 00 因为这个时间是一天的 冬季 冬季主藏 冬季不藏 春夏不长 即第 2 天没精神 早起如在寅时三点至五点 此时切忌郁
  • Python数据分析与可视化------NumPy第三方库

    目录 数据的维度 NumPy CSV文件 多维数据的存取 NumPy的便捷式文件截取 NumPy的随机数函数子库 NumPy的统计函数 NumBy的梯度函数 图像的数组表示 图像的变换 数据的维度 维度 一组数据的组织形式 一维数据 由对等
  • 1.出现需要keil突破内存限制

    出现 error L6050U The code size of this image 37186 bytes exceeds the maximum allowed for this version of the linker 是因为超出
  • openlayers绘制圆形区域,消除误差的一种方法

    我需要以某点为圆心 以某长度 单位米 为半径 在地图上绘制圆形区域 前提 地图显示 图层和数据源的创建与设置方法这里就不详细描述了 直接上关键部分 一开始 我使用如下代码实现圆形区域的绘制 绘制以坐标 1 1 为中心 200000米为半径的