怎样在SharpMap地图上添加一张jpg格式的图片?

最近遇到一个问题,要求在Map上添加经过坐标配准的jpg图片,就是说要操作栅格数据,系统使用的是GIS平台是SharpMap。


SharpMap较新源代码中,增加了对GEOTIFF等影像的支持,它是利用GDAL开源库来实现的,GDAL是一个操作各种栅格地理数据,包括读取、写入、转换、处理各种栅格数据格式,下载源码并编译GDAL C#接口库相比来说较为麻烦,较为简单的是下载FWTools,其已经编译好,尽可使用,以下是我的操作步骤:


一、首先对图片进行配准,就是找到图片的左上角及右下角的地理坐标,注意坐标系统,我这里用的是WGS84;


二、下载安装FWTools:http://wiki.westgis.ac.cn/index.php/FWTools


三、在命令提示符下,打开FWTools安装目录下Bin目录,执行gdal_translate -of "JPEG" -a_ullr 116.3043957 39.9772123 116.3048185 39.9768273 -a_srs EPSG:4326 input.jpg output.jpg 说明:中间的坐标格式为左上,右下,input.jpg为输入文件路径,output.jpg为输出文件路径;执行命令成功后,在输出目录下,除了输出图片外,你还可以得到一个output.aux.xml文件,两个文件是配合使用的;


四、使用:创建GdalRasterLayer:
GdalRasterLayer gdalRasterLayer = new GdalRasterLayer(layerName,"output.jpg");
return gdalRasterLayer;
将生成的Layer加到Map的Layers集合里,重绘即可显示出来;
注意:图片文件与Xml文件要在同一个目录下;

 

posted on 2012-03-07 18:11  Gavin Young  阅读(2219)  评论(2编辑  收藏  举报

导航