当前位置: 首页 > 知识库问答 >
问题:

空间连接问题

魏翰
2023-03-14

我是新来的sql,并试图使用它来加快空间分析的~120万旅行从一个csv,包含lat和lon的拾取和下降点。我想用简单的英语说:

  • 将从感兴趣区域开始的所有行程(作为shapefile加载到我的数据库中)选择到一个表中

我正在使用的代码如下(如果有帮助,NTA或邻域制表区域,是我想在此操作结束时显示在我的表中的邻域名称):

    --Select all trips that end in project area
SELECT *
INTO end_PA
FROM trips, projarea
WHERE ST_Intersects(trips.dropoff, projarea.geom);

--for trips that end in project area - index by NTA of pick up point

ALTER TABLE end_PA ADD COLUMN GID SERIAL;

CREATE TABLE points_ct_end AS
SELECT nyct2010.ntacode as ct_nta, end_PA.gid as point_id 
from nyct2010, end_PA WHERE ST_Intersects(nyct2010.geom , end_PA.pickup);


--Count most common NTA
--return count for each NAT as a csv
copy(
select count(ct_nta) from points_ct_end
group by ct_nta
order by count desc)
to 'C://TaxiData//Analysis//Trips_Arriving_LM.csv' DELIMITER ',' CSV HEADER;

但是,我从一开始就遇到了问题-ST_交叉点不会返回感兴趣区域内的任何点!

到目前为止,我尝试过的故障排除解决方案:

我的第一个想法是这些点不在正确的SRID中。当我创建下拉点时,我将SRID设置为4326。我尝试使用ST_SetSRID将两个数据集的投影更改为4326,并在ArcMap中手动将形状文件重新投影为4326,但都不起作用。

我从Arc Map中的旅行数据集中绘制了一个小样本点,以确保它们被正确地投影并与ProjArea形状文件重叠。他们是。

我将这个创建的多点shapefile导入到我的geo数据库,以测试它是否适用于ST_Intersects。没有。

我试着在内部使用ST_。这引发了错误消息

错误:中的函数st_(字符变化、几何体)不存在

提示:没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换。

我正在使用大SQL和postgres谢谢!!

共有1个答案

昌琪
2023-03-14

我的第一个想法是,这些点不在正确的SRID中。创建“衰减”点时,我将SRID设置为4326。我尝试使用ST_SetGrid将两个数据集的投影都更改为4326,并在ArcMap中手动将ShapeFile重新投影到4326,但都不起作用。

ST_SetGrid不会更改投影(重投影)。它只是改变了内部表示。如果以前的SRID与输入数据匹配,这可能会完全搞糟一切。您可能想要ST\u Transform()

这里没有足够的信息来解决这个问题。然而,我们可以回答这个...

ERROR: function st_within(character varying, geometry) does not exist

这仅仅意味着第一个参数不是几何。当然,我们对此无能为力,因为我们没有您尝试过的ST_Within()查询。

您的ST_Intersects()语法看起来是正确的。但是,根本没有足够的信息来提供帮助。显示一些模式和示例数据。

 类似资料:
  • 尝试在csv格式的shapefile和数据表之间进行空间连接时,我遇到了一些问题。 重要提示:包含大约500条记录,而表只有250条。中的某些记录将不匹配。 问题1: 我有一个excel文件,我将其转换为csv以导入到R中。在运行连接时,我注意到ID列中的一些数据格式发生了更改(因此将变为到相同)。然而,当我在记事本中打开csv文件时,格式是正确的。我试着将表格作为.txt文件读取,但没有成功。有

  • null 如果我理解正确的话,我们应该在启动时有1个空闲连接,根据负载从0到3,对吗? 正在发生的情况是:启动时1个连接,如果负载较低,最多3个空闲连接,高负载后超过3个空闲连接。然后这些连接不会立即关闭,我们不知道它们何时/是否会关闭(有时它们中的一些会关闭)。 所以问题是:这种行为正常吗? DAO子类的使用示例:

  • 我正在使用部署在Kafka Connect中的Debezium MySQL连接器,将MySQL更改流式传输到Kafka主题,并从中获取这些消息,从而丰富数据并将数据推送到另一个MySQL。 源和接收器都是MySQL。 我的源表中有几个列,列数据类型为TIMESTAMP。 创建时间:2021-10-06 09:32:46 我可以在Kafka的信息中看到上述数据,如下所示 “创建时间”:“2021-1

  • Spark 组件之间的网络连接问题会导致各式各样的警告/错误: SparkContext <-> Spark Standalone Master: 如果 SparkContext 不能连接到 Spark standalone master,会显示下面的错误 ERROR AppClient$ClientActor: All masters are unresponsive! Giving up. E

  • 问题内容: 如果我在闲置了一段时间后启动应用程序,那么我曾经遇到以下错误。(我正在使用Spring + Hibernate + MySQL作为DB) 我通过将以下内容添加到我的servlet-context.xml中解决了这个问题。 我在这里问了这个问题,这个问题是解决方案所特有的。我需要知道为什么会遇到这个错误。 我尝试了上面链接中提供的第一个选项(使用autoReconnect = true配

  • 在连接jstatd和visualvm时遇到了一些问题。以下是我设置的详细信息: 杰斯塔德。政策 叫做与 牵引端口 港口又好又开放 正在运行的应用程序是在vmware上运行的,尽管可以毫无问题地访问该应用程序。 如果有人对连接visualvm有任何想法,那就太好了。