コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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;
            }
        }