无法打开服务器上的网站厦门关键词排名推广

news/2025/9/23 11:18:33/文章来源:
无法打开服务器上的网站,厦门关键词排名推广,做一个网页容易吗,建网站用什么服务器目录 前言 一、场景需求 1、Leaflet.js的不足 2、Turf.js 二、原始数据展示 1、点位数据展示 2、定义样式 3、定位数据初始化 三、Turfjs中bbox生成 1、官网讲解 2、轨迹bbox生成 四、Turfjs生成外包多边形 1、官网例子 2、凸多边形生成 总结 前言 在一些共享出…目录 前言 一、场景需求 1、Leaflet.js的不足 2、Turf.js 二、原始数据展示 1、点位数据展示  2、定义样式 3、定位数据初始化 三、Turfjs中bbox生成  1、官网讲解 2、轨迹bbox生成 四、Turfjs生成外包多边形 1、官网例子 2、凸多边形生成 总结 前言 在一些共享出行的应用地图中以美团共享骑行为例在城市的重要地方会设置电子围栏。防止由于共享单车无序停放而导致影响交通出行的障碍。比如在星城湘江一桥及橘子洲景区就是设置了禁停区。可以看一下下面的地图 这里的禁停区就是一个非常明显的电子围栏的应用。 于此同时在面向GIS的安防领域这方面的应用同样层出不穷。通过在地图上设置电子围栏在安装了定位的自行车就可以实现基于位置的管理。 还有一些需求是这样的我们可以获取车辆或者行人或者工程机械的工作GPS轨迹根据这些GPS轨迹我们不仅要得到轨迹线信息同时还要根据轨迹线可以大致还原目标的大致范围。这里的范围可能是一个矩形框gis的bbox概念也有可能是一个包含了轨迹信息的最大包围框是一个面数据而不是一个矩形数据。那么这种需求应该怎么处理呢能否在前端实现这样的需求呢 本文就将重点介绍这种实现的方式主要讲解Turf.js在求解范围多边形的两种实现方式通过代码的方式让读者对实现过程更加的了解和掌握可以快速的在学习和生产中进行应用。如果您当前也碰到了在webgis中进行展示那么可以看看这篇博客希望对您有所帮助。 一、场景需求 这里介绍一下原来在项目当中遇到的一个场景权当抛砖引玉场景不尽相同如有雷同不慎荣幸。场景需求是这样的需要在Webgis中展示某安装了定位的工程机械的工作点位移动情况已天为一个展示窗口把每天的点位信息在地图上展示出来。在此基础之上需要求解出该工程机械的最大活动范围同时用不同的颜色标识出来。 当时拿到这个需求之后呢只是将这些点的信息整合起来然后使用Leaflet的获取Bouds方法来求解包围框通过getBounds()获取的包围框其实是一个最大矩形是覆盖了当前空间数据四至的矩形。由于当时没有仔细考虑使用getBounds()获取的范围会扩了许多因为矩形的四条边都是直线因此有很多区域是被错误的划分到了这个范围中。 因此这里需要一种更加灵活的方式能更加准确的把这个区域的范围标记得更加的精准保证这个面不仅包含目标范围又没有浪费多余的空间。 1、Leaflet.js的不足 在之前的博客中介绍了很多Leaflet这个二维地图的开发组件可以直接用于WegGIS系统的开发可以作为底图展示和底图可视化的基座。但是对于这些需要动态绘制的空间对象能力稍显不足。在查找了一些资料以后并没有发现比较便捷的实现方式。因此需要考虑使用其它的技术组件来满足上述的需求。 2、Turf.js turf.js是一款面向webgis的前端地理空间分析库其中包含了许多的实用的小工具在实际项目开发当中可以实现无缝衔接和继承接入由于是面向客户端的产品对于数据的安全性就大大的提高因为无需将数据发送到本地前端可以将后端返回的数据进行按需组合和可视化分析。关于turf的好处这里不再赘述感兴趣的博主可以到其turf.js中文网和turf.js官网上面有更加详细的介绍。 这里采用Turf.js的原因主要是其分析功能非常强大同时其可以自动计算空间数据的bbox和最小外包多边形支持凸、凹两种多边形。下面将采用实例的方式分别从bbox和外包多边形的生成进行说明。 二、原始数据展示 首先我们来看原始的数据在webgis中的展示效果是什么样的。工程机械的轨迹数据如下通过接口可以取到其gps位置信息。示例数据如下所示 lat: 28.0394672, lng: 112.9439207, cog: 0.0, p_distance: 49.0, img_url: https://agri-static.holdingbyte.com/d-1000-awwwhqgwyxqe/3ecced35-e23f-4e91-ae34-4bef6294f4c0.jpg, t: 1693124829, agri_id: d-1000-awwwhqgwyxqe-50-00, the_type: 301, __db_name__: 0, t_display: 2023-08-27 08:27 序号参数说明1lng经度112.94392lat纬度28.0393t时间4其它参数忽略其它参数不是很重要暂时忽略 在实际情况下这些数据是连续的点位数据而不是孤立的点。上面为了将数据格式向朋友们描述清楚所以进行了示例数据的截取完整的大致数据体如下所示 1、点位数据展示  为了将这些点位数据在空间上进行展示webgis可视化组件我们依然选择熟悉的leaflet。下面将简单回顾一下如何在leaflet中展示点位信息。 创建点位框架 新建index2.html页面在html网页中输入以下内容 !DOCTYPE html html headtitleturf生成边界凸多边形实战/titlemeta charsetutf-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0link relstylesheet href./leaflet1.9.3/leaflet.css/script src./leaflet1.9.3/leaflet.js/scriptstyle typetext/cssbody {margin: 0;padding: 0;}html, body, #map{width: 100%;height: 100%;}/style /head bodydiv idmap/divscript typetext/javascript srcjquery.min.js/script!-- 使用unpkg --script srchttps://unpkg.com/turf/turf/turf.min.js/scriptscript/script /body /html定义地图 在上面的html网页中增加javascript脚本进行地图的定义和初始化关键代码如下 //声明图层组var workPoints L.layerGroup();var wjLineGroup L.layerGroup();var baseLayer L.tileLayer(./yxtile/{z}/{x}/{y}.png, {minZoom: 14,maxZoom: 21,tms: false,attribution: turf生成边界凸多边形实战});//声明地图并添加图层var map L.map(map, {center: [28.038387, 112.951566],zoom: 16,layers: [baseLayer,wjLineGroup]});//新建图层控件的数据源-地图var baseLayers {离线底图: baseLayer};//新建图层控件的数据源-城市var overlays {行驶轨迹: wjLineGroup}; 2、定义样式 为了在程序中可以实现样式的复用这里将样式的生成函数进行了封装支持传递颜色进行自定义设置。在需要使用的时候传入想要的颜色即可温馨提示这里仅实现了颜色这个参数的自定义其它参数的自定义可以模仿这种方法进行。 function getStyle(color){return { color: color, weight: 3, opacity: 1, fillColor: color, fillOpacity: 0.3, fill: true, stroke: true }} 3、定位数据初始化 定位数据采用后台接口的方式提供这里为了演示方便将后台接口的数据进行了静态临时存储。示例效果不变不影响最终效果。关键代码如下 var lineArray new Array();var turfArray new Array();$(document).ready(function(){$.ajax({url: data.json, //模拟从服务器获取JSON数据的URL地址请注意URL必须与服务器上实际的文件名相同type: GET, // 请求方法POST或GETdataType: json, // 响应数据类型为JSONsuccess: function(data) {// 成功获取JSON数据后执行的函数var resData data;for(var i0;iresData.results.length;i){var item resData.results[i];lineArray.push([item.lat, item.lng]);}var polyline L.polyline(lineArray, {color: blue}).addTo(wjLineGroup);map.fitBounds(polyline.getBounds());},error: function(xhr, status, error) {// AJAX请求失败时执行的函数console.log(xhr.responseText); // 输出错误消息到控制台}});//新建图层控件并添加到地图var layerControl L.control.layers(baseLayers, overlays).addTo(map); 在浏览器中运行以上的代码可以看到以下的效果即完成了对轨迹数据的web展示。 三、Turfjs中bbox生成  通过上面的例子可以看到这里成功的把轨迹数据展示了出来。但我们怎么得到其边界范围呢下面来深入讲解。 1、官网讲解 首先我们来看一下turfjs中文网对bbox生成的介绍。Takes a set of features, calculates the bbox of all input features, and returns a bounding box.获取一组feature计算所有feature的bbox并返回一个边界框。 参数说明 参数类型描述geojsonGeoJSON任何 GeoJSON 对象 返回值如下 BBox - bbox在minX, minY, maxX, maxY顺序中的扩展 来看一下官方的示例 var line turf.lineString([[104.99467, 30.071677],[107.13797, 36.550462],[112.607082, 34.991467]]); var bbox turf.bbox(line); var bboxPolygon turf.bboxPolygon(bbox); 2、轨迹bbox生成 首先我们定义一个数组来接收数据var turfArray new Array();在for循环中添加新的点。 for(var i0;iresData.results.length;i){var item resData.results[i];turfArray.push(turf.point([item.lng,item.lat]));lineArray.push([item.lat, item.lng]); } var points turf.featureCollection(turfArray); var range turf.bboxPolygon(turf.bbox(points));//turf生成最小外包框、bbox L.geoJSON(range,{style:getStyle(red)}).addTo(map); 可以看到bbox生成的矩形范围框包含了许多的未到达的区域。下面我们再生成最小外包多边形来看看是否满足效果。 四、Turfjs生成外包多边形 1、官网例子 Takes a Feature or a FeatureCollection and returns a convex hull Polygon.接受一个Feature或FeatureCollection并返回凸多边形。 参数说明 参数类型描述geojsonGeoJSONFeature 或 FeatureCollectionoptionsObject可选参数见下文 options选项 属性类型默认值描述concavitynumberInfinity1 - thin shape. Infinity - 凸多边形 var points turf.featureCollection([turf.point([10.195312, 43.755225]),turf.point([10.404052, 43.8424511]),turf.point([10.579833, 43.659924]),turf.point([10.360107, 43.516688]),turf.point([10.14038, 43.588348]),turf.point([10.195312, 43.755225]) ]);var hull turf.convex(points); 2、凸多边形生成 var hull turf.convex(points);//turf 生成凸多边形最小外包框 L.geoJSON(hull,{style:getStyle(yellow)}).addTo(map); 请注意这里的最小外包多边形黄色多边形表示的区域基本是满足我们要求的实现了范围最小更精准的范围覆盖。 总结 以上就是本文的主要内容。本文就将重点介绍这种实现的方式主要讲解Turf.js在求解范围多边形的两种实现方式通过代码的方式让读者对实现过程更加的了解和掌握可以快速的在学习和生产中进行应用详细对比了bbox和凸多边形的生成过程最后展示了两个的实现效果。相信通过对比能很明显的看出区别。如果有兴趣的可以亲自动手实践一下。文章行文仓促定有不当之处如有不当之处欢迎在评论区批评非常感谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QBtn 组件go参数类型错误解决方案

