我有一张马里兰州的 Shapefile 地图,用邮政编码分隔。我想做的是根据我在数据库中查找的值为每个区域着色。目前,我正在使用带有 SharpMap 包的 ASP.NET。基本问题是:
1)如何将形状与其邮政编码相关联? 我可以使用 SharpMap 的 ExecuteIntersectionQuery 生成邮政编码列表,并将 BoundingBox 设置为地图的范围,但我不知道如何将结果表的每一行与其代表的形状连接起来。
2)一旦我可以访问单个形状并知道我想要什么颜色,我如何将颜色分配给形状? 在 SharpMap 中,我可以为 VectorLayer 着色,但 VectorLayer 是从源 .shp 文件生成的,而不是形状。
我愿意使用除 SharpMap 之外的其他免费地图包(所以没有 ArcGIS),但出于法律原因,我不能使用 GoogleMaps。
我觉得这应该是相对简单的,但是试图为 SharpMap 找到任何像样的资源是相当困难的。
编辑:好吧,我只是通过阅读有哪些文档来完成很多过程。通过设置 ShapeFile 的 FilterDelegate,我可以使图层仅包含邮政编码与某个值匹配的行。现在我唯一的问题是让委托过滤器每次都寻找不同的邮政编码。除了 FeatureDataRow 之外,我可以传递另一个参数吗?我应该求助于全局变量吗?