Note that there are some explanatory texts on larger screens.

plurals
  1. POLatitude/longtitude conversion to image x/y coordinates (Miller Cylindrical projection)
    primarykey
    data
    text
    <p>As already said in the title, I need some help with converting lat/long to x/y coords in Miller Cylindrical projection. I`m currently writing an app (in Java) which gets city list as an input and then gets lat/long for each city from Yahoo Placefinder. I used <a href="http://mathworld.wolfram.com/MillerCylindricalProjection.html" rel="nofollow">these</a> formulas in my code. <a href="http://img29.imageshack.us/img29/6572/99432143.png" rel="nofollow">Here is an example</a> of what I get. (image is for the reference only, not the one I use). As you can see the X positions are only a few pixels (2-3) off, this can be a problem with my calculations of prime meridian shift (CENTRAL_MERIDIAN_OFFSET) in this map. But the main problem is incorrect Y coordinates.</p> <p>Here is my code (updated - 34px compensation for equator offset):</p> <pre><code>public final double W = 6343; public final double H = 4767 - 34; protected Point toMillerXY(double lon, double lat) { double x, y; lon = Utils.degToRad(lon); lat = Utils.degToRad(lat); x = lon - CENTRAL_MERIDIAN_OFFSET; y = 1.25 * Math.log( Math.tan( 0.25 * Math.PI + 0.4 * lat ) ); x = ( W / 2 ) + ( W / (2 * Math.PI) ) * x; y = ( H / 2 ) - ( H / ( 2 * 2.303412543 ) ) * y; y += 34; return new Point(x, y); } Output: Fetching data with: http://where.yahooapis.com/geocode?location=Buenos+Aires,Argentina Latitude: -34.608521, longitude: -58.373539 --- Fetching data with: http://where.yahooapis.com/geocode?location=Tokyo,Japan Latitude: 35.670479, longitude: 139.740921 --- Fetching data with: http://where.yahooapis.com/geocode?location=Cape+Town,CAR Latitude: -33.919060, longitude: 18.421961 --- Fetching data with: http://where.yahooapis.com/geocode?location=Rome,Italy Latitude: 41.903110, longitude: 12.495760 --- Total cities: 4 Result for Buenos Aires: 1964.598428, 3046.740995 Result for Tokyo: 5455.265150, 1732.669551 Result for Cape Town: 3317.692474, 3032.814395 Result for Rome: 3213.276105, 1602.176163 </code></pre> <p>Obviously, something is wrong with Y coord calculation. I`m not sure whether 5.6 should really be the right value but the vertical range of Millers projection was said to be -2.3..+2.3 in one of the references I read so I used it.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload