enter image description here

My data is in two different cities and three different EPSG code area. (Database is PostgreSQL/PostGIS.)

  • So I think, I can not set SRID values by data. Making 3 different table is difficult. How can I do it?
  • Data will be collected with high accuracy GPS devices. It is also difficult to change coordinates in city borders.

If I use global EPSG:3857 for all data, the calculation of length will be different from actual collected data data. How can I solve this problem?

  • 1
    Your title highlights an option which is not available. Your diagram shows a problem for which scores or even hundreds of possible projections exist. Web Mercator would waste high accuracy collection. – Vince Jul 5 '20 at 16:34
  • 3
    Please tell us the actual EPSG codes, and the required accuracy of length calculations. – CL. Jul 6 '20 at 8:50

You can store it in EPSG:4326 WGS84 for example. Then cast to Geography from 4326 for distance calculations:


  • Please suggest one or the other, but EPSG::3857 ('Web Mercator') is not a good suggestion. If you're suggesting 3857 but including EPSG:4326 to show what GeoCRS 3857 is using, that's already part of its definition. Using the name is probably clearer: WGS 84 / Pseudo-Mercator. – mkennedy Jul 12 '20 at 2:15
  • Their data is already in 3857. – HeikkiVesanto Jul 12 '20 at 13:41
  • No, OP asked about using 3857 because his data falls in several CRS areas of use. – mkennedy Jul 12 '20 at 15:34
  • Fair point. Removed 3857 from my answer. – HeikkiVesanto Jul 12 '20 at 15:46

Store as 4326 as the data spans multiple zones. Convert to a suitable projection to make calculations.

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