Welcome

首页 / 软件开发 / .NET编程技术 / SharpMap深度分析:地图数据Provider

SharpMap深度分析:地图数据Provider2011-11-17 博客园 马维峰Provider或者Provider模式对于很多人应该都不陌生,在DNN和Asp.net 2.0中都大量应用了Provider 模式。目前主流的GIS平台的数据提供也应该基本上都是基于Provider这样的模式,大家比较熟悉的应该 是SuperMap提出的多源空间数据引擎的概念。

在SharpMap里,数据Provider是这样使用的:

string ConnStr = "Server=127.0.0.1;Port=5432;UserId=postgres;Password=password;Database=myGisDb;";myLayer.DataSource = new SharpMap.Providers.PostGIS(ConnStr, "myTable", "the_geom", 32632);
而实际上,在Layer类里,DataSource定义为:

public SharpMap.Data.Providers.IProvider DataSource{    ...}
也就是说,这里的Provider是针对IProvider接口的,这样,对于不同的层,你可以指定不同的数据源 (使用不同的数据Provider,而支持不同的数据格式)。下面是Provider接口的类图,定义了接口的属性 和操作: