Respuesta corta:
Siempre se define el SRID con geometrías. Por lo tanto, utilice uno de estos para hacer su punto:
ST_GeomFromText('POINT (29.4 60.1)', 4326)
'SRID=4326;POINT(29.4 60.1)'::geometry
ST_SetSRID(ST_MakePoint(29.4, 60.1), 4326)
Si la geometría de entrada no tiene un SRID, entonces es indefinido (ya sea -1 o 0, cambiado en la versión 2.0).
Respuesta larga
La definición de ST_Contains
utiliza la sentencia SQL en dos geometrías de entrada ( $1
y $2
):
SELECT $1 && $2 AND _ST_Contains($1,$2)
que primero hace una búsqueda en el cuadro delimitador (índice) con el &&
operador. Esta primera parte de la consulta no requiere el SRID, por lo que si se encuentran cero resultados con los recuadros delimitadores, entonces la segunda y más costosa consulta no es necesaria. Sin embargo, si hay coincidencias con los recuadros delimitadores, entonces _ST_Contains
se llama para ver si las geometrías reales cumplen los requisitos de "Contiene". Esta función comprueba si los SRID coinciden.
La primera consulta no tenía coincidencias de caja delimitadora con &&
Así que _ST_Contains
no fue llamado.
La segunda consulta tenía coincidencias de caja delimitadora, pero detectó un error con _ST_Contains
.