ThinkGeo.com    |     Documentation    |     Premium Support

How to convert Meter Shape files to decimal degree

 Fir think geo we are using Decimal degree.is there any method to convert Meter shape files to Decimal Degree.Means i want  to use Map Unit as Decimal degree.how to convert all shpe file projection to Decimal degree




ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(MapPath("~/SampleData/world/cntry02.shp"));
Proj4Projection shapefileConversionProjection = new Proj4Projection();
shapefileConversionProjection.InternalProjectionParametersString = Proj4Projection.GetGoogleMapParametersString();
shapefileConversionProjection.ExternalProjectionParametersString = Proj4Projection.GetWgs84ParametersString();
shapefileConversionProjection.Open();
worldLayer.FeatureSource.Projection = shapefileConversionProjection;


 I got another problrm here.when i use this code meter shape files are coonverted to decimal degree .but decimal degree shape file are not loading on the map.why decimal degree shape files are not loading with this code.



Please don’t set the projection of the decimal degree shape files, their original projection is decimal degree so you don’t need to change it.

 Here i dont know whether Shape file is decimal degree or meter.menas i am loading shape files dynamically.so how can i give projection for meter files.how to stop projection for decimal degree shape files



If your shapefiles have .prj files you can read these files to figure out what projection they are and if necessary create the correct InternalProjectionParameters for your Proj4 object as demonstrated here: wiki.thinkgeo.com/wiki/Map_S...g_Prj_File


If you don't want to re-project shapefiles that are already in decimal degrees then you need to setup a check to see if the shapefile your user is loading is already in the correct projection. I would recommend setting up an IF statement that calls the ConvertPrjToProj4() method. This will read the shapefile's .prj file and based on the value retreived from the .prj file you can determine if the shapefile needs to be reprojected or not.



 is there any way to differntiate decimal degree and Meter shape files.i want to use googlemap.can we display google map with geography unit as decimal degree.and then i want to display shapefiles both METER and DECIMAL DEGREE can you provide some sample code for differntiate meter and decimal degree shape files and shown on map


 


like if(shapefille==meter shapefile)


{


then convert in tometer shape file as  decimal degree


}


if(shapefile==decimladegree)


{


no converon..


}



 Hi Raj,



 


This post is answered in gis.thinkgeo.com/Support/Dis...fault.aspx, would you please check it out there?


 


Hope it helps


 


Johnny



 if we use think geo map insted of google map can we differntiate decimal degree and meter shape files.i think it is possible.can we send some code for this one hoe to differentiate based on prj file.



 Hi Raj, 


You are right, the Unit could be got from .prj file, the .prj file could be read as .txt file in the following code, and after getting the unit then the layer’s projection could be converted like Ryan’s post. 


 


            string prjFileText = System.IO.File.ReadAllText(prjFilePath);


            if (prjFileText.Contains("Degree"))


            { Map1.MapUnit = GeographyUnit.DecimalDegree; }


            else { Map1.MapUnit = GeographyUnit.Meter; }


 


Hope it helps


 


Johnny