Geeks With Blogs

News Welcome to Marco Anastasi and Serena Caruso's technical weblog on Microsoft .NET technologies and related matters!
Juan DoNeblo Just another Dot Net blog by marco anastasi & serena caruso

If you've ever tried to find a way to display an ESRI ShapeFile on a Virtual Earth map, you'll have probably noticed how little information there is on the Internet about how to accomplish this apparently arduous task.

As a matter of fact, I needed to do exactly this while adding some collateral features to the software Serena and I are developing for our thesis, but after some Googling, I found that there was (and there still is) almost no useful information on how to achieve integration between Virtual Earth and ESRI Shapefiles.

So I had to figure out what I judge a rather clean solution by myself. After all, I thought I could fill the void on this topic and help someone else avoid to switch "lazy mode" off by writing an article about it ;)

By the way, with the technique I'm describing, you're going to be able to not only display Shapefiles as layers on Virtual Earth, but also interact with them in countless ways: extract data from them, show data associated with a shape when you click on it on the map, even modify or create new Shapefiles (Although only showing and querying the map are going to be covered in this post). All of this care of SharpMap, one of the best (if not the best) open source .NET libraries for GIS.

Actually, SharpMap does much, much more than this... it even has a performing rendering engine for spatial data, so it really is an understatement to think of it as a mere instrument to get ESRI data into our Virtual Earth maps. In fact I strongly recommend to go and give a look at the SharpMap project page on CodePlex.

SharpMap versions

SharpMap 2.0 is currently in beta stage. The currently stable release is 0.9. Version 2.0 beta is not radically different from version 0.9, at least for the parts of the library that we're going to use, so feel free to resort to the stable version if you feel more at ease, but I thought worthy to use version 2.0 beta in my project because of a rather important addition, i.e. the possibility to write on Shapefiles as well as read them, which to my knowledge wasn't present in the 0.9 version. Obviously, if your application doesn't require to modify or create Shapefiles, you can safely fall back to the 0.9 version.

 

A Shapefile containing Great Britain's Administrative Areas

 

The idea.

Let's suppose that we have a Shapefile containing polygons which represent the administrative regions of the United Kingdom, and that we want to overlay that on the map.

 

First of all we need to extract the polygon data from the Shapefile, and convert all the polygons to a format readable by Virtual Earth. Each "part" in the Shapefile will become a "polygon shape" in Virtual Earth. In this phase, we will leverage SharpMap's ability to parse Shapefiles to .NET objects.

 

 

public List<Shape> LoadShapefileLayer(string filePath) 

   
Random random = new Random((int)DateTime.Now.Ticks); 
   
// SharpMap's Shapefile reader / writer
    ShapeFileProvider sf = null
   
