Tengo un EPSG:4326 WGS 84 Shapefile y lo he convertido en Sql Spatial Data y soy capaz de renderizar el mapa usando eso con sharpmap 1.1(Anteriormente estaba usando Sharpmap 0.9). Lo que estoy tratando de lograr es cuando hago clic en un polígono generado, el polígono clicado debe ser llenado con un color (Para fines de identificación) Así que soy capaz de obtener el punto donde hago clic, pero la forma de utilizar ese punto y la consulta de todos los puntos dentro de ese polígono para que pueda colorear todo el punto que podría resultar en la coloración de todo el polígono.
El problema es que no sé cómo hacerlo en la versión 1.1 de sharpmap.
Anteriormente, cuando usaba Sharpmap 0.9, utilizaba la línea de abajo para que todos los puntos colorearan la totalidad del polígono.
pointArray.Collection.Add(SharpMap.Geometries.LinearRing.GeomFromWKB((byte[])Row["the_geom"]));
Mis datos provienen de la base de datos Sql Spatial, de ahí la fila["the_geom"].
Hasta ahora he hecho esto (que destaca sólo el punto y la necesidad de añadir los puntos en la colección Geo API)
Collection<GeoAPI.Geometries.IGeometry> geomColl = new Collection<GeoAPI.Geometries.IGeometry>();
GeoAPI.GeometryServiceProvider.Instance = new NetTopologySuite.NtsGeometryServices();
GeoAPI.Geometries.IGeometryFactory gf = GeoAPI.GeometryServiceProvider.Instance.CreateGeometryFactory();
SharpMap.Layers.VectorLayer mySuggestedLayer = new SharpMap.Layers.VectorLayer("Higlight");
fillcolor = shapeFillColor;
var factory = GeoAPI.GeometryServiceProvider.Instance.CreateGeometryFactory(_SRID);
var pointArraySubject = factory.CreateGeometryCollection(null);
var mySubjectLayer = new SharpMap.Layers.VectorLayer("SubjectIcon");
DataRow Row = accounts.NewRow();
for (int i = 0; i < accounts.Rows.Count; i++)
{
Row = accounts.Rows[i];
GeoAPI.Geometries.Coordinate PinPnt = new GeoAPI.Geometries.Coordinate();
double x = Double.Parse(Row["Xcoord_geo"].ToString());
double y = Double.Parse(Row["Ycoord_geo"].ToString());
PinPnt.X = x;
PinPnt.Y = y;
//pointArray.Collection.Add(SharpMap.Geometries.LinearRing.GeomFromWKB((byte[])Row["the_geom"]));
geomColl.Add(gf.CreatePoint(PinPnt));
mySuggestedLayer.DataSource = new SharpMap.Data.Providers.GeometryFeatureProvider(geomColl);
mySuggestedLayer.Style.Fill = new System.Drawing.SolidBrush(fillcolor);
mySuggestedLayer.Style.EnableOutline = true;
mySuggestedLayer.SRID = _SRID;
_map.Layers.Add(mySuggestedLayer);
return _map;
Cualquier idea/ayuda me alegrará el día.