This topic describes how to publish raster data in an ApsaraDB RDS for PostgreSQL or ApsaraDB RDS for PolarDB instance that is powered by Ganos extensions by using GeoServer.
Add a data source
REST API
- Create a data source.
- Request URL: http://host:port/geoserver/rest/workspaces/{workspace}/coveragestores
- Method: POST
- Parameter description:
- workspace: the name of the created workspace.
- datastore body: the information about the data store. Keep the default value of the
type parameter, and set the url parameter to the connection information of the ApsaraDB
RDS for PostgreSQL or ApsaraDB for PolarDB instance in JSON format. The following
code snippet provides an example:
{ "coverageStore": { "name": "<datasource_name>", "type": "GanosRaster(PG/PolarDB)", "enabled":"true", "workspace":"<wokrspace>", "url": "{\"column\":\"<raster_colunm>\",\"database\":\"<database_name>\",\"filter\":\"<raster_filter>\",\"host\":\"<pg_host>\",\"name\":\"<public_name>\",\"password\":\"<user_password>\",\"port\":<pg_port>,\"schema\":\"<schema_name>\",\"ssl\":false,\"table\":\"<raster_table_name>\",\"userName\":\"<user_name>\",\"valid\":true}" } }
- Example:
{ "coverageStore": { "name": "srtm", "type": "GanosRaster(PG/PolarDB)", "enabled":"true", "workspace":"test", "url": "{\"column\":\"rast\",\"database\":\"test_db\",\"filter\":\"name='srtm'\",\"host\":\"pgm-xxxxxxxx.pg.rds.aliyuncs.com\",\"name\":\"srtm_image\",\"password\":\"xxxx\",\"port\":3432,\"schema\":\"public\",\"ssl\":true,\"table\":\"raster_table\",\"userName\":\"raster_user\",\"valid\":true}" } }
- Obtain the data source.
- Publish a raster layer.
- Request URL: http://host:port/geoserver/rest/workspaces/{workspace}/coveragestores/{store}/coverages
- Method: POST
- Parameter description:
- workspace: the name of the created workspace.
- The following code snippet provides an example of the POST request body:
{ "coverage": { "abstract": "Digital elevation model for the Spearfish region.\r\n\r\nsfdem is a Tagged Image File Format with Geographic information", "defaultInterpolationMethod": "nearest neighbor", "description": "Generated from sfdem", "dimensions": { "coverageDimension": [ { "description": "GridSampleDimension[-9.999999933815813E36,-9.999999933815813E36]", "name": "GRAY_INDEX", "range": { "max": -9.999999933815813e+36, "min": -9.999999933815813e+36 } } ] }, "enabled": true, "grid": { "@dimension": "2", "crs": "EPSG:26713", "range": { "high": "634 477", "low": "0 0" }, "transform": { "scaleX": 30, "scaleY": -30, "shearX": 0, "shearY": 0, "translateX": 589995, "translateY": 4927995 } }, "interpolationMethods": { "string": [ "nearest neighbor", "bilinear", "bicubic" ] }, "keywords": { "string": [ "WCS", "sfdem", "sfdem", "type\\@language=fr\\;\\@vocabulary=test\\;" ] }, "latLonBoundingBox": { "crs": "EPSG:4326", "maxx": -103.62940739432703, "maxy": 44.5016011535299, "minx": -103.87108701853181, "miny": 44.370187074132616 }, "metadata": { "entry": [ { "@key": "elevation", "dimensionInfo": { "enabled": false } }, { "$": "10", "@key": "cacheAgeMax" }, { "@key": "time", "dimensionInfo": { "defaultValue": "", "enabled": false } }, { "$": "true", "@key": "cachingEnabled" }, { "$": "sfdem_sfdem", "@key": "dirName" } ] }, "name": "sfdem", "namespace": { "href": "http://localhost:8075/geoserver/restng/namespaces/sf.json", "name": "sf" }, "nativeBoundingBox": { "crs": { "$": "EPSG:26713", "@class": "projected" }, "maxx": 609000, "maxy": 4928010, "minx": 589980, "miny": 4913700 }, "nativeCRS": { "$": "PROJCS[\"NAD27 / UTM zone 13N\", \n GEOGCS[\"NAD27\", \n DATUM[\"North American Datum 1927\", \n SPHEROID[\"Clarke 1866\", 6378206.4, 294.9786982138982, AUTHORITY[\"EPSG\",\"7008\"]], \n TOWGS84[2.478, 149.752, 197.726, 0.526, -0.498, 0.501, 0.685], \n AUTHORITY[\"EPSG\",\"6267\"]], \n PRIMEM[\"Greenwich\", 0.0, AUTHORITY[\"EPSG\",\"8901\"]], \n UNIT[\"degree\", 0.017453292519943295], \n AXIS[\"Geodetic longitude\", EAST], \n AXIS[\"Geodetic latitude\", NORTH], \n AUTHORITY[\"EPSG\",\"4267\"]], \n PROJECTION[\"Transverse_Mercator\", AUTHORITY[\"EPSG\",\"9807\"]], \n PARAMETER[\"central_meridian\", -105.0], \n PARAMETER[\"latitude_of_origin\", 0.0], \n PARAMETER[\"scale_factor\", 0.9996], \n PARAMETER[\"false_easting\", 500000.0], \n PARAMETER[\"false_northing\", 0.0], \n UNIT[\"m\", 1.0], \n AXIS[\"Easting\", EAST], \n AXIS[\"Northing\", NORTH], \n AUTHORITY[\"EPSG\",\"26713\"]]", "@class": "projected" }, "nativeFormat": "GeoTIFF", "nativeName": "sfdem", "requestSRS": { "string": [ "EPSG:26713" ] }, "responseSRS": { "string": [ "EPSG:26713" ] }, "srs": "EPSG:26713", "store": { "@class": "coverageStore", "href": "http://localhost:8075/geoserver/restng/workspaces/sf/coveragestores/sfdem.json", "name": "sf:sfdem" }, "supportedFormats": { "string": [ "ARCGRID", "IMAGEMOSAIC", "GTOPO30", "GEOTIFF", "GIF", "PNG", "JPEG", "TIFF" ] }, "title": "Spearfish elevation" } }