This document describes how to publish Ganos raster data by using GeoServer.
Add a data source
The GeoServer web console may vary with the version. This topic uses GeoServer 2.23.2 as an example.
-
Open the GeoServer web console and click Stores .
-
Click Add new Store.
-
Select GanosRaster(PG/PolarDB).
-
Enter the connection information about the Ganos database.
Parameter
Description
Example
host
The database endpoint. The endpoint can be an IP address or an ApsaraDB RDS connection endpoint.
xxxxxxx.pg.rds.aliyuncs.com
port
The port number of the database.
3432
database
The database name.
rasterdb
username
The database username.
pguser
password
The database password.
123456
schema
The schema that contains the table.
public
table
The name of the table that stores raster data.
raster_table
column name
The name of the raster column.
raster_column
filter
The filter condition for raster objects, which is used as the WHERE clause in an SQL statement. If multiple raster objects meet the condition, the first one is used.
id=1 or name='srtm'
name
The name of the raster layer that is displayed in GeoServer.
myraster
REST API
-
Create a data source
-
API: http://host:port/geoserver/rest/workspaces/{workspace}/coveragestores
-
Method: POST
-
Parameters:
-
workspace: the name of an existing workspace.
-
datastore body: In the request body, set the
typeparameter toGanosRaster(PG/PolarDB), and specify the database connection parameters in JSON format for theurlparameter.{ "coverageStore": { "name": "<datasource_name>", "type": "GanosRaster(PG/PolarDB)", "enabled":"true", "workspace":"<wokrspace>", "url": "{\"column\":\"<raster_column>\",\"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}" } }
-
-
Sample request:
{ "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}" } }
-
-
Query data sources
-
Publish a raster layer
-
API: http://host:port/geoserver/rest/workspaces/{workspace}/coveragestores/{store}/coverages
-
Method: POST
-
Parameters:
-
workspace: the name of an existing workspace.
-
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" } }
-
-