ThinkGeo.com    |     Documentation    |     Premium Support

Using the prj file in my layers

Hello,


I have a set of shapefiles organize in layers accompanied by a prj file. How do I use the information in the prj file ?


ShapeFileFeatureLayer railsLayer = new ShapeFileFeatureLayer(@"C:\CR\railways.shp");

Does the railways.prj get used automatically or do I have to do something ?


Thanks. Tomas



Hi Thomas,



I am new to Map Suite Desktop also so I'm not an expert.  I do know that  Map Suite Desktop (MSD) doesn't know anything about prj files.  In  order for shapefiles in different coordinate systems to display property  together you must know in advance what EPSG number goes with each of  your shapefiles and the EPSG number that represents the coordinate  system in which they should be displayed.  You do so as follows:



ShapeFileFeatureLayer railsLayer = new ShapeFileFeatureLayer(@"C:\CR\railways.shp");
Proj4Projection proj4Projection = new Proj4Projection();
proj4Projection.InternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(4326);
proj4Projection.ExternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(2163);
railsLayer.FeatureSource.Projection = proj4Projection;




This example assumes that the  shapefiles is in geographic coordinate system EPSG 4326 (WGS84, its  'internal' projection) and will be displayed in EPSG 2163 (




US National  Atlas Equal Area).

                




It's a bit of an  inconvenience, but not too hard to work around.


Steve



Steven, Thanks for your sharing, I appreciate it very much. 
  
 Tomas, I have to admit that the .prj was not supported yet in MapSuite component, this enhancement is already in our working list. We will try to get it supported in future versions. Sorry for the inconvenience for now. 
  
 Thanks. 
  
 Yale 


Tomas, 
  
   Reading the Prj file is something we are working on though.  It is not a super high priority but it is not too low on the list. 
  
 David

Thank you for all the answers. It would explain, why the projection didn't feel right. Do you know, whether you can get above mentioned number by examining the projection file ? I have had trouble figuring out the OpenStreetMap shapefiles projection from their website or other information sources and looking in the prj file might give me an answer (if I knew how, I can see only nulls in the file now).


 



Tomas, 
  
   The EPSG number for Open Street Map is EPSG:3785.  The official name is Spherical Mercator and it is used by Google, Bing, OSM etc. 
  
 Little bit of history at this link. 
 wiki.openstreetmap.org/wiki/Osmarender_bug 
  
 David

David,  
  
 Thank you for finding that for me. I really appreciate your level of support and hope to be able to bother you less and less. 
  
 Tomas

Tomas, 
  
   No problem.  It is a pleasure to work with you and your a good excuse to push forward a few features we have wanted for awhile. :-)   
  
 David