QBtn 组件go参数类型错误解决方案QBtn 组件go参数类型错误解决方案 一、问题描述 在 Quasar 框架中使用QBtn组件时,若通过to属性指定导航路径,@click事件会额外接收一个go参数(用于触发导航的函数)。由于 TypeScri…

1. 大模型的选择详细分析 - Rainbow

1. 大模型的选择详细分析 @目录1. 大模型的选择详细分析介绍特性:提示词工厂对话拦截对话记忆toolsRAG技术下的 ETLMCP模型的评估可观察性agent应用langchain4j vs springAI大模型选型最后:介绍Spring AI 是一个面向…

云计算实践部署笔记

云计算实践笔记 实验一:在云平台上创建虚拟机 1. 填写基本信息: 系统类型选择:Linux 系统版本选择:CentOS 6/7 (64bit) 2. 填写硬件信息: CPU总数:2 内存:4GB 磁盘空间:20GB 网卡:Vswhich0 光驱:CentOS-7-…

[eJOI 2024] 奶酪交易 / Cheese

前言: 译者的语文成绩不怎么样啊。 解题思路: 假设农夫 \(i\) 所拥有的奶酪价值为 \(p_{i}\)。 稍微细想一下 \(i\) 和 \(j\) 交易这件事,因为钱的面值只有 \(2\) 的次幂,所以 \(j\) 找 \(i\) 的钱的总面值一定是 …

