But then again, all that performance gain is blown away by the poor performance of JSONT in transforming the JSON data to HTML. The XSLT transformation to transform XML to HTML performs much better when compared to the JSONT transformation as illustrated in the graph below, again from John Resig’s post (25 – 200 data records).
|Time (in seconds)/ Run|
|XML / XSLT||0.01014||0.010845||0.0116225||0.01213875|
|JSON / JSONT||0.01919||0.01958||0.0200075||0.02013375|
I have been using a couple of utilities to make my life easier when developing applications using JSON. These utilities might come in real handy if you are doing the same. The application I have been using the most is JSON Viewer. This little tool has a standalone application and also a Visualizer for Microsoft Visual Studio.NET that comes in real handy. I have listed the utility in my developer utilities page. See some screenshots below.
What does tiling vector data even mean? Well, I have wondered about the capabilities of the browser and the DOM to handle large vector datasets when they are uploaded to VirtualEarth. Infact, the Shape2VE project that I had undertaken was a direct result of that curiosity. When developing the Shape2VE application, I soon came to realize that once you exceed adding 300-400 shapes on to VirtualEarth, the performance starts degrading really fast and soon the application becomes unusable. Also, when adding large amounts of data to map, the browser stays unresponsive. Thus, I had to write Shape2VE so as to load the data asynchronously.
Can’t yet comment on the viability of this kind of technology for larger datasets, but it would be great to see this kind of technology be integrated with other technologies like GoogleGears and leverage its client-side database capabilities. But it certainly seems like a positive step in the right direction. I am kind of bummed that the script extracting vector tiles from GPX files is in Python and not in .NET…
Here is the TiledVectorsDemo.
And here is more information regarding the project.
I dug up this research project I did about 8 months ago to share with everyone who is interested in displaying their Shapefile(s) data in VirtualEarth. This web application is completely free to use (Free as in Beer!!!) as it has no dependencies on ESRI or any other expensive GIS libraries. This application actually uses the .NET wrapper (created by David Gancarz) for ShapeLib library from MapTools. I also use the JayRock library for JSON serialization of .NET types.
You should be able to run the project right after downloading it and see some of the sample datasets that I have included with the project. The web application can be downloaded here. The project which I am calling Shape2VE is also available through Assembla.
Here is a screenshot of the application before the shapefiles are displayed. In order to display the shapefiles, click on the ‘AddShapefile’ button.
Here is a screenshot after the shapefile has been uploaded.
- The Shapefiles are uploaded asynchronously to VirtualEarth so that the user can use the web application during the upload and the map is still responsive.
- Supports points, lines, and polygons.
- The shapefile data is transferred to the browser in a JSON format so as to minimize payload.
- Easily configurable. In order to configure the application to display your own shapefiles, modify the ‘OpenShapefile()’ function in ‘Default.aspx.cs’ to point to your own shapefiles.
private void OpenShapefile()
veShapefileLoaderCollection loaders = new veShapefileLoaderCollection();
loaders.Add(new vePolylineShapefileLoader(Request.PhysicalApplicationPath + “App_Data\\ftc\\onelnstr.shp”));
loaders.Add(new vePolygonShapefileLoader(Request.PhysicalApplicationPath + “App_Data\\ftc\\natarea.shp”));
loaders.Add(new vePointShapefileLoader(Request.PhysicalApplicationPath + “App_Data\\ftc\\addressSmall.shp”));
Session[“Loaders”] = loaders;
Session[“CurrentLoader”] = _currentLoader;
- Displays the attributes of the shapes from the shapefile when you mouse over the pushpins.
- The Shapefiles should be in WGS84 format.
- The application currently only supports simple features and not multi-part features.
If you have any questions on the application please contact me using the ‘Contact Me’ link in the right-side pane.