ThinkGeo.com    |     Documentation    |     Premium Support

Focus only Riyadh and Riyadh place in Map

Hi,


    How to focus the riyadh city and riyadh level road in winformMap. One more thing is I am not able to fast zoom in in the winform map. please guide me and give one example with riyadh city data and riyadh shp file , How to use it.


 


Regards


Yakub



Hello yakub, 



Thanks for your post, but sorry I didn't have the Saudi Arabian map data for now, so I can't make the sample. 



But here is some instruction: 



1) Use a featurelayer to load the Saudi Arabian map data and show in the map control, for this step, you can check the How Do I Samples -->Getting Started-->Load a shape file feature layer &  How Do I Samples -->Data Providers, there are many samples can show you how to load different type map data. 



2) Find the right boundingbox of riyadh city in the map, here I can provide two boundingbox in different map unit to you, then set the boundingbox to the map, let it zoom in to the riyadh city. 


// in DecimalDegree, most time use in shape file.
winformsMap1.CurrentExtent = new RectangleShape(45.8724226056328,25.235852340771,47.5364692026042,24.157155049602);
// in feet, most time in google map.
winformsMap1.CurrentExtent = new RectangleShape(5106494.7259129,2904741.69111764,5291735.54574403,2772569.86291381);



if you need other map unit, you can use the code below to get it. 


Proj4Projection proj4Projection = new Proj4Projection();
            proj4Projection.InternalProjectionParametersString = Proj4Projection.GetGoogleMapParametersString();
            proj4Projection.ExternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(4326);
            proj4Projection.Open();
//change your external projection, because I have use the google map to get the boudingbox of riyadh city
            RectangleShape r = proj4Projection.ConvertToExternalProjection(new RectangleShape(5106494.7259129, 2904741.69111764, 5291735.54574403, 2772569.86291381));



Any more questions please feel free to let us know. 



Regards, 



Gary




 Hi Gary, 
  
              This is my code i put it in form load event. It focusing very clear in Riyadh but i need riyadh city data and road and street data and POI data. Please guide me where will i download the data for the Riyadh city. Please help me , I tried lot for this one i did nt get result. Please Help me. 
  
 winformsMap1.MapUnit = GeographyUnit.DecimalDegree; 
  
             ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"C:\Program Files\ThinkGeo\Map Suite Desktop Evaluation Edition 5.0\Samples\SampleData\Data\Countries02.shp"); 
             worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1; 
             worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; 
  
             ShapeFileFeatureLayer capitalLayer = new ShapeFileFeatureLayer(@"C:\Program Files\ThinkGeo\Map Suite Desktop Evaluation Edition 5.0\Samples\SampleData\Data\WorldCapitals.shp"); 
             // We can customize our own Style. Here we passed in a color and a size. 
             capitalLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.CreateSimpleCircleStyle(GeoColor.StandardColors.White, 7, GeoColor.StandardColors.Brown); 
             // The Style we set here is available from ZoomLevel01 to ZoomLevel05. That means if we zoom in a bit more, the appearance we set here will not be visible anymore. 
             capitalLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level05; 
  
             capitalLayer.ZoomLevelSet.ZoomLevel06.DefaultPointStyle = PointStyles.Capital3; 
             // The Style we set here is available from ZoomLevel06 to ZoomLevel20. That means if we zoom out a bit more, the appearance we set here will not be visible any more. 
             capitalLayer.ZoomLevelSet.ZoomLevel06.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; 
  
             ShapeFileFeatureLayer capitalLabelLayer = new ShapeFileFeatureLayer(@"C:\Program Files\ThinkGeo\Map Suite Desktop Evaluation Edition 5.0\Samples\SampleData\Data\WorldCapitals.shp"); 
             // We can customize our own TextStyle. Here we passed in the font, the size, the style and the color. 
             capitalLabelLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle = TextStyles.CreateSimpleTextStyle("CITY_NAME", "Arial", 8, DrawingFontStyles.Italic, GeoColor.StandardColors.Black, 3, 3); 
             // The TextStyle we set here is available from ZoomLevel01 to ZoomLevel05.  
             capitalLabelLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level05; 
  
             capitalLabelLayer.ZoomLevelSet.ZoomLevel06.DefaultTextStyle = TextStyles.Capital3("CITY_NAME"); 
             // The TextStyle we set here is available from ZoomLevel06 to ZoomLevel20.  
             capitalLabelLayer.ZoomLevelSet.ZoomLevel06.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; 
             capitalLabelLayer.DrawingMarginPercentage = 50; 
       
  
             LayerOverlay layerOverlay = new LayerOverlay(); 
             layerOverlay.Layers.Add(worldLayer); 
             layerOverlay.Layers.Add(capitalLayer); 
             layerOverlay.Layers.Add(capitalLabelLayer); 
              
  
             winformsMap1.Overlays.Add(layerOverlay); 
  
           
             winformsMap1.CurrentExtent = new RectangleShape(42.2883299998541, 27.2102700001565, 47.5584099995663, 18.8629799998474); 
            
           
             winformsMap1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.GeographicColors.ShallowOcean); 
             winformsMap1.Refresh(); 
  
 Regards Yakoob


 Hi Gary, 
  
              This is my code i put it in form load event. It focusing very clear in Riyadh but i need riyadh city data and road and street data and POI data. Please guide me where will i download the data for the Riyadh city. Please help me , I tried lot for this one i did nt get result. Please Help me. 
  
 winformsMap1.MapUnit = GeographyUnit.DecimalDegree; 
  
             ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"C:\Program Files\ThinkGeo\Map Suite Desktop Evaluation Edition 5.0\Samples\SampleData\Data\Countries02.shp"); 
             worldLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1; 
             worldLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; 
  
             ShapeFileFeatureLayer capitalLayer = new ShapeFileFeatureLayer(@"C:\Program Files\ThinkGeo\Map Suite Desktop Evaluation Edition 5.0\Samples\SampleData\Data\WorldCapitals.shp"); 
             // We can customize our own Style. Here we passed in a color and a size. 
             capitalLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.CreateSimpleCircleStyle(GeoColor.StandardColors.White, 7, GeoColor.StandardColors.Brown); 
             // The Style we set here is available from ZoomLevel01 to ZoomLevel05. That means if we zoom in a bit more, the appearance we set here will not be visible anymore. 
             capitalLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level05; 
  
             capitalLayer.ZoomLevelSet.ZoomLevel06.DefaultPointStyle = PointStyles.Capital3; 
             // The Style we set here is available from ZoomLevel06 to ZoomLevel20. That means if we zoom out a bit more, the appearance we set here will not be visible any more. 
             capitalLayer.ZoomLevelSet.ZoomLevel06.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; 
  
             ShapeFileFeatureLayer capitalLabelLayer = new ShapeFileFeatureLayer(@"C:\Program Files\ThinkGeo\Map Suite Desktop Evaluation Edition 5.0\Samples\SampleData\Data\WorldCapitals.shp"); 
             // We can customize our own TextStyle. Here we passed in the font, the size, the style and the color. 
             capitalLabelLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle = TextStyles.CreateSimpleTextStyle("CITY_NAME", "Arial", 8, DrawingFontStyles.Italic, GeoColor.StandardColors.Black, 3, 3); 
             // The TextStyle we set here is available from ZoomLevel01 to ZoomLevel05.  
             capitalLabelLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level05; 
  
             capitalLabelLayer.ZoomLevelSet.ZoomLevel06.DefaultTextStyle = TextStyles.Capital3("CITY_NAME"); 
             // The TextStyle we set here is available from ZoomLevel06 to ZoomLevel20.  
             capitalLabelLayer.ZoomLevelSet.ZoomLevel06.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; 
             capitalLabelLayer.DrawingMarginPercentage = 50; 
       
  
             LayerOverlay layerOverlay = new LayerOverlay(); 
             layerOverlay.Layers.Add(worldLayer); 
             layerOverlay.Layers.Add(capitalLayer); 
             layerOverlay.Layers.Add(capitalLabelLayer); 
              
  
             winformsMap1.Overlays.Add(layerOverlay); 
  
           
             winformsMap1.CurrentExtent = new RectangleShape(42.2883299998541, 27.2102700001565, 47.5584099995663, 18.8629799998474); 
            
           
             winformsMap1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.GeographicColors.ShallowOcean); 
             winformsMap1.Refresh(); 
  
 Regards Yakoob

