[英]Show raster from postgis via mapserver
我想显示数据库中的栅格。 我读过文章如何将PostGIS栅格图层添加到MapServer地图? 并据此创建了映射文件。 我得到500-内部服务器错误。
当我通过PostGIS在QGIS中显示此栅格时,来自mapserver的错误消息为空。 我可以使用mapserver进行读取,以显示来自同一数据库的矢量数据。
你知道如何解决这个问题吗?
带有图层的mapfile的一部分:
LAYER
NAME eroze_cp
TYPE raster
STATUS ON
DATA "PG:host='localhost' port='5432' dbname='mydb' user='me' password='****' schema='myschema' table='myrast' mode='2'"
PROJECTION
"init=epsg:102067"
END
PROCESSING "NODATA=-9999"
PROCESSING "SCALE=AUTO"
END
您可以尝试的一件事是在命令行中使用shp2img,以获取有关错误的更多信息。
查看: http : //postgis.net/docs/RT_FAQ.html#idp35570592
您似乎在连接字符串中有多余的引号,尽管我不确定这是否重要。
请参阅Mapserver文档中的带有PostGIS Tile Index for Waster 影像的WMS-T示例( MapServer TILEINDEXes上的另一个示例是Database RASTERS )。 使用Postgis支持的数据库,您可以创建TILEINDEX
视图。 然后,将两层添加到mapfile
,如下所示:
平铺索引层:
LAYER
name raster_tindex
TYPE polygon
PROJECTION
"init=epsg:xxxx"
END
CONNECTIONTYPE ORACLESPATIAL
CONNECTION "user/pass@tns"
DATA "geom FROM (
SELECT gid, geom, location
FROM my_raster_tindex_table
) AS subquery using unique gid USING SRID=4326"
END
第二层是实际的RASTER层
LAYER
name db_raster_layer
TYPE RASTER
PROJECTION
"init=epsg:xxxx"
END
TILEINDEX "raster_tindex" #THIS NAME MUST MATCH THE TILEINDEX LAYER NAME
TILEITEM "location" #not actually needed if column is named location
STATUS OFF
OFFSITE 0 0 0
END
您可以通过向db_raster_layer
添加FILTER来对TIME进行过滤,就像MapServer docs中的WMS-T示例一样 。 但是,关于数据属性/属性的FILTER应该存在于Tile索引上(即,在raster_tindex
层中),正如Frank Warmerdam在带postgis的ogr tileindex中提到的那样?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.