コード例 #1
0
        public void GeoserverServiceLayerTest()
        {
            ModulesFactory modulesFactory = new ModulesFactory();

            LayersBuilder builder = new LayersBuilder();

            builder.LayerName   = "constanta:coasta_constanta_labeled";
            builder.SingleLayer = true;


            GeoserverClient geoserverClient = new GeoserverClient("http://localhost:8080", "admin", "geoserver");


            var result = geoserverClient.Get <Layer>(modulesFactory.CreateLayerModule(builder));
        }
コード例 #2
0
        /// <summary>
        /// Create an empty dataset in the database. Created dataset will wave status Pending
        /// </summary>
        /// <param name="datasetName">Name of the dataset</param>
        /// <param name="username">The username of the user which create the dataset</param>
        /// <returns>A boolean which indicates if the insert was succesufully and a return message</returns>
        public CreateDatasetResultCode CreateDataSet(string datasetName,
                                                     string username,
                                                     PointsSource pointsSource,
                                                     string serviceUrl       = null,
                                                     string colorPaletteUser = null,
                                                     string colorPaletteName = null)
        {
            int datasetId = this.userRepository.CreateUserPointsDataset(username, datasetName, pointsSource);

            if (pointsSource == PointsSource.Geoserver)
            {
                LayersBuilder builder = new LayersBuilder
                {
                    LayerName   = datasetName,
                    SingleLayer = true
                };
                string          serverUrl = Helper.GetSourceFromUrl(serviceUrl);
                GeoserverClient client    = geoserverClient(serverUrl, null, null);

                if (client.Get <Layer>(new ModulesFactory().CreateLayerModule(builder)) == null)
                {
                    CoreContainers.LogsRepository.LogWarning($"Failed to get {datasetName} from Geoserver: {Helper.GetSourceFromUrl(serverUrl)}.");
                    return(CreateDatasetResultCode.GeoserverError);
                }

                //if dataset already exists in database
                if (datasetId == -1)
                {
                    datasetId = this.userRepository.GetDatasetID(username, datasetName);
                }

                int defaultColorPaletteId = this.userRepository.GetColorMapID(colorPaletteUser, colorPaletteName);
                if (defaultColorPaletteId == -1)
                {
                    return(CreateDatasetResultCode.BadPaletteError);
                }

                datasetId = this.userRepository.RaiseToGeoserverDataset(datasetId,
                                                                        defaultColorPaletteId,
                                                                        serviceUrl);
            }

            return(datasetId != -1 ? CreateDatasetResultCode.Ok : CreateDatasetResultCode.DatasetError);
        }