try 
    { 
        sf =
new ShapeFileProvider(filePath); 
        sf.Open(
false); 
        if (sf.ShapeType != ShapeType.Polygon) 
           
return null

       
// Initializing the list of Shapes to be returned 
        List<Shape> layer = new List<Shape>(); 
       
// Retrieving all the geometries in the Shapefile
        BoundingBox ext = sf.GetExtents(); 
       
IEnumerable<Geometry> geometries = sf.ExecuteGeometryIntersectionQuery(ext); 
       
// Iterating through all the geometries in the shapefile, converting them 
        // to Shape objects and adding them to the output list
        foreach (Geometry geometry in geometries) 
        { 
           
List<PointF> points = new List<PointF>(); 
           
Polygon polygon = geometry as SharpMap.Geometries.Polygon
           
/* Verify that the geometry is actually a polygon. If it is not, just skip it. 
             * Multipolygon support is not yet added */ 
            if (polygon != null
            { 
               
foreach (var vertex in polygon.ExteriorRing.Vertices) 
                    points.Add(
new PointF((float)vertex.X, (float)vertex.Y)); 
               
                /* Each shape is assigned a random colour, to create
                 * the effect of a political map */
                Color randomColour = Color.FromArgb(75, 
                    random.Next(255), random.Next(255), random.Next(255)); 
                layer.Add(
new Shape(points, randomColour)); 
            } 
        } 
       
return layer; 
    } 
   
finally 
    { 
       
if (sf != null
            sf.Close(); 
    } 
}

This example only covers the importing of Polygon-based Shapefiles, but it can easily be extended to support Polylines and Points

Next, we need to make this data available to the Virtual Earth Map. We can do this by leveraging ASP.NET AJAX ScriptServices. To make a long story short, in order to use the converted data with the Virtual Earth API, on the client side, we need to create an ASP.NET web service, and decorate it with the [ScriptService] attribute. This will instruct the ASP.NET engine to create a Javascript helper class and make this method callable from client code in the page.

If you want to know more about the details of this process, the underlying communication protocol and different ways to leverage it, I recommend you to read my series of posts on "How to integrate JSON web services in an ASP.NET AJAX web application" here. You could also find my previous post on how to create a simple Virtual Earth Mashup useful. You can find it here

 

[WebService]
[
WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[
ScriptService]
public class MapService : WebService
{
    [
WebMethod]
   
public List<Shape> GetMapData(string fileName)
    {
       
// ShapefileReader is a simple class containing
        // the Shapefile reading and querying methods
        ShapefileReader sr = new ShapefileReader();
       
return sr.LoadShapefileLayer(Server.MapPath("~/Maps/" + fileName));
    }
}

This web method will be callable with extreme simplicity from the client side:

function LoadShapefile(fileName)
{
   
/* The shapefileName global variable holds the filename of the
     * last loaded Shapefile for future reference (i.e. querying the map) */
    shapefileName = fileName;
   
/* Here we call the GetMapData asmx ScriptService, passing fileName as
     * a parameter. GetESRIData_success is a callback that will be executed
     * upon successful completion of the method call, and will be passed the
     * return data as parameter. onFailed, on the other side, will be executed
     * in case of failed request */
    MapService.GetMapData(fileName, GetESRIData_success, onFailed);
   
// MessageBox is a function that displays a nice informative box on the map
    MessageBox(true, "Please wait while retrieving Shapefile data...");
}

Now that the data is available to the client side, we need to go through all the Shape objects and actually convert them to Virtual Earth shapes.

In case of successful completion of the method call, the GetESRIData_success callback will invoke the AddLayer() method, passing it the received object; AddLayer() will perform the conversion before actually drawing the shapes on the map.

function GetESRIData_success(e)
{    
   
if (e!= null)  
        AddLayer(e);
}

function onFailed(e)
{
    MessageBox(
true, "Error while connecting to the remote web service. Please try again later.", 5000);
}

function AddLayer(jsonLayer)
{
   
var polygons = ConvertShapes(jsonLayer);
    
   
for (var i = 0; i < polygons.length; i++)
    {
        DrawPolygon(polygons[i]
);
    }
    MessageBox(
true, String.format("{0} polygons drawn on the map", polygons.length), 2000);
}

The conversion from custom list of deserialized .NET Shape objects to array of actual Virtual Earth VEShape objects will be performed in two steps: first of all, the ConvertShapes() method will convert the list of deserialized Shape objects to an array of JavaScript "polygon" objects, each containing an array of VELatLong objects and a colour for the shape:

function ConvertShapes(layer)
{
   
var polygons = new Array();
   
for (var i = 0; i < layer.length; i++)
    {
       
var polygon = new Object();
       
var llpoints = new Array();
       
for (var j = 0; j < layer[i].Points.length; j++)
        {        
            llpoints.push(
new VELatLong(layer[i].Points[j].Y, layer[i].Points[j].X));
        }
       
var veCol = new VEColor(layer[i].Colour.R, layer[i].Colour.G, layer[i].Colour.B, layer[i].Colour.A/255); 
        polygon.Points = llpoints; 
        polygon.Colour = veCol; 
        polygons.push(polygon);
    }
   
return polygons;
}

Finally, for each of the JavaScript polygon objects, a new VEShape object is created and added to the map, care of the DrawPolygon() method.

function DrawPolygon(polygon)
{
   
var shape = new VEShape(VEShapeType.Polygon, polygon.Points);
    shape.SetFillColor(polygon.Colour);
    shape.SetLineColor(polygon.Colour);
    shape.SetLineWidth(1);
    shape.HideIcon();
        
    map.AddShape(shape);
}

Finally, this is what we get:

Great Britain's Administrative Areas overlaid on a Virtual Earth map

Pretty neat, isn't it? ;)

Obviously, the shapes become more detailed as you zoom in:

Great Britain's Administrative Areas overlaid on a Virtual Earth map Great Britain's Administrative Areas overlaid on a Virtual Earth map (Zoom)

Querying.

Now what if we want to access the info associated with each part (i.e. shape) in the Shapefile?

Luckily, SharpMap comes once again in our help, making this very easy. When provided with a bounding box, the library's ExecuteIntersectionQuery() method returns a DataSet containing the information associated with the shapes that intersect it. All we need to do to get this info to the client is create another ScriptService, and invoke it when the user clicks on the map, providing the Latitude and Longitude of the clicked point.

This is the method that actually performs the query on the Shapefile:

public string QueryPoint(string filePath, double lat, double lon)
{
   
ShapeFileProvider sf = null;
   
try
    {
        sf =
new ShapeFileProvider(filePath);
       
if (!sf.IsOpen)
            sf.Open(
false);

       
/* This is the SharpMap object that will contain the query results */
        FeatureDataSet ds = new FeatureDataSet();
       
/* This is the extents of the map upon which we want to perform the query. 
         * In our case, it will simply be the point where the user clicked. */
        BoundingBox bbox = new SharpMap.Geometries.Point(lon, lat).GetBoundingBox();
       
/* This actually executes the query and puts the results into the FeatureDataSet */
        sf.ExecuteIntersectionQuery(bbox, ds);
       
DataTable table = ds.Tables[0];
       
if (table.Rows.Count < 1)
           
return null;

       
/* Here we format the query results in a simple HTML table to be shown in the
         * MessageBox on the map for demo purposes */
        StringBuilder sb = new StringBuilder();
        sb.AppendLine(
"<table>");
       
foreach (DataRow row in table.Rows)
        {
           
foreach (DataColumn column in table.Columns)
            { 
                sb.AppendFormat(
"<tr><td style='background-color:#113;'>{0}</td>" +
                            "<td>{1}</td></tr>", column.ColumnName, row[column]);
            }
            sb.AppendFormat(
"<tr style='height:10px;'></tr>");
        }
        sb.AppendLine(
"</table>");
       
return sb.ToString();
    }
   
finally
    {
       
if (sf != null)
            sf.Close();
    }
}

And here's the very simple Web Method that exposes the method's functionality to client script:

[WebMethod]
public string GetPlaceInfo(string fileName, double latitude, double longitude)
{
   
ShapefileReader sr = new ShapefileReader();
   
return sr.QueryPoint(Server.MapPath("~/Maps/" + fileName), latitude, longitude);
}

Finally, this is what happens on the client when the user clicks on a point on the map. Notice how we leverage ASP.NET AJAX's page lifecycle "pageLoad" event to initially setup our map and register the onclick event handler. The rest of this snippet should be self explanatory. In case it is not, you can have a look at Virtual Earth SDK to learn more about map events and methods.

function pageLoad()
{
    map =
new VEMap('myMap');
    map.LoadMap(
new VELatLong(50.5, -2.1), 6);
    map.AttachEvent(
"onclick", map_onclick);
}
 
function map_onclick(e)
{
   
if (shapefileName != null)
    { 
       
var ll = map.PixelToLatLong(new VEPixel(e.mapX, e.mapY));
        MapService.GetPlaceInfo(shapefileName, ll.Latitude, ll.Longitude,
                                QueryData_success, onFailed);
    }
}

function QueryData_success(e)
{
   
if (e != null)
        MessageBox(
true, e, 0, true);
   
else
        MessageBox(true, "No data to display", 2000);
}

 

Querying the map

Querying the map Querying the map

That's all folks! I hope you enjoyed this article and found it useful! As always, I urge you to leave a comment if you need any more info or clarification. Finally, if you liked this article and you want to help me spread the word, you might consider clicking on the "kick it" button below! ;)

As usual, you can see a live demo of the application here, and you can download the source code of this project here.

Enjoy!

Marco

 

kick it on DotNetKicks.comDigg!dzone Posted on Sunday, April 13, 2008 12:03 PM Virtual Earth , ASP.NET , Javascript , C# | Back to top


Comments on this post: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
SharpMap's author, Morten Nielsen, has made the same some times ago:
http://209.85.129.104/search?q=cache:fkus8tbUVvAJ:www.sharpgis.net/2006/09/default.aspx+%2Bsharpgis+%2Bvirtualearth&hl=it&ct=clnk&cd=8&gl=it
I hope to take a look soon at your work :)
Left by Diego Guidi on Apr 14, 2008 2:02 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Looks that your solution is very cool because draw vectors on the map... my suggested solution render a raster map from a shapefile
Left by Diego Guidi on Apr 14, 2008 7:13 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Cool cool cool!
Only a suggest...
Sharpmap's ShapefileProvider supports reprojection on the fly of the data in two ways:
1) prj file with the same name of the shapefile (so your shapefile is with shp, shx,dbf and prj files) that contains a wkt of the coordinate reference system; sharpmap read this data and project the data in EPSG:4326
2) custom transformation devined via ShapefileProvider.CoordinateTransformation
Left by Diego Guidi on Apr 15, 2008 3:40 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Hi Diego,
thanks for the suggestion, I'm working on a more complete version of this demo to put online as a Virtual Earth based Shapefile viewer, and I'll definitely use this bit of information to leverage SharpMap's ability to reproject maps!
Left by Marco Anastasi on Apr 19, 2008 2:46 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Hi Marco,
Very interesting article. We've taken a slightly different approach to solve the same issue with Toucan Navigate. You can download it from our web site and see how it compares to your work. With Toucan, you can keep your ESRI shape files in their current location and overlay them on the VE tiles.
Cheers,
Gabriel
Left by Gabriel on Jun 02, 2008 3:26 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
it's a very good stuff for ve developes.

