4

I have to compare geometries anywhere in the world; mainly between 65N and 40S but also in the Arctic latitudes. I need "commercial accuracy" - not military or navigational. For example does a line intersect with a polygon and - if so - so they intersect for 50 km rather than 55 km. I store the lat and lng of these geometries.

Can anyone please tell me how to select the most suitable cartesian projection (from spatial_ref_sys) to transform the coordinates into before compare any line with any polygon ?

I have tried to use the lng of the centre of the line to select one of the SRIDs between 32601-32660 and 32701-32760. As many of you will know, these are based on the equator every 6 degrees and the 601-660 are for northern hemisphere while the 701-760 are for the southern hemisphere.

To test whether this works, I check whether the ST_Intersects() function detects that a point in Asia at 36.9417, 75.4083 intersects with a polygon of Asia after both are transformed with SRID 32643 whose central_meridian is 75 degrees. Sadly the ST_Intersects() function doesn't detect that the point is right in the middle of Asia, but when I use SRID 32644 whose central_meridian is 81 degrees, ST_Intersects() function detects an intersection between point and polygon.

There are many other examples of my "calculated" SRID being the wrong one. Maybe I'm overcomplicating ? I originally used SRID 4326 anywhere worldwide before testing with ST_Intersects(), and things seem fairly accurate except in high northern latitudes, so I was hoping to minimize inaccuracies by using different cartesian SRIDs at different longitudes.

Perhaps I need to find SRIDs which centre on the latitude of the geometries - not just the longitude ? Maybe I'm overcomplicating ?

Many thanks for your initial welcoming response. I hope that gives good information.

  • 1
    Welcome to GIS.SE. Can you edit your question with a bit more about your data sources, and what you are trying to tell. Also, can you add a bit about what you've already looked at (e.g. are you comfortable with the difference between geographic and geometric representations?), and what you've already tried? – BradHards Jan 23 '14 at 0:07
  • Due to the apparent broad nature of this question I have indicated a duplicate thread. If the general answers posted there aren't enough, Mike, then please edit your question to indicate your objectives a little more specifically and quantitatively. – whuber Jan 23 '14 at 4:35
  • After seeing Andre's comments about using Mercator projections, I have now looked at the Mercator ones in my not-up-to-date spatial_ref_sys table. There are only 14. Some are deprecated so I'm ignoring them. Some are in Indonesia, so there's no obvious reason to use them. That leaves 3; one is centred on lng 51, one on lng 100, leaving 3857, the one which Google uses, I believe. NB I can't find a simple way to update spatial_ref_sys yet. So maybe I should use 5041 for > 70N, 5042 for <70S and 3857 for the rest, in which case trying to use the UTM projections has been a time-consuming "red herr – user607229 Jan 29 '14 at 12:51
1

UTM and other transverse Mercator projections only have a limited longitudinal area of validity. You can exceed the 6 degrees of definition by a certain extent, but the whole of Asia can not be reprojected to a single CRS. Look how it will get displayed using QGIS with EPSG:32643:

enter image description here

The eastern parts get truncated, and that is why your point to polygon intersection won't work.

Mercator projections are better in this case, unless your data includes the poles. That's why Google and Openstreetmap use a (modified) mercator projection for their maps.

  • Thanks Andre. Interesting. I used the UTM projections because the chair of EPSG said "For points between 70N and 70S, CRS "WGS 84 / UTM zone x" could be used, where x is derived from the longitude of the point. For trans-polar areas you should use "WGS 84 / UPS y" where y = pole, N or S. These are EPSG codes 5041 and 5042." What logic would you use instead to select the best Mercator projection ? Thanks, Mike – user607229 Jan 29 '14 at 10:38
  • You are right for the points, but the whole continent is just too large for UTM. For the intersection, try EPSG:3857 or 4326. – AndreJ Jan 29 '14 at 11:35
  • I have just checked that about 120,000 points are in the right region using 3857, 5041 an 5042 and the script seems to have got it right. Of those 120,000 points, quite a lot are right beside the region boundaries so I imagine it was a good test of projections. Fingers crossed. meanwhile, many thanks Andre. – user607229 Jan 29 '14 at 16:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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