Stephen, This is a classic, and I think it must be in some FAQ some where. The only way I have done it is to re-project using the transform function to something whose units are in meters, since the 4326 SRID has distance units in meters. Thus, something like the following:
SELECT st_area(transform(the_geom, 26918)) / 10000 as hectares FROM mal_state WHERE name = 'KELANTAN' Now, in this example, I have chosen SRID 26918, which off the top of my head is like NAD 1983, UTM Zone 17. This is a fairly appropriate projection for my area (eastern US), however, I don't know enough about projections to say without reservation that you could use any old projection without concerning yourself with whether or not the projection you use is valid in the area that you are operating on in DD. If anyone else has better, more comprehensive insight on this, I for one would like to hear about it, Robert W. Burgholzer Surface Water Modeler Office of Water Supply and Planning Virginia Department of Environmental Quality [EMAIL PROTECTED] 804-698-4405 Open Source Modeling Tools: http://sourceforge.net/projects/npsource/ -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Stephen Lee Sent: Monday, May 05, 2008 2:27 PM To: [email protected] Subject: [postgis-users] question on returning area size using st_area. hi there, i've just started using postgis, i have loaded a sample map of malaysia using the following command: F:\PROGRA~1\PostgreSQL\8.3\bin>shp2pgsql -c -s 4326 G:\Maps\Malaysia\Detailsmaps\state_region public.mal_state > state.sql Shapefile type: Polygon Postgis type: MULTIPOLYGON[2] the projection file in the prj is as follow so I assume the SRID is 4326 : GEOGCS["Lat Long WGS84",DATUM["D_WGS84",SPHEROID["World_Geodetic_System_of_1984",6378137, 298.257222932867]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943 295]] the map is successfully loaded and can be viewed using uDig. The problem occurs when I tried to use the st_area command as state in the PostGIS (1.3.3) manual (4.6.2.2). the sql statement i issue is: SELECT ST_Area(the_geom)/10000 AS hectares FROM mal_state WHERE name = 'KELANTAN'; hectares ------------------ 0.000122167591783352 (1 row) is the return result measure in the unit of the WGS84 projection? if so how can i change it to the correct measurement? i have attached my map file in this email, can someone please shine some light? thanks in advance. best regards, Stephen
_______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
