ThinkGeo.com    |     Documentation    |     Premium Support

Project Longitude and Latitude Point to WGS84 Meters

 Hi and thanks for all the help thus far with ThinkGeo...


Another quick question...I think will have a quick answer.


 


I am placing many points on a map and was using Decimal Degrees, Now I have project all my layers to WGS84 thus I am using 'Meters' for my map units.


When I create my 'Marker's to be plotted on the map I pass them the DD's to the correct location. Is there a quick way to convert these two doubles into WGS84 prior to storing them into the marker?


 



Marker markerTest = new Marker(Double.Parse(longitude), Double.Parse(latitude), markerImage);

 


Thanks in Advance,


Kevin



I think there is some confusion. WGS84 is a reference coordinate system  (en.wikipedia.org/wiki/WGS84) that uses decimal degrees so I don’t think that makes much sense to use Meters for your map unit when in WGS84. Can you, please, get more info from your data provider to have the exact projection information and from there we should be able to help you more concretely? Thank you.

Hey Val, 
  
  
 Sorry about this, in my haste I didn’t notice I was referring to a datum.   
  
 Here is the info from ArcGis in reference to the projection: 
  
 Projected Coordinate System: World_Equidistant_Cylindrical 
 Projection: Equidistant_Cylindrical 
 False_Easting: 0.00000000 
 False_Northing: 0.00000000 
 Central_Meridian: 0.00000000 
 Standard_Parallel_1: 60.00000000 
 Linear Unit:  Meter 
  
 Geographic Coordinate System: GCS_WGS_1984 
 Datum:  D_WGS_1984 
 Prime Meridian:  Greenwich 
 Angular Unit:  Degree 
  
  
 Thanks again for all your help! 
  
 Kevin

Ok, so I assume you want to project a point from WGS84 to your Equidistant Cylindrical projection. The closest projection I could find on spatial-reference.org is spatial-reference.org/ref/epsg/3786/ World Equidistant Cylindrical (Sphere). I changed the reference latitude parameter (standard parallel) to match your case and this the code I have for plotting correctly with a Marker your point in longitude latitude on your map in Equidistant Cylindrical projection. I don't know anything about your data, what part of the world it should be etc, but I think that you get the idea.


 



            ManagedProj4Projection proj4 = new ManagedProj4Projection();
            //spatial-reference.org/ref/epsg/4326/
            proj4.InternalProjectionParameters = ManagedProj4Projection.GetEpsgParameters(4326);
            //spatial-reference.org/ref/epsg/3786/ (with reference latitude changed)
            proj4.ExternalProjectionParameters = "+proj=eqc +lat_ts=60 +lon_0=0 +x_0=0 +y_0=0 +a=6371007 +b=6371007 +units=m +no_defs";

            
            proj4.Open();
            PointShape projPointShape = (PointShape)proj4.ConvertToExternalProjection(new PointShape(longitude, latitude));
            proj4.Close();

            Marker markerTest = new Marker(projPointShape.X, projPointShape.Y, markerImage);


Hey Val, 
  
 Thanks for getting back to me! 
  
 The points are just straight Latitudes and Longitudes fed in from a database… 
  
  
 Kev

Hey Val, 
  
 Thanks a bunch! That worked like a charm!  
  
 The help is truly appreciated!!! 
  
 Kevin 
  


Kevin, 
  
  You are welcome. If you have any other questions, let us know.