public async Task <SpatialDataSet> LoadDatasetFromResource(Uri uri) { var file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri); if (file != null) { using (var fileStream = await file.OpenStreamForReadAsync()) { //Read the spatial data file var reader = new GeoJsonFeed(); return(await reader.ReadAsync(fileStream)); } } return(null); }
/// <summary> /// Not currently used /// </summary> /// <returns></returns> public async Task <SpatialDataSet> LoadDatasetFromFileSystem() { //Create a FileOpenPicker to allow the user to select which file to import var openPicker = new FileOpenPicker() { ViewMode = PickerViewMode.List, SuggestedStartLocation = PickerLocationId.Desktop }; openPicker.FileTypeFilter.Add(".json"); var file = await openPicker.PickSingleFileAsync(); if (file != null) { using (var fileStream = await file.OpenStreamForReadAsync()) { //Read the spatial data file var reader = new GeoJsonFeed(); return(await reader.ReadAsync(fileStream)); } } return(null); }
private void GetFileSettings(string fileType, out BaseFeed feed, out string defaultExt, out string filters) { switch (fileType) { case "wkt": feed = new WellKnownText(); defaultExt = ".txt"; filters = "Text (.txt)|*.txt"; break; case "shp": feed = new ShapefileReader(); defaultExt = ".shp"; filters = "Shapefile (.shp)|*.shp"; break; case "gpx": feed = new GpxFeed(); defaultExt = ".gpx"; filters = "Xml (.xml)|*.xml|Gpx (.gpx)|*.gpx"; break; case "georss": feed = new GeoRssFeed(); defaultExt = ".xml"; filters = "Xml (.xml)|*.xml|Rss (.rss)|*.rss"; break; case "kml": feed = new KmlFeed(); defaultExt = ".kml"; filters = "Kml (.kml)|*.kml|Kmz (.kmz)|*.kmz|Xml (.xml)|*.xml"; break; case "kmz": feed = new KmlFeed(); defaultExt = ".kmz"; filters = "Kmz (.kmz)|*.kmz|Zip (.zip)|*.zip"; break; case "geojson": feed = new GeoJsonFeed(); defaultExt = ".js"; filters = "JavaScript (.js)|*.js|Json (.json)|*.json"; break; case "bing-xml": feed = new BingDataSourceFeed(BingDataSourceType.XML); defaultExt = ".xml"; filters = "Xml (.xml)|*.xml"; break; case "bing-csv": feed = new BingDataSourceFeed(BingDataSourceType.CSV); defaultExt = ".csv"; filters = "CSV (*.csv)|*.csv|Text (*.txt)|*.txt|All files (*.*)|*.*"; break; case "bing-tab": feed = new BingDataSourceFeed(BingDataSourceType.TAB); defaultExt = ".txt"; filters = "Text (*.txt)|*.txt|TSV (*.tsv)|*.tsv|All files (*.*)|*.*"; break; case "bing-pipe": feed = new BingDataSourceFeed(BingDataSourceType.PIPE); defaultExt = ".txt"; filters = "Text (*.txt)|*.txt|All files (*.*)|*.*"; break; default: feed = null; defaultExt = string.Empty; filters = string.Empty; break; } }