I am fairly new to PostGIS and I'm trying to return a row in my table that has the shapefile containing a lat/long point I pass in via st_contains. Below is a query I wrote myself that brings back 0 rows with no errors as seen below.
SELECT *
FROM es_zones
WHERE ST_Contains(geom, ST_GeomFromText('POINT(-73.952545 40.774576)'))=true;
Having found a query similar of that to which I am trying to accomplish here, below is my last query ran.
SELECT *
FROM es_zones
WHERE ST_Contains(es_zones.geom,ST_transform(ST_GeometryFromText('POINT(-73.952545 40.774576)',26918),26918))=true
AND ST_Distance(es_zones.geom,ST_transform(ST_GeometryFromText('POINT(-73.952545 40.774576)',21918),21918))=false;
which also brings back 0 rows as seen below
----+-------------+-------+--------+--------------+-------------+--------------+-------------+---------------+---------------+-----------+-----+----------+-------+--------
gid | schooldist | boro | initials | creat_date | edit_date | zoned_dist | boro_num | shape_leng | shape_area | remarks | dbn | esid_no | label | geom
(0 rows)
Really not sure where I am going wrong.
I was able to get QGIS set up and connected to my PostGIS data. I don't understand what the 997487, 221261 coordinates are.
How do they correspond to the lat/lon points I got back from my GeoCoder Gem?
I passed them in as my point but got the following error;
ERROR: Operation on mixed SRID geometries
Verifying the SRID shows
SELECT ST_SRID(geom) FROM es_zones LIMIT 1;
st_srid
---------
926918
(1 row)
So it sounds like something may have happened to my spacial_ref_sys table, or perhaps I didn't get it configured correctly to begin with. A Google search for my last error ERROR: GetProj4StringSPI: Cannot find SRID (4326) in spatial_ref_sys
returned this StackOverflow question. Which points to running spatial_ref_sys.sql
to regenerate the rows in that table.
I found some elaboration on how to go about executing spatial_ref_sys.sql
in the PostGIS documentation here, but I'm confused why it says it can't find SRID 4326 when looking in PGAdmin I can see it as shown below!
=# SELECT * FROM es_zones WHERE ST_Contains(es_zones.geom,ST_transform(ST_GeometryFromText('POINT(73.952545 40.774576)',26918),26918))=true;
=# SELECT * FROM es_zones WHERE ST_Contains(es_zones.geom,ST_transform(ST_GeometryFromText('POINT(73.952545 40.774576)',26918),26918))=true and ST_Distance(es_zones.geom,ST_transform(ST_GeometryFromText('POINT(73952545 40.774576)',21918),21918))=0.00;