[MetaCRS] Noob Question on Proj4js

Steven Sokol steven.sokol at gmail.com
Mon Jun 17 18:26:11 PDT 2013


Please disregard. Found that I needed to include the proper lat_1 and lat_2
values. Works like a champ.

Now trying to make it work in reverse...


On Mon, Jun 17, 2013 at 6:52 PM, Steven Sokol <steven.sokol at gmail.com>wrote:

> Greetings.  I'm working with maps provided by the FAA* which include a
> world file and some meta data. I'm trying to work out how to convert a
> given lat/lon to a pixel coordinate on the map. I seem to be having some
> difficulty converting the map metadata into a valid constructor.  Here's
> the meta data I have:
>
> *Spatial_Reference_Information:**Horizontal_Coordinate_System_Definition:*
> *Planar:**Map_Projection:**Map_Projection_Name:* Lambert Conformal Conic*
> Lambert_Conformal_Conic:**Standard_Parallel:* 33.330000 *
> Standard_Parallel:* 38.660000*Longitude_of_Central_Meridian:* -93.470000*
> Latitude_of_Projection_Origin:* 38.167000*False_Easting:* 0.000000*
> False_Northing:* 0.000000 *Planar_Coordinate_Information:**
> Planar_Coordinate_Encoding_Method:* row and column*
> Coordinate_Representation:**Abscissa_Resolution:* 63.464794 *
> Ordinate_Resolution:* 63.464794*Planar_Distance_Units:* meters*
> Geodetic_Model:**Horizontal_Datum_Name:* North American Datum of 1983 *
> Ellipsoid_Name:* Geodetic Reference System 80*Semi-major_Axis:*
>  6378137.000000*Denominator_of_Flattening_Ratio:* 298.257222
>
> And here is the constructor I created:
>
> Proj4js.defs["EPSG:9999"] = "+proj=lcc +lat_0=38.167000 +lon_0=-93.470000
> +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs";
>
>
> Here is the data from the world file:
>
> 63.4647940000
> 0.0000000000
> 0.0000000000
> -63.4647940000
> -387637.9055536929
> -24695.2385093325
>
> And here is the code** I'm running:
>
> <SCRIPT type="text/javascript">
> // Put your projection definition here.
> Proj4js.defs["EPSG:9999"] = "+proj=lcc +lat_0=38.167000 +lon_0=-93.470000
> +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs";
>
> var A = 63.4647940000,
>     D = 0.00000000000,
>     B = 0.00000000000,
>     E = -63.4647940000,
>     C = -387637.9055536929,
>     F = -24695.2385093325;
>
> function frompixel(px, py) {
>     px += 0.5; // Add a half-pixel offset to get the coordinates of the
> centre of the pixel.
>     py += 0.5;
>     return {x : A*px + B*py + C, y: D*px + E*py + F};
> }
>
> function tolatlong(x, y) {
>     var src = new Proj4js.Proj('EPSG:9999'); // Same code as you defined
> above. Alternatively, let proj4js get the definition from
> spatialreference.org
>     var dest = new Proj4js.Proj('EPSG:4326');
>     var p = frompixel(x, y);
>
>     document.write('From coordinates: ');
>     document.writeln(p.x, ',', p.y);
>
>     // This is the bit that does the transformation from map coordinates
> to lat/long.
>     Proj4js.transform(src, dest, p);
>     document.write('To lat/long: ');
>     document.writeln(p.x, ',', p.y);
> }
>
> tolatlong(3000, 2000);
> </SCRIPT>
>
> Unfortunately, this generates an error:
>
> phi2z has NoConvergence
>
> And the unlikely results:
>
> From coordinates: -197211.7911566929,-151656.55890633247 To lat/long:
> -11299403.303493915,-8689280.760810006
>
> Any suggestions?
>
>
> * You can download the sectional chart I'm using here:
> http://avn.faa.gov/content/aeronav/sectional_files/Kansas_City_90.zip
>
> ** Original found here:
> http://gis.stackexchange.com/questions/8430/convert-x-y-position-in-georeferenced-image-with-world-file-to-longitude-lat
>
> --
> Steven Sokol
> 408 Camelot Drive
> Liberty, MO 64068
>
> mobile: +1 816-806-8844
> fax: +1 816-817-0441
>
>


-- 
Steven Sokol
408 Camelot Drive
Liberty, MO 64068

mobile: +1 816-806-8844
fax: +1 816-817-0441
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/metacrs/attachments/20130617/8efe9a97/attachment.html>


More information about the MetaCRS mailing list