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

网站开发成都宿迁明远建设有限公司网站

网站开发成都,宿迁明远建设有限公司网站,设计制作小车教学视频,做淘宝主页网站使用spark处理数据集,解决gis轨迹点在地图上跨本初子午线的问题,这个问题很复杂,先补充一版我写的 import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.sql.{Row, SparkSession} import org.apache.spark.sql.func…

        使用spark处理数据集,解决gis轨迹点在地图上跨本初子午线的问题,这个问题很复杂,先补充一版我写的

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{Row, SparkSession}
import org.apache.spark.sql.functions._
import org.apache.spark.sql.expressions.Windowimport org.apache.spark.sql.types.{StringType, StructField, StructType}// by_20231215
// 作者:https://blog.csdn.net/qq_52128187?type=blog
object lon_benchuziwuxian {def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppName("Parent_child_v3").setMaster("local[1]")val sc = new SparkContext(conf)val spark = SparkSession.builder.appName("Parent_child_v3").getOrCreate()import spark.implicits._// 数据val data = Seq((1, 178.0, 40.0, "2022-08-15 12:00:00"),(1, -179.0, 45.0, "2022-08-15 12:30:00"),(1, -170.0, 50.0, "2022-08-15 13:00:00"))// 数据集的schemaval columns = Seq("id", "lon", "lat", "time")val trajDataFrame = data.toDF(columns: _*)// 处理跨越本初子午线的经度val processedDataFrame = trajDataFrame.withColumn("lon_processed",when(col("lon") < 0, col("lon") + 360).otherwise(col("lon")))processedDataFrame.show()//    // 处理跨越本初子午线的经度
//    val processedDataFrame = trajDataFrame.withColumn("lon_processed",
//      when(col("lon") < 0, col("lon") + 360).otherwise(col("lon")))
//
//    // 按id和时间排序
//    val sortedDataFrame = processedDataFrame.orderBy("id", "time")
//
//    // 调整经度以避免跨越本初子午线
//    val adjustedDataFrame = sortedDataFrame.withColumn("lon_adjusted",
//      when(abs(col("lon_processed") - lag("lon_processed", 1).over(Window.partitionBy("id").orderBy("time"))) > 180,
//        when(col("lon_processed") > lag("lon_processed", 1).over(Window.partitionBy("id").orderBy("time")), col("lon_processed") - 360)
//          .otherwise(col("lon_processed") + 360)
//      ).otherwise(col("lon_processed"))
//    )
//
//    // 将经纬度点按时间形成一条轨迹字符串
//    val trajStringDF = adjustedDataFrame.groupBy("id").agg(collect_list(struct("lon_adjusted", "lat", "time")).as("trajectory"))
//
//    trajStringDF.show(false)}
}

http://www.yayakq.cn/news/26/

相关文章:

  • 上海闵行做网站网站宣传册怎么做
  • 用dw做的网页怎么连到网站上html网页制作企业类网站
  • 电子商务网站建设如何策划与实施学校网站开发
  • 做的网站太大网站建设基本步骤顺序
  • 制作企业网站建设网站的安全性
  • 绍兴企业自助建站朋友圈广告30元 1000次
  • 网站建设中手机版怎么看一个网站用什么做的
  • 安徽中色十二冶金建设有限公司网站网站服务器租用协议
  • 某企业网站的设计与实现杭州市网站制作
  • 北京建设工程质量总站网站怎样撰写企业网站建设方案
  • 国家住房城乡建设厅网站安徽建筑工程网站
  • 基于html5的旅游网站的设计与实现温州大型网站建设
  • 建网站手机软件游戏推广员判几年
  • 网站系统分析报告网站传送门怎么做
  • 鄂州网站设计公司wordpress点击文章在新页面打开
  • 前端网站制作教程茂名网站制作维护
  • 聊城做网站嘉兴官网
  • 网站制作公司 深圳广州建设工程造价管理站
  • 霸州做网站的公众号运营策划
  • 淘宝客如何新建网站专注网站基础优化
  • 做下载网站用什么程序好网站建设代码实例
  • 营销型手机网站制作网站建设公司北京亦庄
  • 广州十大高端网站建设公司制作网页素材图片