Postgresql 空间连接问题

Postgresql 空间连接问题,postgresql,gis,postgis,Postgresql,Gis,Postgis,我不熟悉sql,并尝试使用它来加速从csv(包含用于上下车点的lat和lon)到120万次行程的空间分析。 我想用通俗易懂的英语做的是: 选择从感兴趣区域开始的所有行程(作为shapefile加载到我的数据库中)到一个表中 选择以感兴趣区域为终点的所有行程,然后进入另一个区域 -在这些点和普查轨迹的形状文件(包含邻域名称)之间执行空间连接 按邻里名称计数,以列出前往/离开感兴趣区域的最频繁起点/目的地 我正在使用的代码如下(如果有用,NTA或邻里列表区域是我希望在此操作结束时在表中显示的邻里

我不熟悉sql,并尝试使用它来加速从csv(包含用于上下车点的lat和lon)到120万次行程的空间分析。 我想用通俗易懂的英语做的是:

  • 选择从感兴趣区域开始的所有行程(作为shapefile加载到我的数据库中)到一个表中
  • 选择以感兴趣区域为终点的所有行程,然后进入另一个区域 -在这些点和普查轨迹的形状文件(包含邻域名称)之间执行空间连接
  • 按邻里名称计数,以列出前往/离开感兴趣区域的最频繁起点/目的地
我正在使用的代码如下(如果有用,NTA或邻里列表区域是我希望在此操作结束时在表中显示的邻里名称):

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

迄今为止我尝试过的故障排除解决方案:

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

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

我将创建的多点形状文件导入到我的地理数据库中,以测试它是否与ST_相交。没有

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

错误:内部函数st_(字符变化、几何体)不存在
..
提示:没有与给定名称和参数类型匹配的函数。你 可能需要添加显式类型转换

我正在使用大SQL和postgres 谢谢

我的第一个想法是,这些点不在正确的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_in()
查询


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

如果您使用的是PostGIS,为什么要将其标记为mysql?此外,最好在GIS.SE或DBA.SE上查询。
ERROR: function st_within(character varying, geometry) does not exist