More

How do I create a point, buffer it, and intersect with polygon geometry?

How do I create a point, buffer it, and intersect with polygon geometry?


The sql below is intended to create a point from a know X,Y. It should then buffer the point with a known distance. Last, the sql should intersect the buffer with an underlying polygon layer and return the name field from the polygon the buffer intersects. Seems straightforward.

SELECT name FROM polygons t1 WHERE sde.st_intersects (sde.st_buffer(sde.st_point(x, y), buffer), t1.SHAPE) = 1

When I run the sql, I get the following:

Error at line 3 ORA-20003: Geometry type "" is not a valid shape type. ORA-06512: at "SDE.ST_GEOM_UTIL", line 275 ORA-06512: at "SDE.ST_POINT", line 21

What am I doing wrong and how do I fix it? The X,Y I'm using are definitely in the correct area so buffering and finding an intersection should not be a problem.

I'm using st_geometry on Oracle from Arc 10.1


You need to add a SRID to ST_POINT.

SELECT name FROM polygons t1 WHERE sde.st_intersects (sde.st_buffer(sde.st_point(x, y, SRID), buffer), t1.SHAPE) = 1

Watch the video: GIS Clip Analysis using ArcGIS Desktop