public static void SaveAsShapefile(this GeoJsonFeatureSet featureSet, string shpFileName, bool isLongitudeFirst = true, SrsBase srs = null)
        {
            if (featureSet == null || featureSet.Features.IsNullOrEmpty())
            {
                return;
            }

            IRI.Ket.ShapefileFormat.Shapefile.SaveAsShapefile(shpFileName, featureSet.Features, isLongitudeFirst, srs);
        }
Example #2
0
        // ***************** Export As GeoJson *******
        // *******************************************
        public static ILegendCommand CreateExportDrawingItemLayerAsGeoJson(MapPresenter map, DrawingItemLayer layer)
        {
            var result = new LegendCommand()
            {
                PathMarkup = IRI.Jab.Common.Assets.ShapeStrings.Others.json,
                Layer      = layer,
                ToolTip    = _saveAsGeoJsonToolTip,
            };

            result.Command = new RelayCommand(async param =>
            {
                try
                {
                    var file = map.DialogService.ShowSaveFileDialog("*.json|*.json", null, layer.LayerName);

                    if (string.IsNullOrWhiteSpace(file))
                    {
                        return;
                    }

                    var feature = GeoJsonFeature.Create(layer.Geometry.Project(SrsBases.GeodeticWgs84).AsGeoJson());

                    GeoJsonFeatureSet featureSet = new GeoJsonFeatureSet()
                    {
                        Features = new List <GeoJsonFeature>()
                        {
                            feature
                        }, TotalFeatures = 1
                    };

                    featureSet.Save(file, false, false);
                }
                catch (Exception ex)
                {
                    await map.DialogService.ShowMessageAsync(null, ex.Message, null, null);
                }
            });

            return(result);
        }