really i am feel good!
Left by Pramod on Jun 06, 2008 9:45 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Kids, you're great! :D

Love you tons :)
(Italian eh?? cervelli in fuga :P Im' proud of you!!)

Thank you very much, you saved my life! :):)
Left by Michela on Jul 20, 2008 3:20 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Love to hear that! I'm happy to see that my job was useful to someone! ;)
Cheers!
Left by Marco Anastasi on Jul 21, 2008 4:16 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
How can I add the support the of Polylines to this?
Left by Laith Murad on Aug 11, 2008 12:40 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...

Although this article was intended as a simple example of what could be achieved by leveraging the power of the Virtual Earth API and Sharpmap, and was never meant as an exhaustive guide on how to import ESRI Shapefiles into VE, I could point out that it's actually very simple to import Polyline layers rather than polygons: you actually need to change just a few lines inside the foreach in LoadShapefileLayer():

List<PointF> points = new List<PointF>();
LineString polyline = geometry as SharpMap.Geometries.LineString;
/* Verify that the geometry is actually a polyline. If it is not, just skip it.*/
if (polyline != null)
{
foreach (var vertex in polyline.Vertices)
{
points.Add(new PointF(vertex.X, vertex.Y));
}

layer.Add(points);
}


This should do it! ;)
Left by Marco Anastasi on Aug 11, 2008 2:08 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Where do you get the Shapefiles from?? I am a novice for these kind of projects, so please help me out.

