I'm trying to convert a series of points from Easting Northing to LatLong, I have this working perfectly in Arc but ideally I would like the algorithm to do it through our own system. It is a huge amount of points so standard conversion websites aresn't much good to me.

closed as unclear what you're asking by Spacedman, Evil Genius, John Powell, PolyGeo Oct 29 '15 at 21:41

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Implementing this on your own for processing large numbers of points is definitely possible. What language? Do you have other requirements? – DenaliHardtail Oct 29 '15 at 14:28
  • 1
    Unless you tell us what your "own system" is we can't really help can we? – Spacedman Oct 29 '15 at 14:31
  • Python would be best. Once I can convert points the rest of my processing should be straightforward! – SophieP Oct 29 '15 at 14:31
  • 2
    pypi.python.org/pypi/pyproj? is what you are looking for. Proj4j is the standard projection library and there are ports for most languages. – John Powell Oct 29 '15 at 14:37
  • Please use the edit button beneath your question to revise it with any requested clarifications. – PolyGeo Oct 29 '15 at 21:41

I would suggest using the proj4 library. You can create a php/js page that will allow the input of N,E points in csv format and it will output it the lat/long coordinates. I have written a program that can be found at http://www.gislab.net/mapping/ , this takes any Texas State Plane coordinate point (in Northing Easting) and converts to WGS84 Lat/Lon, it works on a single point or a batch of many points. The program gives output as either a converted CSV or GPX file or it will map them in googlemaps or ESRI maps. I can give you the source code if you would like, but you will have to change some parameters (unless of course you are in texas, then it will work fine)

Here is the web page for Proj4js - http://proj4js.org/

alternatively here are sites that allows you to batch a large number of coordinates

http://www.earthpoint.us/BatchConvert.aspx - this may require a subscription, but i think simple batches are free

http://www.dimensionengine.com/excel/geogtools/ - this converts coordinates in an excel file

http://www.eye4software.com/hydromagic/documentation/manual/user-interface-features/coordinate-calculator/ - standalone windows program to do batch conversions

http://software.geocomm.com/coorconv/ - a list of several other options


Check out the below code using pyproj. You only need to know the source and destination epsg codes.

import pyproj

def transform(epsg_in, epsg_out, x_in, y_in):

    # define source and destination coordinate systems based on the ESPG code
    srcProj = pyproj.Proj(init='epsg:%i' % int(epsg_in), preserve_units=True)
    dstProj = pyproj.Proj(init='epsg:%i' % int(epsg_out), preserve_units=True)

    # perform transformation
    x_out,y_out = pyproj.transform(srcProj, dstProj, x_in, y_in)
    print '(%.5f, %.5f) EPSG: %i => (%.5f, %.5f) EPSG: %i' % (x_in, y_in, epsg_in, x_out, y_out, epsg_out)
    return x_out,y_out

if __name__ == '__main__':
    #entry point
    x, y = transform(epsg_in=4269, epsg_out=4267, x_in=-98, y_in=32)
    transform(epsg_in=4267, epsg_out=4269, x_in=x, y_in=y)

    x, y = transform(epsg_in=4269, epsg_out=2276, x_in=-98, y_in=32)
    transform(epsg_in=2276, epsg_out=4269, x_in=x, y_in=y)

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