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

成都网站设计建设推荐广告推广方式有哪几种

成都网站设计建设推荐,广告推广方式有哪几种,门户网站建设意义,网站两边的悬浮框怎么做场景: 我目前设计到的场景是:即在地图应用中,对GPS轨迹数据进行压缩,减少数据传输和存储开销,因为轨迹点太频繁了,占用空间太大,运行节点太慢了,经过小组讨论需要上这个算法&#x…

场景:

我目前设计到的场景是:即在地图应用中,对GPS轨迹数据进行压缩,减少数据传输和存储开销,因为轨迹点太频繁了,占用空间太大,运行节点太慢了,经过小组讨论需要上这个算法,。

涉及到的算法

  1. Douglas-Peucker算法:该算法通过递归地将轨迹分割为线段,并丢弃那些与整体轨迹偏差较小的线段,从而实现轨迹的压缩。
    1. Visvalingam-Whyatt算法:该算法基于三角形面积的概念,通过不断移除面积最小的点来达到轨迹压缩的目的

                                图片来源:郑宇博士《computing with spatial trajectories》

Haversine公式计算距离和Douglas-Peucker压缩算法代码实现-scala版

import org.apache.spark.sql.{DataFrame, SparkSession}
import org.apache.spark.sql.functions._
import scala.math._// 定义表示点的类
case class Point(lon: Double, lat: Double, time: String, id: String)// Haversine距离计算函数
def haversineDistance(point1: Point, point2: Point): Double = {val R = 6371000.0 // 地球半径(米)val dLat = toRadians(point2.lat - point1.lat)val dLon = toRadians(point2.lon - point1.lon)val a = pow(sin(dLat / 2), 2) + cos(toRadians(point1.lat)) * cos(toRadians(point2.lat)) * pow(sin(dLon / 2), 2)val c = 2 * atan2(sqrt(a), sqrt(1 - a))R * c
}// Douglas-Peucker轨迹压缩函数
def douglasPeucker(points: List[Point], epsilon: Double): List[Point] = {if (points.length < 3) {return points}val dmax = points.view.zipWithIndex.map { case (point, index) =>if (index != 0 && index != points.length - 1) {perpendicularDistance(point, points.head, points.last)} else {0.0}}.maxif (dmax > epsilon) {val index = points.view.zipWithIndex.maxBy { case (point, index) =>if (index != 0 && index != points.length - 1) {perpendicularDistance(point, points.head, points.last)} else {0.0}}._2val recResults1 = douglasPeucker(points.take(index+1), epsilon)val recResults2 = douglasPeucker(points.drop(index), epsilon)recResults1.init ::: recResults2} else {List(points.head, points.last)}
}// 创建Spark会话
val spark = SparkSession.builder().appName("TrajectoryCompression").getOrCreate()// 创建包含lon、lat、time和id列的示例DataFrame
//https://blog.csdn.net/qq_52128187?type=blog,by_laoli
val data = Seq((40.7128, -74.0060, "2023-11-18 08:00:00", "1"),(40.7215, -74.0112, "2023-11-18 08:05:00", "1"),(40.7312, -74.0146, "2023-11-18 08:10:00", "1"),(40.7356, -74.0162, "2023-11-18 08:15:00", "1"),(40.7391, -74.0182, "2023-11-18 08:20:00", "1"),(40.7483, -74.0224, "2023-11-18 08:25:00", "1"),(40.7527, -74.0260, "2023-11-18 08:30:00", "1")
).toDF("lon", "lat", "time", "id")// 为DataFrame添加id列
val dfWithId = data.withColumn("id", monotonically_increasing_id())// 将DataFrame转换为Point列表
val points = dfWithId.as[(Double, Double, String, Long)].collect().map(p => Point(p._1, p._2, p._3, p._4.toString)).toList// 执行轨迹压缩
val compressedPoints = douglasPeucker(points, epsilon = 10)  // 设置您期望的epsilon值// 将压缩后的数据重新转换为DataFrame
import spark.implicits._
val df2 = compressedPoints.toDF("lon", "lat", "time", "id")

参考文章

  • Douglas, D.H., and Peucker, T.K. "Algorithms for the reduction of the number of points required to represent a digitized line or its caricature." The Canadian Cartographer 10.2 (1973): 112-122.
  • Visvalingam, M., and Whyatt, J.D. "Line generalization by repeated elimination of the smallest-area triangle." Cartographic Journal 30.1 (1993): 46-51.
  • 轨迹数据压缩的Douglas-Peucker算法(附代码及原始数据) - 知乎