Yakub,


  If you want street level detailed data, I would recommend Open Street Map. We have an API to get Open Street Map as a background of the map as you can see in the code below. You can see that this is pretty detailed and it is free. If you need the data itself, you would need to contact a data provider company such as Navteq navteq.com but this is paying.




winformsMap1.MapUnit = GeographyUnit.Meter;

OpenStreetMapOverlay openStreetMapOverlay = new OpenStreetMapOverlay();

winformsMap1.Overlays.Add(openStreetMapOverlay);

winformsMap1.CurrentExtent = new RectangleShape(5183039, 2849563, 5217908, 2827207);


Hi Val, 
  
           I checked OpenStreet Api. SaudiArabia Data is not available in this API remaining all countries data is available. How to get SaudhiArabia Data.

Yakub,


  ThinkGeo offers downloadable mapping data from Open Street Map. osmdata.thinkgeo.com/. I don't see the data for Saudi Arabia but new countries are added on a weekly basis. I suggest you check every week to see if the data for your country is available. Also, we have some information on where to look to get data, please check this page: gis.thinkgeo.com/Support/UtilitiesD...fault.aspx.



Hi Yakub,  
  
 The Saudi Arabia dataset from Open Street Map dataset is now available by logging into the ThinkGeo Website here: gis.thinkgeo.com/UserLogin/tabid/136/Default.aspx and navigating to the Products - Map Suite Free Trial Downloads section. Here you will see the Open Street Map dataset links. 
  
 Thanks!

Hi Yakub,


The Saudi Arabia dataset from Open Street Map dataset is now available by logging into the ThinkGeo Website here: gis.thinkgeo.com/UserLogin/t...fault.aspx and navigating to the Products - Map Suite Free Trial Downloads section. Here you will see the Open Street Map dataset links.


Thanks!



Please show the some sample for Riyadh. I need three things 
  
 1. In Form loading it will automatically select riyadh city in world map. 
 2. Street level data and POI are shown in the riyadh city. 
 3. Fast zoomin and zoomout using mouse wheel and mouse click 
  
 By Yakub 


Yakub,


 I think that your requests are beyond a simple Discussion Forum post and should be treated a professinal services. Please, contact your sales rep Moritz Wolffer. He can assist you on your specific needs and give you a quote. Thank you.