热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Sqlite从点信息生成距离表-Sqlitegeneratedistancetablefrompointinformation

Ihaveatablethatcontainscoordinatesofseveralpoints.我有一个包含几个点坐标的表。|PointName|XCoor|YC

I have a table that contains coordinates of several points.

我有一个包含几个点坐标的表。

| PointName | XCoor | YCoor |
+-----------+-------+-------+
|    P1     |  X1   |  Y1   |
+-----------+-------+-------+
|    P2     |  X2   |  Y2   |
+-----------+-------+-------+
....

I want to generate a table that includes distance between two points.

我想要生成一个表,其中包括两点之间的距离。

| Point1Name | Point2Name | Distance |
+------------+------------+----------+
|    P1      |    P2      |  ZZZZZ   |
+------------+------------+----------+
....

To be able to calcualte the distance between two points, I enabled dynamic extension loading and used extension-functions module for arithmetic calculations. However, I am not quite sure if it is possible to create the output table with any sort of SQL tricks?

为了计算两点之间的距离,我启用了动态扩展加载,并使用扩展函数模块进行算术计算。但是,我不太确定是否可以使用任何SQL技巧创建输出表?

I need this functionelity in a C++ program, so in the worst case I will try to do it in the C++ way rather than using an SQL statement. This ,however, will require me to use sqlite3_exec() and define my callback function, and most probably I will end up running another sqlite3_exec() within the first callback funstion to get the desired output.

我需要在c++程序中使用这个函数,所以在最坏的情况下,我将尝试使用c++而不是SQL语句。但是,这需要我使用sqlite3_exec()并定义我的回调函数,并且很可能在第一个回调函数中运行另一个sqlite3_exec()来获得所需的输出。

Thanks in advance

谢谢提前

2 个解决方案

#1


3  

This SQL should produce a table for you:

这个SQL应该为您生成一个表:

create table distances as
select a.PointName as Point1Name, b.PointName as Point2Name,
  sqrt((a.XCoor - b.XCoor) * (a.XCoor - b.XCoor) + (a.YCoor - b.YCoor) * (a.YCoor - b.YCoor)) as Distance
from points a, points b
where a.rowid != b.rowid

Do you really need it in a table though? You could just execute the select statement when you want to get the values.

你真的需要放在桌子上吗?当您想要获取值时,您可以执行select语句。

#2


2  

SELECT
   a.PointName AS Point1Name,
   b.PointName AS Point2Name, 
   POWER(POWER(a.xCoor - b.xCoor, 2) + POWER(a.yCoor - b.yCoor, 2), 1 / 2) AS Distance
FROM
   Points a, Points b
WHERE
   a.PointName <> b.PointName
;

Will have each distance twice (p1 <-> p2 and p2 <-> p1)

每个距离都有两次(p1 <-> p2和p2 <-> p1)


推荐阅读
  • Whatisthemainargumentinfavorofre-usingshortkeywords(andaddingcontext-dependentmeanings ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • 作者一直强调的一个概念叫做oneloopperthread,撇开多线程不谈,本篇博文将学习,怎么将传统的IO复用pollepoll封装到C++类中。1.IO复用复习使用p ... [详细]
  • SayIhaveafunctionwork(),onceitiscalled,Idontwantittobecalledinthenext5seconds. ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 嵌套函数定义时先判断function_exists防止递归调用外部函数导致两次定义内部函数导致致命错误看一下PHP手册中是如何说的: ... [详细]
  • 目前正在做毕业设计,一个关于校园服务的app,我会抽取已完成的相关代码写到文章里。一是为了造福这个曾经帮助过我的社区,二是写文章的同时更能巩固相关知识的记忆。一、前言在爬取教务系统 ... [详细]
  • jquery定时器调用函数时传参varli$(.firstli:first-child);varindex0;vars$(.firstli);functiongundong(a ... [详细]
author-avatar
mobiledu2502883257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有