ThinkGeo.com    |     Documentation    |     Premium Support

How to get latitude and longitude of a point in map using mapsuite

 Hi All,


I need to get the points(latitude and longitude) of a particular location in my application.I am using googlemap as  map on which on selecting a point I should be able to show the latitude and longitude of that point.Is there anyway that the Mapsuite silverlight edition supports this?


Also I need the points in WGS84 datum type.


Thanks,


Phani.



Phani,


  I recommend you check out the various Code Community samples on this subject of going from (longitude/latitude) to Google Map and vice versa. You can find them at wiki.thinkgeo.com/wiki/Map_Suite_Wp...c)_Samples


 Also, I can give you some specific code to show you how to get the longitude and latitude on a point in Google map coordinate (our office). The longitude is in geoVertex.X and the latitude is in geoVertex.Y:


 



ManagedProj4Projection proj4 = new ManagedProj4Projection();

proj4.InternalProjectionParameters = ManagedProj4Projection.GetGoogleMapParameters();
//spatial-reference.org/ref/epsg/4326/
proj4.ExternalProjectionParameters = ManagedProj4Projection.GetEpsgParameters(4326) ; //WGS84 (longitude/latitude)

//To go to WGS84 from Google map projection
proj4.Open();
Vertex geoVertex = proj4.ConvertToExternalProjection(-10778874, 3908945);
proj4.Close();


Hi Val, 
 Thanks for the Response.I have a couple of doubts on how Mapsuite works.Could you please clarify them. 
 1.I Converted vertex into Lat/Long and stored in Database.When I try to create a shape from the stored values using PolygonShape,i am unable to create the shapes.Any idea on how to do it without converting the lat/long to vertex  
 2.Also for the Shape drawn on map,the area calculated by the tool is different from that of the value being given by SQlServer when we store the lat/long for that shape as spatial datatype.How can i validate the area. 
  
 Thanks, 
 Phani.

Phani,


 See my responses:


1. If you want to create  a PolygonShape based on your Lat/Long points and display it on the Google Map, you need to convert each point to the Google Map projection (EPSG 4326) and then create the PolygonShape. Otherwise, the PolygonShape is not going to display correctly on your Google Map. It is going to be in a completely different coordinate system.


 Also make sure that the last vertex added to your PolygonShape has the same X and Y value as the first one so that the PolygonShape is closed. This is one requirement to make the PolygonShape valid.


2. If you calculate the area based on the lat/long value of each vertex of a polygon, it is going to be different from calculating the area based on a polygon in the Google Map projection. One uses spherical geometry, the other planar geometry. This is the nature of doing map projection, distortions occurs en.wikipedia.org/wiki/Map_projection and the calculating the area gives differents results based on the projection.


 This is actually a topic that is addressed in the Code Community sample Measurements in Decimal Degrees. I suggest you take a look at that sample: wiki.thinkgeo.com/wiki/Map_Suite_De...al_Degrees


 



Val, 
 Thanks a lot for all the information. 
  
 Is there a way to convert the WGS84 values to RD and Lambert Values,since we have to display this values in the UI? 
  
 Thanks, 
 Phani Krishna.

 Phani,


 You can convert from WGS84 to any projection you would like. You can see the variety of projection at that site Spatial Reference spatial-reference.org/

 You basically use the EPSG, ESRI code or the proj4 string for any projection you like. How the projection is actually done, there is the sample code I posted on 01-11-2011 10:27 AM and there is a large amount of samples on projections for some more concrete examples in the Code Community wiki.thinkgeo.com/wiki/Map_Suite_Si...on_Samples.


  If you have any other doubts, let us know.