2

I have some parcel coordinates that I cannot convert to WGS 84 (cf. http://www.bcad.org/mapSearch/?cid=1&p=448116)

What's the coordinate system of these parcel coordinates, you ask? Great question...

As a running example, consider the address

4851 VIEWCREST RD
San Antonio, TX 78204

has these coordinates in the polygon:

2160910.4206036776,13756591.710301831
2160881.7703412026,13756575.760170609
...

In the JSON response that produces these coordinates, there is a field which leads me to believe the coordinates are EPSG 2278:

"spatialReference": {
    "wkid": 102740,
    "latestWkid": 2278
}

This EPSG corresponds to NAD83 / Texas South Central (ftUS) according to http://spatialreference.org/ref/?search=Texas&srtext=Search.

I can even do a sensible conversion here on Earthpoint (http://www.earthpoint.us/StatePlane.aspx) using the options 4204 - Texas South Central / US Survey Feet.

Problem is that I can't seem to get a valid conversion from EPSG 2278 to WGS 84 (I've tried both https://mygeodata.cloud/cs2cs/ as well as pyproj).

Aside that may be of help: When I look at the features of EPSG 2278, it appears that the coordinates I'm getting back are outside the correct bounding box for this coordinate system: http://spatialreference.org/ref/epsg/2278/

WGS84 Bounds:
-105.00 27.82
 -93.83 30.66

Projected Bounds:
   29,483.7 13,155,424.7
3,639,474.5 14,199,599.0

I've tried every other EPSG for Texas South Central I could find listed (http://spatialreference.org/ref/?search=Texas&srtext=Search).

Another aside: I'm using Python code similar to this (and I get similar results on https://mygeodata.cloud/cs2cs/):

EPSG_FROM = pyproj.Proj("+init=EPSG:3673")
EPSG_TO = pyproj.Proj("+init=EPSG:3857")
lat_wgs84, lon_wgs84 = pyproj.transform(EPSG_FROM, EPSG_TO, float(point[0]), float(point[1]))

where point is of course a coordinate from the polygon I'm interested in converting.

Vince
  • 20,017
  • 15
  • 45
  • 64
D3C34C34D
  • 141
  • 2
  • If you are struggling to convert data which should be easily converted, you must consider the possibility that your source is not in the format expected. – Vince Jan 20 '17 at 13:16
  • @Vince Absolutely; the challenge for me was where to go once the format is not as expected :-) – D3C34C34D Jan 20 '17 at 22:00

1 Answers1

2

It turns out the fix was trivial; I needed to pass in "preserve_units=True" into the Proj object creation:

EPSG_FROM = pyproj.Proj(init="EPSG:2278", preserve_units=True)
EPSG_TO = pyproj.Proj(init="EPSG:4326")
# ...

Still not entirely clear to me why I couldn't get https://mygeodata.cloud/cs2cs/ to work as expected.

This answer led me down the path: Converting state plane coordinates to latitude/longitude

D3C34C34D
  • 141
  • 2