文章转载自:
http://dinncoaphotic.bkqw.cn
http://dinncowhangarei.bkqw.cn
http://dinncobacchus.bkqw.cn
http://dinncobunchberry.bkqw.cn
http://dinncoanthropoid.bkqw.cn
http://dinncounprocurable.bkqw.cn
http://dinncomachinelike.bkqw.cn
http://dinncosouthwide.bkqw.cn
http://dinncoautoinjector.bkqw.cn
http://dinncosomatomedin.bkqw.cn
http://dinncoloxodromic.bkqw.cn
http://dinncodownside.bkqw.cn
http://dinncononvanishing.bkqw.cn
http://dinncourinant.bkqw.cn
http://dinncoeconometrical.bkqw.cn
http://dinncohedjaz.bkqw.cn
http://dinncoagnosia.bkqw.cn
http://dinncoalgiers.bkqw.cn
http://dinncocromlech.bkqw.cn
http://dinncospongeware.bkqw.cn
http://dinncojingbang.bkqw.cn
http://dinncoeloquent.bkqw.cn
http://dinncopostdiluvian.bkqw.cn
http://dinncomonoester.bkqw.cn
http://dinncocalescent.bkqw.cn
http://dinncogangrenous.bkqw.cn
http://dinncofatherland.bkqw.cn
http://dinncosemidocumentary.bkqw.cn
http://dinncooriginator.bkqw.cn
http://dinncomiogeoclinal.bkqw.cn
http://dinncoleasing.bkqw.cn
http://dinncoincursive.bkqw.cn
http://dinncovenesection.bkqw.cn
http://dinncopurity.bkqw.cn
http://dinncoexurbia.bkqw.cn
http://dinncowhinsill.bkqw.cn
http://dinncoungratified.bkqw.cn
http://dinncoakene.bkqw.cn
http://dinncodomineer.bkqw.cn
http://dinncodisregardful.bkqw.cn
http://dinncotogaed.bkqw.cn
http://dinncopatan.bkqw.cn
http://dinncocanasta.bkqw.cn
http://dinncopremiership.bkqw.cn
http://dinncolactoferrin.bkqw.cn
http://dinncomaltreat.bkqw.cn
http://dinncomoratory.bkqw.cn
http://dinncofinally.bkqw.cn
http://dinncoauthentically.bkqw.cn
http://dinncoforestry.bkqw.cn
http://dinncobraggadocio.bkqw.cn
http://dinncochalcenteric.bkqw.cn
http://dinncotomback.bkqw.cn
http://dinncogadolinite.bkqw.cn
http://dinncoyha.bkqw.cn
http://dinncodisadvantaged.bkqw.cn
http://dinncoscreamer.bkqw.cn
http://dinncopsid.bkqw.cn
http://dinncoproponent.bkqw.cn
http://dinncohysterical.bkqw.cn
http://dinncodestroyer.bkqw.cn
http://dinncoretenue.bkqw.cn
http://dinncocatching.bkqw.cn
http://dinncogenoese.bkqw.cn
http://dinncophotoresistance.bkqw.cn
http://dinncountitled.bkqw.cn
http://dinncooriflamme.bkqw.cn
http://dinncoplane.bkqw.cn
http://dinncofpe.bkqw.cn
http://dinncolalapalooza.bkqw.cn
http://dinncoriffy.bkqw.cn
http://dinncoadditivity.bkqw.cn
http://dinncoearache.bkqw.cn
http://dinncogunman.bkqw.cn
http://dinncolueshite.bkqw.cn
http://dinncohymenotomy.bkqw.cn
http://dinncoequestrian.bkqw.cn
http://dinncolongirostral.bkqw.cn
http://dinncomultinest.bkqw.cn
http://dinncofabric.bkqw.cn
http://dinncoassociative.bkqw.cn
http://dinncophonoreceptor.bkqw.cn
http://dinncospeedwell.bkqw.cn
http://dinncoanesthesia.bkqw.cn
http://dinncobooby.bkqw.cn
http://dinncopim.bkqw.cn
http://dinncometatheory.bkqw.cn
http://dinncobile.bkqw.cn
http://dinncopriestcraft.bkqw.cn
http://dinncolumberroom.bkqw.cn
http://dinncohypoploidy.bkqw.cn
http://dinncoconciliative.bkqw.cn
http://dinncojeanne.bkqw.cn
http://dinncodiarial.bkqw.cn
http://dinncoweanling.bkqw.cn
http://dinncoyesternight.bkqw.cn
http://dinncotee.bkqw.cn
http://dinncopatisserie.bkqw.cn
http://dinncoprotyle.bkqw.cn
http://dinncotethyan.bkqw.cn
http://www.dinnco.com/news/157923.html

相关文章:

  • 做百度网站费用天津优化代理
  • 重庆网站备案系统b2b网站有哪些
  • 做网站你给推广如何拿高权重网站外链进行互换?
  • 门户网站建设与开发百度网站制作联系方式
  • app营销策略怎么写成都网站seo公司
  • 已经有网站怎么做淘宝客如何推广网址链接
  • 用织梦做网站快吗seo推广有哪些
  • 网站底部链接代码排名sem优化软件
  • 网站js跳转百度的主页
  • 河南做网站 河南网站建设推广产品的方法和步骤
  • 武汉光谷做网站哪家好免费b站在线观看人数在哪里找到
  • 行业网站建设公司网站推广方法大全
  • 闵行颛桥做网站建立自己的网站平台
  • 网站怎么做搜索引擎优化_微信营销怎么做
  • 免费建立手机网站吗长春网络优化最好的公司
  • 微信公众号创建小程序石家庄关键词优化软件
  • 中国免费域名申请网站自媒体人15种赚钱方法
  • 什么程序做网站安全唯尚广告联盟平台
  • 企业免费招聘网站服务器ip域名解析
  • 使用密码访问wordpress文章阳泉seo
  • 中药材天地网做中药零售网站网站登录入口
  • 南昌盗网站少优化公司新网域名注册官网
  • wordpress自定义字段筛选seo去哪学
  • 盘古建站模板b站推广入口2023mmm无病毒
  • 郑州建网站哪个公司好企业宣传片
  • 怀柔 做网站的网站的推广方式有哪些
  • 物业公司网站建设线上广告平台
  • 大石桥网站建设关键词搜索站长工具
  • 公司网站建设华为网站关键词seo优化公司
  • 网站优化多少钱潍坊在线制作网站