Thanks
Left by Sid on Sep 21, 2008 1:22 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Intersection in the code
sf.ExecuteIntersectionQuery(bbox, ds);
DataTable table = ds.Tables[0];

generates several features and the first is not always the correct feature

This method is not exactly.....

the solution think is using other library for generate other layer that provider NtsProvider probably (see sharpmap discution list)
Left by hernanls on Oct 07, 2008 6:34 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Other thing, this method is very slow in the client side for loops that put the polygons (for big shapes)
Left by hernanls on Oct 07, 2008 6:36 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
I tried the software and the preloaded shape files worked beautifully. When I uploaded my own shape files I am informed that several shapes are loaded but I can not see them. Do I have to do something to get them colored in some way?

Thanks,
Gunnar
Left by Gunnar Jonsson on Oct 20, 2008 4:40 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
there seems to be some limit to render the data or make sure your data type is correct. I tried render 1000 * 1000 poly, it renders but little slow on VE ...

It might work with Open Layers with tilecache faster ... haven't tried that ..
Left by shail_GIS on Nov 09, 2008 12:09 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Running into problems doing the build of your first method in the example. "Type or namespace 'Shape' can't be found". I downloaded the SharpMap project, built it and have most of the assemblies referenced, but I'm still getting this error. Any suggestions? Thanks
Left by Brad Martin on Nov 22, 2008 12:14 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
I was able to build the project but could not get it to display my own shapefile. I stepped into the code and could see that it was loading the shapes into the List<Shapes>, but I couldn't see them on the map. I downloaded the SharpMap v2.0 code and imported your project into that one so I could step into the SharpMap code to try and figure out my problem, but I can't get your project to build now. It can't find SharpMap.Geometries assembly. Any idea about that?
Left by Brad Martin on Nov 25, 2008 11:22 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
As I ran your sample code, I got the following error: sf.Locale threw an exception of type System.NullReferenceException. sf.Locale is readonly, so how do I solved the problem?
Left by Ning on Feb 11, 2009 10:34 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Oh, my bad. I didn't give aspnet permisstion for the maps folder. However, I still can see my shape layer of Alaska quadrangle. As I step through the code, I noticed that the points of the my polygons are in very large numbers, such as lat: 216065 (type long) and lng: -79793.94 (type double). The same shape file works fine with esri stuff but not here. Can anyone help?
Left by Ning on Feb 11, 2009 11:58 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
I want to show my shape file in your project let me know How I can do that.
Left by Shakti SIngh Dulawat on Feb 14, 2009 10:38 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
i have a question. is this web service secure? knowing that it use json to transmit the information. what i mean is that can anybody hack the shapefile and take them.
could this web service be accessed in a website different from which this web service was created?. For example, a company would like to show her branches on a map using virtual earth but taking the roads from the shapefile of another company.
Left by thefar on Mar 13, 2009 11:14 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
As a college project I am trying to overlay to Electoral Divisions in Ireland onto Google Earth.

