How to: |
Given a point and a polygon definition, the GIS_IN_POLYGON function returns the value 1 (TRUE) if the point is in the polygon or 0 (FALSE) if the point is not in the polygon. The value is returned in integer format.
GIS_IN_POLYGON(point, polygon_definition)
where:
Alphanumeric or text
Is the geometry point.
Text
Is the geometry area (polygon) definition.
The following example determines if a station is inside ZIP code 10036. GIS_IN_POLYGON returns 1 for a point inside the polygon definition and 0 for a point outside. The polygon definition being passed is the same one used in the example for the GIS_GEOMETRY function described previously and defines the polygon for ZIP code 10036 in Manhattan in New York City. The value 1 is translated to Yes and 0 to No for display on the output.
DEFINE FILE esri/esri-citibike WKID/A10 = '4326'; MASTER_GEOMETRY/TX256 (GEOGRAPHIC_ROLE=GEOMETRY_AREA) = GIS_GEOMETRY( 'esriGeometryPolygon', WKID , GEOMETRY ); START_STATION_POINT/A200=GIS_POINT(WKID, START_STATION_LONGITUDE, START_STATION_LATITUDE); STATION_IN_POLYGON/I4=GIS_IN_POLYGON(START_STATION_POINT, MASTER_GEOMETRY); IN_POLYGON/A5 = IF STATION_IN_POLYGON EQ 1 THEN 'Yes' ELSE 'No'; END TABLE FILE esri/esri-citibike PRINT START_STATION_NAME AS Station IN_POLYGON AS 'Station in zip, code 10036?' BY START_STATION_ID AS 'Station ID' ON TABLE SET PAGE NOLEAD ON TABLE SET STYLE * type=report, grid=off, size=10,$ type=data, column=in_polygon, style=bold, color=red, when = in_polygon eq 'Yes',$ ENDSTYLE END
The output is shown in the following image.