2

I am working with EPSG 27700 polygon data in PHP. All the polygons are in the UK. The polygons do not have holes inside them. I'm hoping to be able to calculate the area of these polygons. For this I believe I need to take two steps. Firstly to convert the coords into something where x an y are the same distance and then once that is done to calculate the area inside each polygon.

My naive solution would be to use some graphics package to draw the polygon onto an image and count the coloured squares.

  1. What's a good coordinate system for this? UK Easting & Northing is my best guess.

  2. Is there a PHP library or easily(!) implemented algorithm to find the area inside a polygon defined by a list of points?

Alternatively, should I be getting out of my comfort zone and learning to use a proper GIS system?

2
  • Welcome to GIS SE! Some of our protocols can take a little getting used to but one of them is that, as per the Tour our Q&A format works best if you ask just your most important question first. There is an edit button that you can use to focus your question in this way, and your other question can always be researched/asked separately.
    – PolyGeo
    Aug 21, 2014 at 11:07
  • I suggest you to see: gis.stackexchange.com/a/20056/14426 Aug 21, 2014 at 16:47

1 Answer 1

1

You'll need to convert your geographic coordinates into a projection that has a coordinate system that allows you to use Cartesian math to calculate area.

I believe UTM is the accepted standard projection, as it is very simple to select a zone based on your latitude and longitude, and also the distortion is minimal, even across zones. So, if you have a polygon the size of Texas, you can use UTM Zone 14 N and it will still be fairly accurate.

If your polygons are over the North or South pole, then you should use UPS instead, as the UTM projections are less accurate over the poles, and you will quickly traverse them as the boundaries get smaller (since they follow lines of longitude)

Once your points are in a Cartesian-friendly coordinate system, you can treat them like polygons on a grid and calculate area.

2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.