Basically I want to be able to type in my address, Google Earth to find it, and then to visually inspct what DED I live in.

My data set is here:

http://beyond2020.cso.ie/censusasp/saps/boundaries/ED%20Disclaimer.htm

and I was wondering if this is possible?

I have been using Shp2kml.exe to convert but I am having some problems with the settings. (Namely huge icons, colours blocking out the entire map, unable to see actual towns/roads)

Any help would be appreciated!

Patrick
Left by Patirck Glynn on May 18, 2009 10:52 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Isn't it a lot easier to convert to a Google KML file (Datum WGS1984) and then load it to Virtual Earth? Just asking.
Left by Rafael on Jul 09, 2009 1:50 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
PROJCS["_MI_0",GEOGCS["North_American_Datum_1983",DATUM["D_North_American_1983",SPHEROID["Geodetic_Reference_System_of_1980",6378137,298.2572221009113]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",37.5],PARAMETER["central_meridian",-87.083333333],PARAMETER["scale_factor",0.9999666667],PARAMETER["false_easting",900000000],PARAMETER["false_northing",250000000],UNIT["MILLIMETER",0.001]]


This is my .prj file, but i am not able to read shape file, i got the coordinats like 870555084.7,299403551.2. hoe to convert these coordinates to Lat/Long? Please Help me.
Left by Shravani on Oct 05, 2009 8:35 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Would you be interested in doing some development work for us along the lines of displaying ESRI shapefiles within an asp.net program running on a server?
Left by Bob MacNeel on Oct 22, 2009 1:47 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
In order to display the complete shape file with multipolygons & polygons replace the foreach(Geometry geometry in geometries) code to this:

foreach (Geometry geometry in geometries)
{
List<PointF> points = new List<PointF>();
Polygon polygon = geometry as SharpMap.Geometries.Polygon;

if (polygon != null)
{
foreach (var vertex in polygon.ExteriorRing.Vertices)
points.Add(new PointF((float)vertex.X, (float)vertex.Y));

Color randomColour = Color.FromArgb(75,
random.Next(255), random.Next(255), random.Next(255));
layer.Add(new Shape(points, randomColour));
}

MultiPolygon multiPoly = geometry as SharpMap.Geometries.MultiPolygon;

if (multiPoly != null)
{
foreach (var polygonb in multiPoly)
{
if (polygonb != null)
{
List<PointF> pointsb = new List<PointF>();

foreach (var vertex in polygonb.ExteriorRing.Vertices)
pointsb.Add(new PointF((float)vertex.X, (float)vertex.Y));

Color randomColour = Color.FromArgb(75,
random.Next(255), random.Next(255), random.Next(255));
layer.Add(new Shape(pointsb, randomColour));
}
}
}
}
Left by Rodrigo Neri on Dec 01, 2009 9:41 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Very nice article.

My query: When I try to upload some of the shape files .shp, .shx, .dbf (Not all) which i have, getting blank page.
Could you tell me the reason for this.

Iam trying to load the UK shape file on virtual earth.
Left by Murthy on Dec 09, 2009 11:57 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
The source code links has been broken, could you please share it again. Thanks
Left by SSA on Jun 11, 2010 8:12 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Can you please enable the live demo and source code? I am trying to convert it to asp.net but Can not extract Shapes from shape files. Thank you.
Left by SSA on Jun 11, 2010 11:27 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
The source code links has been broken, could you please share it again. Thanks
Left by Belly on Jul 26, 2010 8:32 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
When I try to upload some of the shape files .shp, .shx, .dbf (Not all) which i have, getting blank page.
Could you tell me the reason for this.
Left by HGH on Aug 30, 2010 5:46 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
While i am trying facing problem.I downloaded SharpMap2.0 from codePlex.
But Shape,ShapeFileProvider and ShapefileReader are giving error .
Assembly missing.
I watched the sharpmap.dll in object explorer ,there is no such reference.

Please help me.
Left by Anjan Maity on Sep 05, 2010 2:12 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
While i am trying facing problem.I downloaded SharpMap2.0 from codePlex.
But Shape,ShapeFileProvider and ShapefileReader are giving error .
Assembly missing.
I watched the sharpmap.dll in object explorer ,there is no such reference.
Left by jobs on Oct 29, 2010 11:49 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Can you please provide link to downlaod source code. i tried to download from the link given by you. i found nothing in that URL. please.. please.... provide the link.....
Left by Prasad on Dec 15, 2010 3:31 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Thank you for providing a link to the live demo. Way to look out for those of us who are visual learners. Having the option to view the demo for this application made the process a ton easier. I did, however, have issues downloading the source code for this project. If you would, please update the link, or send me some info on how I can acquire it.
Left by Nelson Merdock on Dec 20, 2010 8:30 AM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Is the source code still available anywhere?
Left by Steve on Feb 15, 2011 7:16 PM

# re: Showing ESRI Shapefile Layers on a Virtual Earth Map: a simple HowTo
Requesting Gravatar...
Sir.Marco Anastasi

I am new in asp.net and i have project in school and soon this will be proposed thesis... i am following you code on how to view shape file to asp.net but i cant get it... plsssssssssss.... help me Sir. I'm begging... plsssss.. send me sample project... plsssss......
Left by Bonie Sausa on Mar 03, 2011 2:23 AM

Your comment:
 (will show your gravatar)
 


Copyright © Marco Anastasi & Serena Caruso | Powered by: GeeksWithBlogs.net | Join free