逆向分析之switch语句

前言 本次我们要介绍的是C/C++中的switch语句在编译为可执行程序后的反汇编内容 一只 DEMO 首先我们需要先写一段示例代码,作为我们的分析对象 void switch_demo(int v) {switch(v){case 4:printf("v = 4\n"…

章丘建设局网站小广告怎么做

文章目录 前言一、动态合批的规则1、材质相同是合批的前提,但是如果是材质实例的话,则一样无法合批。2、支持不同网格的合批3、动态合批需要网格支持的顶点条件二、我们导入一个模型并且制作一个Shader,来测试动态合批1、我们选择模型的 Mesh…

2008iis里没加域名 网站指向还在重庆物流公司网站建设

网上的教程有很多,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。 安装环境:win 10 1、下载zip安装包: MySQL8.0 For Windows zip包下载地…

华北冶建工程建设有限公司网站平台公司信用评级

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用Float属性⭐ 使用Flexbox布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感…

手机网站建设专业服务公司微信公众平台官网手机版

来源:混沌巡洋舰原文:摘自 edge 系列图书 《那些最重要的科学新发现》迈克斯泰格马克(MaxTegmark):麻省理工学院物理系终身教授,平行宇宙理论研究专家,未来生命研究所创始人;著有《生命3.0》《穿越平行宇宙…

营销网站htmlwordpress教程帕兰

JavaScript是一种广泛应用于Web开发的轻量级、解释型、面向对象的脚本语言,它支持事件驱动、函数式以及基于原型的编程风格。JavaScript不仅可以用于客户端(在用户的浏览器中运行),也可以在服务端(如Node.js环境&#…

推荐门户网站建设公司2个女人做暧暧网站

目录 一、效果图 二、qtDesigner ①拖出一个frame作为组容器并贴上背景样式 ②拖出主要的三个控件:frame、line、frame、label*2 ③固定大小并设置字体、布局一下 ④拷贝三份并水平布局一下 ⑤设置样式 ⑥调整布局 三、ui文件 四、代码 一、效果图 二、qtD…

批量查询设计桩号方法及文件格式

工具 → 设计标高 文件格式如下: HINTCAD5.84_STA_SHUJU47510.000 147520.000 247530.000 347540.000 447550.000 547560.000 647570.000 747580.000 847590.000 947600.000 10 【一定注意最后带个空行】,文件后缀名…

html5 响应式音乐网站网站推广软文选择天天软文

1.输入文件为基因组文件和gff3文件,输出为5utr和3utr,并且utr已经考虑了正负链和可变剪接情况,意思是如果utr存在可变剪接,输出的文件已经给拼接好了,并且考虑了正负链和拼接方向 #!/usr/bin/env python # -*- coding: utf-8 -*- # python lin_extract_5utr_cds_3utr2.py…

搭建Python的运行开发环境

在本次的学习中,我们将学习搭建python的编程环境,并将运行第一个python程序-在终端中打印输出 “Hello Python World!” Python是一种跨平台的编程语言,这就意味着它可以运行在所有主流的操作系统中。在所有安装pyt…

详细介绍:树上LCA和树链剖分(未完待续)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

上海网站建设置作山西响应式网站建设设计

一:前言 多线程在java中具有举足轻重的地位,无论是平时开发中还是面试求职中,对多线程这一块的知识点考察都非常多的,本周我们将平时开发中、面试中常见的一些多线程知识进行梳理,让大家对这一块有更加深入的理解 二…

【HBase 原理操作 01】

一、HBase依赖和整合的框架 依赖框架:Hadoop、Zookeeper 整合框架:Phoenix、Hive 二、HBase概念 1、定义:是以hdfs为数据存储的,一种分布式、可扩展的非关系型(NoSQL)数据库,和clickhouse一样同样以列式存储,存储…

打破数据壁垒,DMS Data Agent 开启智能分析之旅

DMS Data Agent 是阿里云推出的企业级智能分析平台,通过自然语言处理技术实现自动化数据分析。该方案突破传统分析流程,将复杂的数据探索简化为"一句话描述-获取深度分析"模式,显著提升决策效率。一、引言…

北京建设信源官方网站淄博营销网站建设公司

面向面试知识–MySQL数据库与索引 优化难点与面试点 什么是MySQL索引? 索引的MySQL官方定义:索引是帮助MySQL快速获取数据的数据结构。 动力节点原文: MysQL官方对于索引的定义:索引是帮助MySQL高效获取数据的数据结构。 MysQL在存储数据之…

漳州网站建设去博大a优韩国建筑网站

目录 一、Tinymce介绍 二、React集成Tinymce 1、安装tinymce/tinymce-react组件 2、React中引用 三、如何配置中文语言包 1、下载中文包 2、把语言文件放入tinymce 3、tinymce配置项中配置语言 一、Tinymce介绍 官网:The Most Advanced WYSIWYG Editor | T…