ThinkGeo.com    |     Documentation    |     Premium Support

LION - File Geodatabase Performance

Any one can share the experience of ThinkGeo Desktop performance in processing large File Geodatabse?

For example, the New York City LION dataset https://www1.nyc.gov/assets/planning/download/zip/data-maps/open-data/nyclion_21a.zip?r=1

How can I test it? Is the GIS Editor compiled with the latest ThinkGeo version available for testing?

Thanks,
The GIS Editor not get update for a while. You can try with the sample

Here is the code to load the data.

private void MapView_Loaded(object sender, RoutedEventArgs e)
    {
        // It is important to set the map unit first to either feet, meters or decimal degrees.
        mapView.MapUnit = GeographyUnit.Meter;

        // Create the background world maps using vector tiles requested from the ThinkGeo Cloud Service and add it to the map.
        ThinkGeoCloudVectorMapsOverlay thinkGeoCloudVectorMapsOverlay = new ThinkGeoCloudVectorMapsOverlay("itZGOI8oafZwmtxP-XGiMvfWJPPc-dX35DmESmLlQIU~", "bcaCzPpmOG6le2pUz5EAaEKYI-KSMny_WxEAe7gMNQgGeN9sqL12OA~~", ThinkGeoCloudVectorMapsMapType.Light);
        mapView.Overlays.Add(thinkGeoCloudVectorMapsOverlay);

        // Create a new overlay that will hold our new layer and add it to the map.
        LayerOverlay fileGeoDatabaseOverlay = new LayerOverlay();
        mapView.Overlays.Add("overlay", fileGeoDatabaseOverlay);

        // Create the new layer and set the projection as the data is in srid 2276 and our background is srid 3857 (spherical mercator).
        FileGeoDatabaseFeatureLayer fileGeoDatabaseFeatureLayer = new FileGeoDatabaseFeatureLayer(@"C:\Users\FrankFu\Downloads\1\lion\lion.gdb");
        fileGeoDatabaseFeatureLayer.FeatureSource.ProjectionConverter = new ProjectionConverter(2263, 3857);
        fileGeoDatabaseFeatureLayer.ActiveLayer = "node";  // lion

        // Add the layer to the overlay we created earlier.
        fileGeoDatabaseOverlay.Layers.Add("Zoning", fileGeoDatabaseFeatureLayer);

        // Create an Area style on zoom level 1 and then apply it to all zoom levels up to 20.
        fileGeoDatabaseFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = new AreaStyle(GeoPens.Black, new GeoSolidBrush(new GeoColor(50, GeoColors.Blue)));
        fileGeoDatabaseFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = new PointStyle(PointSymbolType.Circle, 2 , new GeoSolidBrush(GeoColors.Red));
  
        fileGeoDatabaseFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;

        // Open the layer and set the map view current extent to the bounding box of the layer.  
        fileGeoDatabaseFeatureLayer.Open();
        mapView.CurrentExtent = fileGeoDatabaseFeatureLayer.GetBoundingBox();
        
        //Refresh the map.
        mapView.Refresh();
    }

You will get something like this one.

If you display all items at a very high level. It may slow.

You could use this smaple
https://gitlab.com/thinkgeo/public/thinkgeo-desktop-maps/-/blob/master/samples/wpf/HowDoISample/Samples/CreatingStyles/CreateClusterPointStyleSample.xaml.cs to cluster the points.

Thanks

Frank

Hi Frank,

Is it possible to upgrade the GIS Editor using the latest ThinkGeo 12? It seems a great starting point to learn ThinkGeo comprehensively?

Hey @wuxinxin,

Unfortunately, we ended support for the GIS Editor some time ago, which is why we open sourced it. It runs on ThinkGeo v10, which is still similar to v12 except for compressed nuget packages and .NET Core support with skia rendering. So the actual functionality is mostly the same, however, ThinkGeo is largely an API toolset. So, attempting to learn how to use ThinkGeo with the GIS Editor could be difficult since it would be hard to find which APIs are being used from the GUI controls.

This is why we have our HowDoI Sample project. You can download the project and run it to see a comprehensive list of what ThinkGeo can do with the code also available in isolated samples. It’s the best place to really learn ThinkGeo 12.

Thanks,
Kyle