Usuarios SharpMap que hablamos español

Topics: Español, General Topics
Apr 23, 2007 at 4:43 PM
Hola, por ahí lei acerca de los desarrolladores que usan SharpMap y que hablan Italiano, y ¿por qué no para quienes hablamos Español?
Para mi es mucho mejor realizar las discusiones o contar con personas que hablen mi lengua, es mas rapido y comprensible de solventar problemas juntos.
Espero haya buena cantidad, exitos a todos y de verdadseria bueno contactarnos.
Chao
Jul 13, 2007 at 5:23 PM
Por fin!
Ya somos dos que hablamos español. Yo uso la librería en VB.NET y me gustaría compartir con alguien las dudas, a ser posible en español, para aprender mutuamente.
¿Conoces alguna cartografía decente de España para poder usar?

Gracias !
Jul 15, 2007 at 1:12 PM
Aquí tienen un tercero. Acabo de descubrir el SharpMap y pasé grandes trabajos para entender y usarlo. Principalmente porque nunca había usado el VB 2005, sino el VB6. Ya entiendo porque tanta gente decía que MS había desgraciado el VB! En fin, ya voy logrando algo.

Saludos...
Jul 16, 2007 at 3:14 PM
¡Ya somos cuatro!

Por cierto, hay gente que utiliza el foro para preguntar, y no comparte nada. Eso me pasó con un tipo de Colombia, que al preguntarle yo algo desapareció por completo.

En fin, desarrollo en Compact Framework y habíamos comentado en el foro crear una versión a partir de la última para .NET que utilice DirectX

Saludos
Jul 17, 2007 at 3:24 PM
El quinto jinete. Yo también estoy trabajando con el SharpMap, pero con C# y ASP .NET. Estoy intentando utilizar la versión AJAX pero tengo problemas para manipular la visibilidad de las capas, cualquier ayuda se agradece. Asimismo, en lo que pueda ayudaros, estoy a la orden.

Saludos, desde Nicaragua.
Jul 17, 2007 at 5:10 PM
El 6 de la cuadrilla. Voy a comenzar hoy con SharpMap con Vb y ASP NET. Hasta ahora he trabajado con geomedia y Vb 6. Espero que no sea muy complicado el cambio.

Saludos desde Madrid
Jul 18, 2007 at 5:57 PM
Hola, empece a pegarme con SharpMap. Comence estudiando el ejemplo demo09vb. Consegui despues de hacer algunos cambios visualizar los mapas. A continuacion me propuese cargar mis propios shp de la zona de España. No lo consegui. Los abro con el ejemplo DemoWinForm y los veo correctamente (los shp estan bien), pero lo intento cargar en el ejemplo y no veo nada (tampoco me da error). No se si tengo que cambiar algo de configuracion por el sistema de coordenadas.

Sabe alguien donde puede estar el problema

Gracias

Manuel
Jul 19, 2007 at 4:39 AM
Saludos a la comunidad Hispana
Jul 20, 2007 at 7:51 AM
Edited Jul 20, 2007 at 7:53 AM
-
Jul 20, 2007 at 7:53 AM
Edited Jul 20, 2007 at 7:54 AM
Hola Manu19

Yo hago algo parecido pero en una aplicación propia. Utilizo el shp que tengo de una parte de España para dotar al Data.Provider del sistema de coordenadas del huso que corresponde esa zona :

Dim shp As New Data.Providers.ShapeFile("mapa.shp")

Lo puedo ver sin problemas. Luego le hago la transformación al sistema WGS84 de los elementos del mapa para poder editar archivos kml de Google Earth:

Dim trans = New CoordinateSystems.Transformations.CoordinateTransformationFactory().CreateFromCoordinateSystems(shp.CoordinateSystem, CoordinateSystems.GeographicCoordinateSystem.WGS84)

No entiendo el problema que se te presenta. ¿Podrías dar más detalles?



Manu19 wrote:
Hola, empece a pegarme con SharpMap. Comence estudiando el ejemplo demo09vb. Consegui despues de hacer algunos cambios visualizar los mapas. A continuacion me propuese cargar mis propios shp de la zona de España. No lo consegui. Los abro con el ejemplo DemoWinForm y los veo correctamente (los shp estan bien), pero lo intento cargar en el ejemplo y no veo nada (tampoco me da error). No se si tengo que cambiar algo de configuracion por el sistema de coordenadas.

Sabe alguien donde puede estar el problema

Gracias

Manuel

Jul 20, 2007 at 9:30 AM
Hola Alvaro

Muchas gracias por tu ayuda. Al final consegui ver el mapa. El problema que tenia eran las coordendas para el centrado del mapa y la escala de visualizacion.

Chau

Manu

Jul 20, 2007 at 12:17 PM
Hola,
Saludos desde Argentina
Aug 1, 2007 at 11:10 PM
Hola gente, que bueno encontrarlos, hace unas semanas comenze a utilizar esta libreria y la verdad que me ayudo muchisimo. Los mapas salen muy bien, pero me surgio un problema que no se como resolverlo:

Tengo varias capas, cada una con sus colores, y esas cosas, estan todas sobre el mismo sistema y escala, el tema es que cuando agrego la capa de puntos de GPS (por ej, -32.255655 y -60.5666855) me los dibuja por cualquier lado, imagino que habra que convertir los puntos, o trasladar la capa, en cualquiera de los 2 casos, como deberia hacerlo? si alguien ya tiene algo o una pista para decirme por donde ir le agradeciria mucho.

Ya he probado con
puntoC = SharpMap.Utilities.Transform.WorldtoMap(puntoR, miMapa)

pero sin resultado favorables. Muchas gracias
Aug 2, 2007 at 10:21 AM
Hola a todos.

Estoy evaluando las diferentes posibilidades para realizar un Gis de escritorio. SharpMap me parece una muy buena opción, pero de momento le he visto dos pequeños problemas. A ver si alguien me echa una manita.

1) La visualización de shp de unos 5 megas es muy lenta, a pesar de crear el archivo de índice espacial. Esto también le pasa a GvSIG

2) No he conseguido ver imagenes ECW, a pesar de haber implementado la libreria con el archivo correspondiente.

Estoy usando Vb con los IDE SharpDevelop y Visual Studio 2005 Express.

Un saludo a todos. Sigo investigando con SharpMap.
Aug 2, 2007 at 1:57 PM
Hola "paterna", para el caso 1, lo que te aconsejo es que partas el mapa en varios tramos, por ej, 4, y cargues lo que solo necesites, y si es muy complejo, deberias de separarlo en capas y cargar las capas necesarias nomas, o al menos, yo tuve el mismo problema que vos y lo solucione asi.

Con respecto al punto 2, la verdad q no lo he usado a ese formato y no lo he probado, pero pon algo de tu codigo para ver si hay algun error de sintaxis.

Salu2
Developer
Aug 2, 2007 at 4:42 PM
Hola a todos!

Saludos desde Santiago de Chile (33°24'51 S, 70°36'12 W para ser exactos ;-) Aparte de pequeñas colaboraciones en SharpMap y NetTopologySuite, soy desarrollador de los proyectos MsSqlSpatial y NHibernate.Spatial.

@matias_nombarasco: Depende de cuál es ese "mismo sistema y escala" de las otras capas al cual te refieres, sabiendo eso luego puedes aplicar transformaciones usando Proj.NET como en el ejemplo que da Alvaro más arriba o la función ST_Transform o equivalente en una base de datos espacial. El fin de la función WorldToMap no es convertir entre sistemas de referencia, sino que desde el sistema de referencia del mapa ("world") a pixels ("map").

@paterna:
Sobre 1, primero hay que distinguir entre el tiempo de carga (que la primera vez será mayor por la creación del índice) y el tiempo de generación del mapa. Éste último depende de varios factores como qué nivel de zoom estás visualizando, nivel de complejidad de las geometrías (donde previamente se podría aplicar un algoritmo de simplificación), si acaso estás mostrando más de lo necesario para cierto nivel de zoom (por ejemplo, si se trata de ejes viales, podrías mostrar sólo las vías principales a mayor escala). Y por cierto, en algunos casos es mejor olvidarse de los shapefiles y trabajar con bases de datos espaciales. Afortunadamente, SharpMap permite una solución mixta de shapefiles y base de datos.

Sobre 2, verifica que la georreferenciación de la imagen ECW o de la imagen original usada para generar el archivo ECW estén en orden (por ejemplo, un TIFF con worldfile asociado).

Saludos,
Ricardo Stuven.
Aug 2, 2007 at 5:12 PM
Hola Ricardo, los graficos que me hace el Sharpmap tienen los puntos entre 56594239.43993948 y 48584934.43903922 o algo par el estilo. Son numeros inmensos comparados con los 33°24'51 S por ej. y el hecho es que necesito convertir los puntos, cualquiera de los 2, lo del mapa o los del GPS (supongo q es mas optimo correr los puntos del GPS). Voy a probar la ST_Transform, pero si podrias indicarme un poco mejor los metodos me sirviria de mucho ya que ando medio ajustado con los tiempos de entrega. Pero desde ya muchisimas gracias por la colaboracion.

Saludos desde el otro lado de la cordillera.

Matias Nombarasco
Developer
Aug 2, 2007 at 7:33 PM
Edited Aug 2, 2007 at 9:42 PM

matias_nombarasco wrote:
los graficos que me hace el Sharpmap tienen los puntos entre 56594239.43993948 y 48584934.43903922 o algo par el estilo. Son numeros inmensos comparados con los 33°24'51 S por ej. y el hecho es que necesito convertir los puntos, cualquiera de los 2, lo del mapa o los del GPS (supongo q es mas optimo correr los puntos del GPS).


Hay temas que escapan al manejo de SharpMap propiamente tal, como entender qué significan esas cifras inmensas o las no tanto, y que te ayudarán a identificar en qué sistema de referencia estás trabajando y realizar las transformaciones que vengan al caso.

Un sistema de referencia consiste a grandes rasgos en un datum y una proyeccción, más otros parámetros que por ahora vamos a ignorar. Estando en Argentina, lo más probable es que estés trabajando con proyección UTM 19, 20 o 21 Sur en datum WGS84 (EPSG 32719, 32720 y 32721 respectivamente), aunque quizá se trate de otro datum local. Puedes confirmarlo preguntado a la fuente de donde obtuviste los datos. Las coordenadas que entrega un dispositivo GPS están en datum WGS84 pero no están proyectadas (EPSG 4326). Son las "coordenadas geográficas", las típicas coordenadas de latitud/longitud, como las que puse en mi saludo anterior. Antes de desplegar estas coordenadas geográficas en 2D (como en SharpMap), necesitas proyectarlas a la misma proyección usada en las otras capas.

Para interiorizarte en estos temas te recomiendo leer este artículo de Morten Nielsen (en inglés) y profundizar más con estos apuntes de Ignacio Fernández (en español). Puede que a primera vista parezca todo muy teórico y confuso, pero te aseguro que vale la pena hincarle el diente y te ahorrarás más de un dolor de cabeza a futuro.

Saludos,
Ricardo Stuven.
Aug 2, 2007 at 9:11 PM
Muchas gracias, la verdad que no se en que DATUM estan los mapas, por los he encontrado en la mula y no encontre informacion al respecto, voy a ver si mi mapa de casualidad coincide con agunos de los datum que me mencionaste, lo voy a comprobar con el MapSource que tengo, voy cmbiando el datum hasta que los punto que me muestre "encajen" o se aproximen, y cualquier cosa despues te cuento, de todas formas esta noche voy a leer lo que me recomendaste. Muchas gracias Ricardo!!!

Matias Nombarasco
Aug 3, 2007 at 9:16 AM
Mi problema son los shp grandes es de refresco de la pantalla, tengo claro que la primera vez que se crea el índice espacial tarda un poco mas.

Con MaPoBJECTS por ejemplo, los primeros 'regen' van un poco lentos pero luego, al volver a visualizar la misma zona, todo es muy rápido. Supongo que será porque se guarda en caché o algo parecido. Con SahrpMap tarda siempre lo mismo, independientemente de las veces que hayas visualizado una zona.

He apantallado el shp mediante un render CustomTheme con la idea de desactivar ciertas capas del shp en función del zoom, pero no funciona. Digamos que manda el zoom de todo el shp, del layer, los valores de zoom por CustomTheme son ignorados. Esto habría sido una posibilidad para obtener un refresco mas rápido.

Otras opciones es partir el shp en varios pequeños, pero cuando tenga un zoom que los englobe a todos supongo que el refresco será igual de lento.

Y la otra opción que me queda es crear varios shp en funcion de las capas, crear varios layers y asignar escalas de zoom diferentes. Esto es un problema porque me desmonta toda la estructura de datos que tengo, y además supondria un problema para trabajar con los datos fuera del gis.

No he probado a usar otras fuentes diferentes de shp, pero me parece que no habría mucha diferencia ya que creo que el problema está a la hora de apantallar los datos, no en el tiempo necesario para recuperar esos datos de la base de datos.

En la ayuda, en shp dice:
The ShapeFile provider is used for accessing ESRI ShapeFiles. The ShapeFile should at least contain the filename.shp, filename.idx, and if feature-data is to be used, also filename.dbf file.

Mi shp no tiene el fichero .idx, aunque aún así se crea el .shp.sidx de SharpMap. No creo que esto esté ralentizando el apantallamiento.


En fin, a ver si alguien tiene alguna idea.

En cuanto al ecw creo que está todo correcto. Puse el mensaje de error en el post dedicado a ecw.

Un saludo a todos.
Aug 5, 2007 at 9:11 AM
Hola a todos.

Pregunta rápida: ¿Hay alguna forma de insertar una imagen como una capa más del shapefile?

Estoy haciendo un navegador tipo TomTom y me gustaria poner los Point Of Interest como una imagen dentro del mapa.

Gracias
Aug 10, 2007 at 10:27 AM
Hola a todos
Llevo usando SharpMap poco tiempo y la verdad estoy un poco liado, no se si es que me he bajado una versión erronea o que pero cuando intento usar el metodo "Contains" de la clase Geometry me aparece un bucle infinito, y cual es mi sorpresa al mirar el código de Sharpmap al descubrir que hay cuatro métodos que se llaman en circulo sin resolver nada y se quedan ah´eternamente. A nadie le ha pasado lo mismo que a mi?
Aug 21, 2007 at 4:10 AM
Edited Aug 21, 2007 at 6:05 PM
Hola a todos,

Estoy utilizando el SharpMap, la version Ajax modificada (del archivo MNorm_Ajax3.zip) que amablemente me facilitó Leandro (gracias). Sin embargo, me encontrado con un problema: he logrado habilitar el evento click, capturarlo y procesarlo con el objetivo de obtener los datos del elemento sobre la que se hizo click en la capa seleccionada, pero me he encontrado con este error al momento de ejecutar el método "ExecuteIntersectionQuery":

"An attempt was made to read from a closed datasource"

Una vez capturadas las coordenadas utilizó el siguiente código:

SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet();
SharpMap.Geometries.Point ClickPnt = new SharpMap.Geometries.Point(x,y);
(ajaxMap.Map.Layers[0] as SharpMap.Layers.VectorLayer).DataSource.ExecuteIntersectionQuery(ClickPnt.GetBoundingBox(), ds);

Sin embargo me arroja ese error. También lo he probado con la versión no-Ajax del SharpMap y me envía el mismo error.

Alguna idea de como solucionar esto. Necesito habilitar esta herramienta de consulta de los features de una capa. Una ayuda por favor.

Gracias.
Aug 22, 2007 at 10:21 PM
Hola odiseo. Espero sea de utilidad el proyecto demo de NetTopologySuite que puedes descargar del foro anterior de Sharpmap en http://www.sharpgis.net/CategoryView,category,SharpMap.aspx, si es que no lo has visto ya.
Saludos
Sep 12, 2007 at 2:05 AM
Edited Oct 1, 2007 at 3:10 PM
Hola, soy nuevo en esto. Estoy haciendo un gis con MSSQLSPATIAL, SHARPMAP, AJAXMAP.

Uno mas para la comunidad latina
Sep 12, 2007 at 7:57 AM
Edited Sep 12, 2007 at 8:01 AM
Buenas a todos,

Spy totalemnte nueva en esto, no he programado ni una linea de codigo de Sharpmap, de hecho hasta el momento he programado todo co MapObjects, y estoy stidiando la opcion de migrarme a SharpMap, y es por ello que necesito unas determinadas funciones, que no se si Shapmap realiza o no, por ello os las comento a ver si em sabeis decir.....

- SharpMap permite hacer join con tablas externas? a ver me explico, por un lado tengo mi shp con la información minima, y luego tengo mis datos en una tabla en una base de datos sybase, pero yo necesito hacer mapas temáticos (renderers) y selects por campos que NO tengo en el shp físicamente, este problema hasta ahora con MO lo serolvía con un Join, se puede ahcer lo mismo en SharpMap?

- Permite hacer selecciones espaciales? es decir tipo intersecciones entre dons elementos, o buffers?

Creo que por el momento con esto es suficiente....

Muchas gracias de antemano.....

Saludossssss
Sep 14, 2007 at 6:06 AM
Hola claramar505

Para tu segunda pregunta creo que te refieres a las funcionalidades que existen de intersección, inclusión, etc, de geometrías tipo:

st.within(st.centroid(X),st.polygonfromtext(POLYGON)',-1)

Lo malo es que al no existir manual de SharpMap hay que ir probando con los argumentos hasta dar en el clavo.
De la primera pregunta no se decirte. . . .

Saludos
Sep 20, 2007 at 10:27 PM
Edited Oct 1, 2007 at 3:09 PM
gracias y saludos
Sep 28, 2007 at 1:26 AM
hola como estan toy empezando a trabjar con sharpmap y mssqlspatial utlize la version ajax y pude cargar y ver todo mi mapas sin novedad pero ahora la pregunta es la siguiente como hago pa saber el nombre y/o datos del poligono donde le doy un click ya q solo pude hacer ver la coordenas pero con estos datos como puedo visualizar la informacion es decir recuèrar el nombre de la provincia o algo asi, de antemano muchas gracias po la ayuda
Sep 28, 2007 at 9:14 PM
Buenas muchachos, soy uno mas desde Argentina. Estoy desarrollando en SHARPMAP + AJAX + ASP.NET + VB.NET + PostgreSQL (con y sin PostGis)
Oct 1, 2007 at 3:05 PM
Edited Oct 1, 2007 at 3:07 PM


GABRIELITO10 wrote:
hola como estan toy empezando a trabjar con sharpmap y mssqlspatial utlize la version ajax y pude cargar y ver todo mi mapas sin novedad pero ahora la pregunta es la siguiente como hago pa saber el nombre y/o datos del poligono donde le doy un click ya q solo pude hacer ver la coordenas pero con estos datos como puedo visualizar la informacion es decir recuèrar el nombre de la provincia o algo asi, de antemano muchas gracias po la ayuda



Hola Gabriel, lo que tenes que hacer es:

Dim ClickPnt As SharpMap.Geometries.Point = New SharpMap.Geometries.Point(X, Y)
' X e Y son las coordenadas
Dim ds As SharpMap.Data.FeatureDataSet = New SharpMap.Data.FeatureDataSet()
Dim VLayer As SharpMap.Layers.VectorLayer
VLayer.DataSource.ExecuteIntersectionQuery(SharpMap.Geometries.Geometry.GeomFromText(ClickPnt.ToString), ds)
Dim DTTemp As New Data.DataTable
DTTemp = ds.Tables(0)


'En DTTemp vas a tener todos los datos que tengas guardados en la tabla correspondiente a la capa y a la coordenadas especificadas.


Saludos y suerte





Oct 2, 2007 at 4:02 PM
holas de nuevo Gracias tanito por la respuesta pero la verad q no pude ejecutar tu codigo pese a qlo cambie a c# pero no paso nada despues me puse a investigar y por ahi vi q te enviaron un codigo para resolver el problema con mssqlspatial del ejemplo http://www.codeplex.com/SharpMap/WorkItem/View.aspx?WorkItemId=12687 el cual lo vi ahi dice q se debe cambiar el codigo de "public void ExecuteIntersectionQuery(SharpMap.Geometries.Geometry geom, FeatureDataSet ds)" en mssqlspatial.cs yo no vi nada de eso pero encontre el mismo codigo en "NtsProvider.cs" del ejemplo antes mencionado lo cambie pero me sale con que
"Error 4 'SharpMap.Data.Providers.NtsProvider' no contiene una definición para 'DefinitionQuery" y bueno todas los errores q ven mas bajo pense q era cosa de directivas y juro q cargue todo lo q habia pero nada no se donde puedo estarme equivocando o es q hay otro archivo MsSqlSpatial q tengo q cargar ¡¡¡ ayuda por favor !!!

el codiog es el siguiente y los errores son loq estan con negrilla

public void ExecuteIntersectionQuery(SharpMap.Geometries.Geometry geom, FeatureDataSet ds)
{

List<Geometries.Geometry> features = new List<SharpMap.Geometries.Geometry>();
using (SqlConnection conn = new SqlConnection(_ConnectionString))
{
string strGeom = "ST.GeomFromText('" + geom.AsText() + "', " + this.SRID.ToString() + ")";
string strSQL = "SELECT *, ST.AsBinary(" + this.BuildGeometryExpression() + ") As sharpmap_tempgeometry ";
strSQL += "FROM ST.RelateQuery" + this.BuildSpatialQuerySuffix() + "(" + strGeom + ", 'intersects')";
if (_definitionQuery != null && _definitionQuery != "")
strSQL += " WHERE " + this.DefinitionQuery;
using(SqlDataAdapter adapter = new SqlDataAdapter (strSQL,conn))
{
conn.Open();
System.Data.DataSet ds2 = new System.Data.DataSet();
adapter.Fill(ds2);
conn.Close();
if (ds2.Tables.Count >0)
{
FeatureDataTable fdt = new FeatureDataTable (ds2.Tables0);
foreach (System.Data.DataColumn col in ds2.Tables0.Columns)
if (col.ColumnName != this.GeometryColumn && !col.ColumnName.StartsWith(this.GeometryColumn + "Envelope") && col.ColumnName != "sharpmap_tempgeometry")
fdt.Columns.Add(col.ColumnName, col.DataType, col.Expression);
foreach (System.Data.DataRow dr in ds2.Tables0.Rows)
{
SharpMap.Data.FeatureDataRow fdr = fdt.NewRow();
foreach (System.Data.DataColumn col in ds2.Tables0.Columns)
if (col.ColumnName != this.GeometryColumn && !col.ColumnName.StartsWith(this.GeometryColumn + "Envelope") && col.ColumnName != "sharpmap_tempgeometry")
fdrcol.ColumnName=drcol;
//fdrcol.ColumnName = drcol;
if (dr"sharpmap_tempgeometry" != DBNull.Value)
fdr.Geometry = SharpMap.Converters.WellKnownBinary.GeometryFromWKB.Parse((byte[])dr"sharpmap_tempgeometry");
fdt.AddRow(fdr);
}
ds.Tables.Add(fdt);
}

}
}
}
Error 1 El nombre '_ConnectionString' no existe en el contexto actual
Error 2 'SharpMap.Data.Providers.NtsProvider' no contiene una definición para 'BuildGeometryExpression'
Error 3 'SharpMap.Data.Providers.NtsProvider' no contiene una definición para 'BuildSpatialQuerySuffix'
Error 4 El nombre '_definitionQuery' no existe en el contexto actual
Error 5 El nombre '_definitionQuery' no existe en el contexto actual
Error 6 'SharpMap.Data.Providers.NtsProvider' no contiene una definición para 'DefinitionQuery'
Error 7 'SharpMap.Data.Providers.NtsProvider' no contiene una definición para 'GeometryColumn'
Error 8 'SharpMap.Data.Providers.NtsProvider' no contiene una definición para 'GeometryColumn'
Error 9 'SharpMap.Data.Providers.NtsProvider' no contiene una definición para 'GeometryColumn'
Error 10 'SharpMap.Data.Providers.NtsProvider' no contiene una definición para 'GeometryColumn'
Oct 19, 2007 at 10:34 AM
Hola a todos

¿Alguien sabe cómo incluir mapas vía WMS utilizando SharpMap?

En Sharpgis.net existe la referencia a SharpMap.Web.Wms.WmsServer.ParseQueryString(Request.QueryString,Response,myMap), pero no se cómo realizar el proceso completo.

Gracias por la ayuda. . .
Oct 19, 2007 at 9:50 PM

Hola a Todos, He comenzado a trabajar con sharpmap, y vengo de la escuela de Mapinfo.
Queria saber si alguien ha pensado o ha trabajado sobre la performance de SharpMap para bases de Datos Grandes (Shapefile de 100Mb o más). Tecnicas de Cacheo por un lado, y renderizacion vectorial en tiempo real usando la memoria de Video por otro. Tambien me interesa si han avanzado con la utilizacion de DirectX. Mis esfuerzos estan orientados a aumentar drasticamente la performance,
Gracias y Saludos.
Hernan
Nov 28, 2007 at 2:32 PM
Hola a todos. Soy nuevo con SharpMap y todo lo referente a GIS. He logrado mostrar un shapefile. El mismo posee una geometría de puntos. Necesito mostrar el mapa con áreas coloreadas de acuerdo a cierto rango de valores de un campo del mismo y en lo posible mostrar una leyenda (mapa interpolado). Por favor, si pueden ayudarme con algun ejemplo o con una introducción en el tema será muy agradecido.
Saludos.
Nov 29, 2007 at 8:48 PM
Estoy desesperado.

Ya he intentado todo lo posible y no comprendo como acceder a las geometrias de oracle, tengo en una datagrid ya los objetos en formato WKB pero no logro mostrarlos porque no permite convertir del dataset hacia el tipo byte que recibe sharpmap. Ya tengo varias semanas en lo mismo y estoy desesperado porque solo me indican que use el conector oracle y nada mas. Alguien tendra un ejemplo "COMPLETO" de como acceder a estas geometrias y mostrarlas.
Por favor estoy a punto de tirarme de un puente (con cuerdas claro).
desesperado.

' este set de datos ya tiene el campo en formato wkb, puedo obtenerlo tambien en GML pero no se como usarlo.

GeometriaOracle = CByte(lSetDeDatos.Tables(0).Rows(0).Item(0))
myLayerOracle.DataSource = New SharpMap.Data.Providers.GeometryProvider(GeometriaOracle)

'
Dec 1, 2007 at 1:32 AM
Tengo la siguiente función en vb que originalmente vi en un ejemplo de c#

---------------------------------------------------------------------------------------------------
Public Shared Function EstiloSimbologia(ByVal row As SharpMap.Data.FeatureDataRow) As SharpMap.Styles.VectorStyle
Dim style As New SharpMap.Styles.VectorStyle()
Select Case row("NombreCampo").ToString()
Case "0"
style.Fill = Drawing.Brushes.Red
Return style
Case "1"
style.Fill = Drawing.Brushes.Salmon
Return style
Case "2"
style.Fill = Drawing.Brushes.Blue
Return style
Case Else
Return Nothing
End Select
End Function
---------------------------------------------------------------------------------------------------

El problema que tengo es que no se como pasale la fila

---------------------------------------------------------------------------------------------------

Dim capa As New SharpMap.Layers.VectorLayer("titulo")

capa.DataSource = New SharpMap.Data.Providers.ShapeFile(HttpContext.Current.Server.MapPath("~\App_data\capa.shp"), True)

capa.Theme = New SharpMap.Rendering.Thematics.CustomTheme(EstiloSimbologia(-FILA-))
map.Layers.Add(capa)

---------------------------------------------------------------------------------------------------

alguna idea..?
Dec 28, 2007 at 1:31 PM
Hola a todos, ante todo me presento, mi nombre es william soy de peru :D mi email es: seiya166@hotmail.com y toy en la parte introductoria de SharpMap, para ser sincero no sabia que existia, me alegro mucho al saber que si existe y a la comunidad q propicia todo el entorno de trabajo felicitaciones.
Como les nombre soy nuevo en este mundo pero con todas las ganas de aprender, me gustaria muxo q me puedan ayudar con algunas dudas, por ahora no encuentro la libreria SharpMap.dll para descargarlo, porfa si me podrian ayudar, de ante mano muchas gracias a todos, saludos
Jan 7, 2008 at 8:19 PM
Buenas a todos!, soy nuevo en SharpMaps. Tengo la 0.9 y me gustaría saber como añadir una capa cuyo SRID es 23030 (EuropeanDatum1950, UTM, huso 30). He partido del ejemplo que hay, quitando todas las capas, y añadiendo la mía como:
//Add manzana layer
SharpMap.Layers.VectorLayer laybarrio = new SharpMap.Layers.VectorLayer("Manzanas");
laybarrio.DataSource = new SharpMap.Data.Providers.ShapeFile(HttpContext.Current.Server.MapPath(@"~\App_data\MANZA.SHP"), true);
laybarrio.SRID = 23030;
laybarrio.Style.Fill = new SolidBrush(Color.Red);
map.Layers.Add(laybarrio);
Y ni caso..... me sale pantallazo azul y poco mas...... alguna ayuda por favor?
Gracias por adelantado!

Jan 9, 2008 at 10:48 AM
Hola waljayet166

La librería la puedes bajar en :
http://www.codeplex.com/SharpMap/Release/ProjectReleases.aspx?ReleaseId=154

Ya sabrás que no hay manual, con lo que sólo nos queda el foro para poder ayudarnos. . . .

Suerte
Jan 13, 2008 at 10:44 PM
Muchas gracias Alvaro, ia consegui la libreria ahora voy a proceder a ver algunos demos, cualquier consulta lo posteo, gracias y saludos!
Jan 15, 2008 at 11:05 AM
Hola a todos

¿Alguien sabe cómo subir un proyecto ASP.Net con la DLL de Sharpmap y todo (que me funciona bien en localhost) y evitar que me salga este mensaje de error?
¿por qué no la reconoce?¿No dicen que no es necesario registrar las DLL en el servidor en .Net?¿Qué ocurre?

Gracias

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The format of the file 'SharpMap' is invalid.
Source Error:
Line 3: <system.web>
Line 4: <httpHandlers>
Line 5: <add verb="*" path="GetMap.aspx" type="SharpMap.Web.HttpHandler,SharpMap"/>
Line 6: </httpHandlers>
Line 7: <compilation debug="true"/>

Jan 18, 2008 at 2:21 PM
Hola compañeros estoy trabajando con SharpMap y me va muy bien hice las interseccion o consulta de una capa

SharpMap.Geometries.Point ClickPnt = new SharpMap.Geometries.Point(System.Convert.ToDouble(PuntoX), System.Convert.ToDouble(PuntoY));
SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet();
SharpMap.Geometries.BoundingBox bx = ClickPnt.GetBoundingBox();
SharpMap.Layers.VectorLayer layer = mapita.Layers0 as SharpMap.Layers.VectorLayer;
layer.DataSource.Open();
layer.DataSource.ExecuteIntersectionQuery(bx, ds);
layer.DataSource.Close();
if (ds.Tables0.Count > 0)
{
...sentencias
}

Pero veo q hay un margen de error q a mi parecer es muy grande porque me salen hasta cuatro elementos seleccionados cuando le doy un click en el mapa, no hay algun procedimiento para reducir este margen de error
Jan 18, 2008 at 5:06 PM
Capo, mirá, a mí me pasa lo mi7smo. Lo que ví, es que la única 'intersection query' buena de sharpmap 0.9 es la de si dos bounding box se tocan... (sin comentarios)

lo que hace es que toma las bounding boxes de los objetos y se fijan si se tocan con la de tu punto. Por ejemplo, si tienes calles, le haces click en una esquina, y los segmentos siempre sobrepasan un poco el norte/este/oeste/sur de tu punto, y te salta con las cuatro cuadras...

Qué hago para resolverlo? :) lo que rendereo por sharpmap es un mapa 're-bonito', pero la info la proceso en serio con NTS, y para el click en la esquina creo un punto, lo hago buffer (por ejemplo, 9 metros) y corro la query de intersección por medio de NTS de ese buffer con el resto. Entonces logro algo bastante más natural

culaquier cosa mi msn es eazel arroba msn punto com


GABRIELITO10 wrote:
Hola compañeros estoy trabajando con SharpMap y me va muy bien hice las interseccion o consulta de una capa

SharpMap.Geometries.Point ClickPnt = new SharpMap.Geometries.Point(System.Convert.ToDouble(PuntoX), System.Convert.ToDouble(PuntoY));
SharpMap.Data.FeatureDataSet ds = new SharpMap.Data.FeatureDataSet();
SharpMap.Geometries.BoundingBox bx = ClickPnt.GetBoundingBox();
SharpMap.Layers.VectorLayer layer = mapita.Layers0 as SharpMap.Layers.VectorLayer;
layer.DataSource.Open();
layer.DataSource.ExecuteIntersectionQuery(bx, ds);
layer.DataSource.Close();
if (ds.Tables0.Count > 0)
{
...sentencias
}

Pero veo q hay un margen de error q a mi parecer es muy grande porque me salen hasta cuatro elementos seleccionados cuando le doy un click en el mapa, no hay algun procedimiento para reducir este margen de error

Feb 15, 2008 at 7:56 AM
¡Hola a todos!

Llevo tiempo trabajando con la versión "mobile" de Sharpmap, pero me estoy dando cuenta que está algo antiquada (esta basada en la versión 0.9). ¿Hay alguien que esté trabajando para Compact Framework? Para compartir experiencias. La versión de CF que utilizo es la 2.0.

Saludos.
Sep 16, 2008 at 6:59 PM
Hola  a todos.... soy nuevo en esto... ha logrado alguien resolver el zoom dinamico en ajax? como puedo hacerlo? gracias...
Sep 26, 2008 at 8:40 AM
Como Hacer consultas en Oracle Eficientes

Estoy creando un mapa con varias capas (Delegacion, Colonia, Manzanas) desde un archivos .shp
algo asi como esto: en el archivo MapHelper.cs y el mapa se carga muy rapido

CapaDelegacion = new SharpMap.Layers.VectorLayer("Delegaciones");
//Origen de Datos
CapaDelegacion.DataSource = new SharpMap.Data.Providers.ShapeFile(@"\\servidor\GIS\Shapes\Shp\df\RDeleg.shp", true);
//Estilos Delegacion
CapaDelegacion.Style.Fill = new SolidBrush(Color.FromArgb(243, 239, 228));
CapaDelegacion.Style.Outline.DashStyle =
DashStyle.DashDot;
CapaDelegacion.Style.Outline =
new Pen(Color.Black, 2);
CapaDelegacion.Style.EnableOutline =
true;
CapaDelegacion.SRID = 8307;
CapaDelegacion.MaxVisible = 300000;
CapaDelegacion.MinVisible = 55000;


Pero soy nuevo usando SharpMap y ahora necesito cargar esas pero obteniedo la data desde una basa de datos Oracle. asi que cree una funcion para obtener los datos y cambio la fuente de datos en las capas. Pero las consultas son muy lentas Que puedo Hacer ???? y porsupuesto me interesa que la consulta a Oracle sea pasando un  BoundingBox  Para filtrar los datos.

No se si esto no se pueda hacer o lo estoy haciendo mal???


//Origen de Datos
CapaDelegacion.DataSource =  new SharpMap.Data.Providers.GeometryProvider(DataOracle());

public

 

static List<Geometry> DataOracle()
{
    List<Geometry> features = new List<Geometry>();
    Database db = null;
    DbCommand cmd = null;
    IDataReader dr = null;
    db =
DatabaseFactory.CreateDatabase();
    cmd = db.GetSqlStringCommand(
@"SELECT g.""GEOM"".Get_WKB() FROM ""RECINTOMANZANA"" g WHERE mslink >=7426 AND mslink <=7440");
    dr = db.ExecuteReader(cmd);
    try
    {
        while (dr.Read())
        {
            Geometry geom = GeometryFromWKB.Parse((byte[])dr[0]);
            if (geom != null)
                {
                    features.Add(geom);
                }
         }
  }
finally
{
dr.Close();
}
return features;
}

Feb 16, 2009 at 1:25 PM
Saludos Compañeros estoy iniciando en el desarrollo de gis con sharpmap... nesecito ayuda no se como visualizar puntos o poligonos en un nuevo layer en el objeto ajax del sharp map, estoy desarrollando en vb.net 2005, si alguien me podria ayudar por favor  puedo obtener las latitudes y longitudes pero necesito plasmarlas en el mapa.

Aug 22, 2010 at 3:46 AM

hola como estas tengo una duda soy nuevo en sharpmap sera posible hacer mapas tematicos con estas librerias,  por favor me urge lo necesito no se como tematizar en sharpmap espero sus repuestas

Sep 8, 2010 at 7:29 AM

Hola,

Desde de luego que se pueden realizar mapas temáticos, pero tienes que ser mas especifico para poder ayudarte que necesitas realmente.

Saludos
Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede
contener información confidencial, siendo para uso exclusivo del 
destinatario, quedando prohibida su divulgación copia o  distribución a 
terceros sin la autorización expresa del remitente. Si Vd. ha recibido 
este mensaje erróneamente, se ruega lo  notifique al remitente y 
proceda a su borrado.
Gracias por su colaboración.

This message (including any attachments) may contain confidential 
information. It is intended for use by the recipient only. Any 
dissemination, copying or distribution to third parties without the 
express consent of the sender is strictly prohibited. If you have 
received this message in error, please delete it immediately and 
notify the sender. 
Thank you for your collaboration.
Editor
Sep 9, 2010 at 10:02 PM

Hola, soy nuevo en este foro. Que bueno es encontrar desarrolladores de Sharpmap en español.

Alguien tiene algun ejemplo para asignar colores a un shapefile de acuerdo a los valores de sus atributos? Cada atributo tiene un color asociado.

Sep 10, 2010 at 5:46 AM

hola, yo tambien tengo ese problema agradeceremos nos puedan ayudar, asi como tambien si se puede leer el color del pixel con imagenes .gif

Editor
Sep 10, 2010 at 3:25 PM

Otra pregunta, como puedo habilitar el evento click desde la primer vez que se carga el mapa ajax? O sea que no haga zoom cuando le doy click al mapa por defecto.

Sep 10, 2010 at 8:41 PM

hola alguien sabe como abro una imagen y la georeferencio en el sharpmap, estoy haciendo una aplicacion de escritorio y los gdalrasterlayers siempre me dan error no se si tengo que bajarme una libreria, ojo estoy usando vb.2005

Sep 13, 2010 at 8:12 AM

Hola,

Te envío un ejemplo que te va ayudar mucho es un caso practico que yo estoy utilizando cualquier duda pregúntame.

TE explico en forma general el FOR( puedes ignorarlo si quieres), lo Importante es la línea que te recalco en Negrita

SharpMap.Rendering.Thematics.CustomTheme temaConstr = new SharpMap.Rendering.Thematics.CustomTheme(GetConstruccionesStyle);

y la Función GetConstruccionesStyle por que es la que asigna el estilo según los atributos del ShapeFile, en este caso utilizo la columna ["FEATURE"] y según el valor se asocia un color (theme para mi),
Espero que te sirva y si es así, publica la solución en el foro para los demás

Codigo


SharpMap.Layers.VectorLayer CapaConstrucciones = new SharpMap.Layers.VectorLayer("Construcciones");

SharpMap.Data.Providers.ShapeFile FileConstrucciones = new SharpMap.Data.Providers.ShapeFile(FUN.AccesoKey("RutaShape") + @"Catastro\Constr\RConstr.shp", true);
FileConstrucciones.Open();
SharpMap.Data.FeatureDataSet fdsConstrucciones = new SharpMap.Data.FeatureDataSet();
FileConstrucciones.ExecuteIntersectionQuery(bbxPredio, fdsConstrucciones);
FileConstrucciones.Close();

for (int i = fdsConstrucciones.Tables[0].Rows.Count - 1; i >= 0; i--)
{
System.IO.File.AppendAllText(FUN.AccesoKey("LogErrores"), "Cosntr Array" + fdsConstrucciones.Tables[0].Rows[i].ItemArray.Length + Environment.NewLine);
GisSharpBlog.NetTopologySuite.IO.WKTReader readerClave = new GisSharpBlog.NetTopologySuite.IO.WKTReader();
GeoAPI.Geometries.IGeometry pointClave = readerClave.Read(fdsConstrucciones.Tables[0][i].Geometry.ToString());
if (!pointClave.Within(IPredio))
fdsConstrucciones.Tables[0].Rows.RemoveAt(i);
}

SharpMap.Rendering.Thematics.CustomTheme temaConstr = new SharpMap.Rendering.Thematics.CustomTheme(GetConstruccionesStyle);
CapaConstrucciones.DataSource = new SharpMap.Data.Providers.GeometryFeatureProvider(fdsConstrucciones.Tables[0]);
CapaConstrucciones.Theme = temaConstr;
if (CapaConstrucciones != null)
map.Layers.Add(CapaConstrucciones);





/// <summary>
/// Estilo para las construcciones
/// </summary>
/// <param name="row"></param>
/// <returns></returns>
public static SharpMap.Styles.VectorStyle GetConstruccionesStyle(SharpMap.Data.FeatureDataRow row)
{
SharpMap.Styles.VectorStyle style = new SharpMap.Styles.VectorStyle();

switch (row["FEATURE"].ToString().ToLower())
{
//Codigo Constr. Descubiertas
case "212":
style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.Transparent);
style.Outline = new System.Drawing.Pen(new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(238, 150, 110)), 0.5f);
style.EnableOutline = true;
return style;

//Codigo Constr. Cubiertas
case "900":
style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(40, System.Drawing.Color.FromArgb(190, 140, 69)));
style.Outline = new System.Drawing.Pen(new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(100, System.Drawing.Color.FromArgb(238, 150, 110))), 0.5f);
style.EnableOutline = true;
return style;

default:

break;
}
return style;
}



"carjona" <notifications@codeplex.com>

10/09/2010 00:02

Por favor, responda a
SharpMap@discussions.codeplex.com

Para
wuilmer_penaloza@ieci.es
cc
Asunto
Re: Usuarios SharpMap que hablamos español [SharpMap:9485]





From: carjona

Hola, soy nuevo en este foro. Que bueno es encontrar desarrolladores de Sharpmap en español.

Alguien tiene algun ejemplo para asignar colores a un shapefile de acuerdo a los valores de sus atributos? Cada atributo tiene un color asociado.

Read the full discussion online.

To add a post to this discussion, reply to this email (SharpMap@discussions.codeplex.com)

To start a new discussion for this project, email SharpMap@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com

Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede
contener información confidencial, siendo para uso exclusivo del 
destinatario, quedando prohibida su divulgación copia o  distribución a 
terceros sin la autorización expresa del remitente. Si Vd. ha recibido 
este mensaje erróneamente, se ruega lo  notifique al remitente y 
proceda a su borrado.
Gracias por su colaboración.

This message (including any attachments) may contain confidential 
information. It is intended for use by the recipient only. Any 
dissemination, copying or distribution to third parties without the 
express consent of the sender is strictly prohibited. If you have 
received this message in error, please delete it immediately and 
notify the sender. 
Thank you for your collaboration.
Sep 13, 2010 at 8:13 AM

Hola,

Te envío un ejemplo que te va ayudar mucho es un caso practico que yo estoy utilizando cualquier duda pregúntame.

TE explico en forma general el FOR( puedes ignorarlo si quieres), lo Importante es la línea que te recalco en Negrita

SharpMap.Rendering.Thematics.CustomTheme temaConstr = new SharpMap.Rendering.Thematics.CustomTheme(GetConstruccionesStyle);

y la Función GetConstruccionesStyle por que es la que asigna el estilo según los atributos del ShapeFile, en este caso utilizo la columna ["FEATURE"] y según el valor se asocia un color (theme para mi),
Espero que te sirva y si es así, publica la solución en el foro para los demás

Codigo


SharpMap.Layers.VectorLayer CapaConstrucciones = new SharpMap.Layers.VectorLayer("Construcciones");

SharpMap.Data.Providers.ShapeFile FileConstrucciones = new SharpMap.Data.Providers.ShapeFile(FUN.AccesoKey("RutaShape") + @"Catastro\Constr\RConstr.shp", true);
FileConstrucciones.Open();
SharpMap.Data.FeatureDataSet fdsConstrucciones = new SharpMap.Data.FeatureDataSet();
FileConstrucciones.ExecuteIntersectionQuery(bbxPredio, fdsConstrucciones);
FileConstrucciones.Close();

for (int i = fdsConstrucciones.Tables[0].Rows.Count - 1; i >= 0; i--)
{
System.IO.File.AppendAllText(FUN.AccesoKey("LogErrores"), "Cosntr Array" + fdsConstrucciones.Tables[0].Rows[i].ItemArray.Length + Environment.NewLine);
GisSharpBlog.NetTopologySuite.IO.WKTReader readerClave = new GisSharpBlog.NetTopologySuite.IO.WKTReader();
GeoAPI.Geometries.IGeometry pointClave = readerClave.Read(fdsConstrucciones.Tables[0][i].Geometry.ToString());
if (!pointClave.Within(IPredio))
fdsConstrucciones.Tables[0].Rows.RemoveAt(i);
}

SharpMap.Rendering.Thematics.CustomTheme temaConstr = new SharpMap.Rendering.Thematics.CustomTheme(GetConstruccionesStyle);
CapaConstrucciones.DataSource = new SharpMap.Data.Providers.GeometryFeatureProvider(fdsConstrucciones.Tables[0]);
CapaConstrucciones.Theme = temaConstr;
if (CapaConstrucciones != null)
map.Layers.Add(CapaConstrucciones);





/// <summary>
/// Estilo para las construcciones
/// </summary>
/// <param name="row"></param>
/// <returns></returns>
public static SharpMap.Styles.VectorStyle GetConstruccionesStyle(SharpMap.Data.FeatureDataRow row)
{
SharpMap.Styles.VectorStyle style = new SharpMap.Styles.VectorStyle();

switch (row["FEATURE"].ToString().ToLower())
{
//Codigo Constr. Descubiertas
case "212":
style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.Transparent);
style.Outline = new System.Drawing.Pen(new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(238, 150, 110)), 0.5f);
style.EnableOutline = true;
return style;

//Codigo Constr. Cubiertas
case "900":
style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(40, System.Drawing.Color.FromArgb(190, 140, 69)));
style.Outline = new System.Drawing.Pen(new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(100, System.Drawing.Color.FromArgb(238, 150, 110))), 0.5f);
style.EnableOutline = true;
return style;

default:

break;
}
return style;
}





"forttisoft" <notifications@codeplex.com>

10/09/2010 07:46

Por favor, responda a
SharpMap@discussions.codeplex.com

Para
wuilmer_penaloza@ieci.es
cc
Asunto
Re: Usuarios SharpMap que hablamos español [SharpMap:9485]





From: forttisoft

hola, yo tambien tengo ese problema agradeceremos nos puedan ayudar, asi como tambien si se puede leer el color del pixel con imagenes .gif

Read the full discussion online.

To add a post to this discussion, reply to this email (SharpMap@discussions.codeplex.com)

To start a new discussion for this project, email SharpMap@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com

Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede
contener información confidencial, siendo para uso exclusivo del 
destinatario, quedando prohibida su divulgación copia o  distribución a 
terceros sin la autorización expresa del remitente. Si Vd. ha recibido 
este mensaje erróneamente, se ruega lo  notifique al remitente y 
proceda a su borrado.
Gracias por su colaboración.

This message (including any attachments) may contain confidential 
information. It is intended for use by the recipient only. Any 
dissemination, copying or distribution to third parties without the 
express consent of the sender is strictly prohibited. If you have 
received this message in error, please delete it immediately and 
notify the sender. 
Thank you for your collaboration.
Sep 13, 2010 at 2:33 PM

Muchas gracias Kasin.

Estoy revisandolo el codigo.

Sep 15, 2010 at 3:36 PM

Buenas, otro mas que se apunta

y de paso una consulta a aquellos que llevais tiempo en esto:

Tengo que hacer un proyecto y he visto la posibilidad de usar el control SharpMap, me gustaria que me confirmarais si es posible dibujar iconos, punto, lineas sobre los shape files, asi como seleccionar objetos pintados y la posibilidad que estos objetos muestres un menu contextual y definir el zoom de un area seleccionada en el record mostrado.

la idea esa cargar un .shp y poder usarlo de tapiz para insertar por ejemplo una matriz de radiobuttons como objetos con funcionalidad.

Si alguien ha hecho algo parecido????

saludos,

Sep 15, 2010 at 3:51 PM

Hola xamarsan,

Con SharpMap es posible dibujar icono, puntos y líneas sobre los shape files, Lo de seleccionar un objeto en el visor es un poco mas complicado (hay q modificar el visor), yo hago algo parecido pero manejando la posición X y Y cuando haces click en el visor...... para hacer la selección. Lo que quieres hacer los radio buttons ya seria un poco mas complicado, pero todo es posible

Saludos


"xamarsan" <notifications@codeplex.com>

15/09/2010 17:36

Por favor, responda a
SharpMap@discussions.codeplex.com

Para
wuilmer_penaloza@ieci.es
cc
Asunto
Re: Usuarios SharpMap que hablamos español [SharpMap:9485]





From: xamarsan

Buenas, otro mas que se apunta

y de paso una consulta a aquellos que llevais tiempo en esto:

Tengo que hacer un proyecto y he visto la posibilidad de usar el control SharpMap, me gustaria que me confirmarais si es posible dibujar iconos, punto, lineas sobre los shape files, asi como seleccionar objetos pintados y la posibilidad que estos objetos muestres un menu contextual y definir el zoom de un area seleccionada en el record mostrado.

la idea esa cargar un .shp y poder usarlo de tapiz para insertar por ejemplo una matriz de radiobuttons como objetos con funcionalidad.

Si alguien ha hecho algo parecido????

saludos,

Read the full discussion online.

To add a post to this discussion, reply to this email (SharpMap@discussions.codeplex.com)

To start a new discussion for this project, email SharpMap@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com

Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede
contener información confidencial, siendo para uso exclusivo del 
destinatario, quedando prohibida su divulgación copia o  distribución a 
terceros sin la autorización expresa del remitente. Si Vd. ha recibido 
este mensaje erróneamente, se ruega lo  notifique al remitente y 
proceda a su borrado.
Gracias por su colaboración.

This message (including any attachments) may contain confidential 
information. It is intended for use by the recipient only. Any 
dissemination, copying or distribution to third parties without the 
express consent of the sender is strictly prohibited. If you have 
received this message in error, please delete it immediately and 
notify the sender. 
Thank you for your collaboration.
Sep 15, 2010 at 4:08 PM

Muchas gracias por responder kasin

la verdad es que la idea principal es poder añadir objetos (podria ser un simple punto, o una imagen o un control .net por lo del radiobutton) y a estos objetos poder darles funcionalidad, por ejemplo al pulsar el boton derecho (tipico menu contextual con una serie de acciones).

supongo que el tema de poder definir un area de zoom a partir de un area seleccionada en el shape se podra hacer teniendo en cuenta las coordenadas X, Y del cuadro seleccionado y tomarlas como nuevo origen de coordenadas, o alguna marcianada parecida no?  Por lo que he visto SharpMap solo implememta zoom in y zoom out. verdad?

saludos

Editor
Sep 15, 2010 at 10:18 PM

kasin

muchas gracias por la ayuda !!! te comento que el código adaptado a mi shapefile queda así:

 

   public static SharpMap.Styles.VectorStyle ObtenerEstilo(SharpMap.Data.FeatureDataRow row)
    {
        SharpMap.Styles.VectorStyle style = new SharpMap.Styles.VectorStyle();

        switch (row["UMBRAL"].ToString())
        {
            case "-65":
                style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(0, 128, 255, 128));
                style.Outline = new System.Drawing.Pen(System.Drawing.Color.Black);
                style.EnableOutline = true;
                return style;
            case "-75":
                style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(0, 0, 149, 37));
                style.Outline = new System.Drawing.Pen(System.Drawing.Color.Black);
                style.EnableOutline = true;
                return style;
            case "-85":
                style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(30, 255, 255, 0));
                style.Outline = new System.Drawing.Pen(System.Drawing.Color.Black);
                style.EnableOutline = true;
                return style;
            case "-95":
                style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(255, 255, 150, 45));
                style.Outline = new System.Drawing.Pen(System.Drawing.Color.Orange);
                style.EnableOutline = true;
                return style;
            case "-100":
                style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(255, 255, 0, 0));
                style.Outline = new System.Drawing.Pen(System.Drawing.Color.Red);
                style.EnableOutline = true;
                return style;
            default:
                style.Fill = new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(50, 255, 0, 0));
                style.Outline = new System.Drawing.Pen(System.Drawing.Color.Yellow);
                style.EnableOutline = true;
                break;
        }
        return style;
    }

 

 

 

Una pregunta, no existe otra forma de aplicar un tema al layer que no sea con delegados? Lo que pasa es que de esta forma la definicion de los atributos, sus valores y colores es estático, pero yo quiero enviar como parámetro el nombre del campo a evaluar, los valores y colores asignados, para automatizar la funcion MapHelper.ObtenerEstilo y que funcione de acuerdo a los parametros con cualquier layer que tenga cargado en mi control ajaxMap.

Por cierto el tema de habilitar el evento click desde la primer vez que se carga la página lo solucioné de la siguiente manera:

 protected void Page_Load(object sender, EventArgs e)
    {
        if ((!Page.IsPostBack))
        {   // Para habilitar el evento click cuando el control tiene el foco
            ajaxMap.Attributes.Add("onfocus", "ctl00_cphMapa_WcMapa1_ajaxMapObj.enableClickEvent(); ctl00_cphMapa_WcMapa1_ajaxMapObj.container.style.cursor = 'auto';");
        }
        CargarMapa();
    }

 

 

public void ObtenerEstilo(string nombre_layer)
  public void ObtenerEstilo(string nombre_layer)
    {
        SharpMap.Layers.VectorLayer layer;
        layer = (SharpMap.Layers.VectorLayer) ajaxMap.Map.GetLayerByName(nombre_layer);

        SharpMap.Rendering.Thematics.CustomTheme tema =
            new SharpMap.Rendering.Thematics.CustomTheme(MapHelper.ObtenerEstilo);
        layer.Theme = tema;
    }

 

 

Sep 16, 2010 at 3:21 PM

hola amigos, tengo un problema con postgist,postgres y sharpmap intento le vantar un mapa pero no visualizo nada y ya cree toos los pasos asi como estan en lo ejemplos, y no puedo vializar el mapa; el mapa es de palenque en archivo shape y a la hora de cargar los shape al postgres no marca error deja cargarlos bien pero a la hora que intento ver con sharpmap, no marca error pero no lo puedo visializar, ayuden me. gracias por su ayuda

Editor
Sep 16, 2010 at 3:33 PM

grillo8485, asegurate de utilizar el metodo map.ZoomToExtents();

Sep 17, 2010 at 3:46 PM
hola carjona mira tengo el map.ZoomToExtents(); pero me sigue sin aparecer nada no me visualiza el mapa
el codigo es el siguiente:
HABER SI M E PUEDE A YUDAR LOS ARCHIVOS SON MAPAS DE TIPO MUILTIPOLIGONO

public

 static SharpMap.Map InitializeMapPostGisPALENQUE(System.Drawing.Size size)

 

SharpMap.

Map map = new SharpMap.Map(size);

 

// string connectionString = ConfigurationManager.ConnectionStrings["postgis"].ConnectionString;
 

 

// //Initialize a new map of size 'imagesize'
 

SharpMap.Layers.

VectorLayer myLayer = new SharpMap.Layers.VectorLayer("sector04");

 

string ConnStr = "Server=127.0.0.1;Port=5432;UserId=postgres;Password=geos;Database=template_postgis;";

myLayer.DataSource =

new SharpMap.Data.Providers.PostGIS(ConnStr, "sector04", "geom", "oid");

myLayer.Style.Fill =

new SolidBrush(Color.CornflowerBlue);

myLayer.Style.Outline = System.Drawing.

Pens.Black;

myLayer.Style.EnableOutline =

true;

myLayer.Style.Line.StartCap = System.Drawing.Drawing2D.

LineCap.ArrowAnchor;

myLayer.Style.Line.EndCap = System.Drawing.Drawing2D.

LineCap.Round;

myLayer.MaxVisible = 40000;

 

SharpMap.Layers.

LabelLayer layLabel = new SharpMap.Layers.LabelLayer("Country labels");

layLabel.DataSource = myLayer.DataSource;

layLabel.Enabled =

true;

layLabel.LabelColumn =

"cve_gral";

layLabel.MaxVisible = 90;

layLabel.MinVisible = 30;

layLabel.MultipartGeometryBehaviour = SharpMap.Layers.

LabelLayer.MultipartGeometryBehaviourEnum.Largest;

layLabel.LabelFilter = SharpMap.Rendering.

LabelCollisionDetection.ThoroughCollisionDetection;

layLabel.PriorityColumn =

"mslink";

layLabel.Style =

new SharpMap.Styles.LabelStyle();

layLabel.Style.ForeColor =

Color.White;

layLabel.Style.Font =

new Font(FontFamily.GenericSerif, 12);

layLabel.Style.BackColor =

new System.Drawing.SolidBrush(Color.FromArgb(50, 255, 0, 0));

layLabel.Style.HorizontalAlignment = SharpMap.Styles.

LabelStyle.HorizontalAlignmentEnum.Center;

layLabel.Style.CollisionDetection =

true;

 map.Layers.Add(myLayer);

map.Layers.Add(layLabel);

map.ZoomToExtents();

HttpContext.Current.Trace.Write("Map initialized");

return map;

}

{

 

HttpContext.Current.Trace.Write("Initializing map...");
Sep 22, 2010 at 8:04 PM

Hola a todos yo sigo con mi problema con los gdalrasterlayers en visual basic 2005, necesito ayuda, trate de abrir un archivo jgw, un gfw y siempre me da error

sera que necesito alguna libreria dll o los formatos de los archivos no son correctos.

Sep 23, 2010 at 2:56 PM

edgalo hola mira lo que peudes hacer, es descargar esta clase EcwRasterLayer.cs y luego instalas el ERMapper70 y luego agregas la libreria Interop.ERMAPPERECWLib.dll y esta otra Interop.NCSECWLib.dll y con eso puede le vantar la raste en su formato original que es la raster.ecw chekalo es buena herramienta

Sep 24, 2010 at 10:06 PM

Gracias grillo pero estube buscando el ermapper70 y no es free (o al menos no encontre uno free) lo cual escapa al concepto de lo que estoy haciendo es free. Si tienes algun link u otro tipo de solucion te agradeceria bastante

Sep 25, 2010 at 5:03 PM

hola edgalo mira haciendo pruebas en contre la formade de descargarlas dll de manera free no se como pasarte las dll para que las prueves y ahi te digo como se hace sale dame un correo de preferencia hotmail para que te te agrege y asi poderte pasar las dll y como lo va sh ainstlar son de manera free sale o bien te paso los nombres de las dll sale NCScnet.dll,NCSEcw.dll,NCSEcwC.dll y NCSUtil.dll e3s pakete que contiene todas esa dll parce ser que lodescargue de taringa esas dll sale no re cuedo de donde pero si puedes pasarme tu correo adelante sale y ademas con la siguiente instruccion agregar las dll al componente COM del sistem sale c:\windows\system32\regsvr32.exe "C:\ecw\ncsecw.dll"

chekalo si teienes du da me dices sale mi correo es edcg_85@hotmail.com sale bye

Editor
Sep 27, 2010 at 7:11 PM

Hola a todos los desarrolladores de Sharpmap en español.

Me parece que Sharpmap es una librería increíble, yo soy relativamente nuevo en el desarrollo con esta herramienta y estoy teniendo algunas dificultades debido a mi falta de conocimientos.

Actualmente estoy desarrollando un visor de shapefiles el cual va bastante bien, visualizando cartografía base, agregando/quitando nuevas capas con estilo predefinido y obteniendo las coordenadas del punto donde hago click, pero a la hora de leer información de SQL Server 2008 (tipo de datos Geography) con el SQLServer2008 Provider y querer cargar imágenes raster con el GdalRasterLayer estoy teniendo problemas.

Estoy trabajando con una aplicación web C# .Net 2005 utilizando el componente AjaxMapControl, con la versión Estable 0.9 de Sharpmap: http://sharpmap.codeplex.com/releases/view/34810 (Trunk Debug)

También me descargué la última versión del código fuente http://sharpmap.codeplex.com/SourceControl/list/changesets pero no puedo compilar por que me aparecen 97 errores y 16 warnings, especialmente el en archivo OGCFilter_FE1_1_0.cs que se encuentra en el proyecto Sharpmap (Sharpmap\Utilities\Wfs)

Me parece que no puedo hacer funcionar el SQLServer2008 y GdalRasterLayer por que no tengo una versión actualizada de las dll de Sharpmap, ya que el proveedor de datos no tiene implementada la propiedad Columns (me lanza una excepción NotImplementedException)

Por favor si alguien me puede guiar con este tema, para ver como compilar la ultima versión del código fuente para generar las dll y cómo puedo conseguir la versión 2.0 y cuál de las dos versiones me recomiendan utilizar.

Cualquier colaboración será importante para despejar todas estas dudas. Gracias !!!!

Sep 30, 2010 at 8:32 PM

Hola a todos Necesito un experto en creacion de los GdalRasterLayer  estoy que le doy vueltas y no me sale, me baje librerias, conversores de imagen y siempre me sale error

por eso si alguien tiene ejemplos y la lista de librerias o requisitos que deberia tener mi sistema, le agradeceria enormemente, ojo estoy trabajando con vb.2005

Practicamente este error me esta estancando mi proyecto necesito ayuda urgente.

 

 

Oct 19, 2010 at 12:54 AM

Hola a todos hay alguien de peru (de lima) que sepa algo de los gdalrasterlayer a ver si me puede ayudar

Oct 26, 2010 at 9:36 PM

Hola a todos, se que el foro va desde el 2007, pero la veradd necesito ayuda, por lo menos que alguien me de la punta del ovillo. Yo era experto con VBasic, pero ultimamente me di cuenta que c# esta pisando fuerte, asi que decidi aprender c#, no me parece tan dificil teniendo mis conocimientos de programación.

El primer programa que quiero realizar es un visor de mapas SHP, creados con ArcGIS. estoy utilizando c# 2008 y Sharpmap, pero creo que ya intente casi todo, o existe manual, descargue una especie archivo de ayuda o coompilador (mi ingles no es tan bueno) llamado "DocProject-1110RC" instalable, que supuestamente me carga plantillas, pero el moemnto de ejecutar tengo errores y estoy en la nada.

Alguien me podria facilitar un pedacito de codigo fuente, de un simple visor de Shapes con c#, o por lo menos decirme como utilzar paso a paso SharpMap (donde colocar las librerías, que librerias referenciar, como mostrar un mapa, etc.).

Y en lo posible, a medida que despues vaya aprendiendo, yo personalmente voy a ir realizando tutoriales en español, porque el control me parece muy bueno, solo que no se como utilizarlo.

Dec 23, 2010 at 1:22 AM

Hola a todos de nuevo, quisiera saber si alguien sabe como leer los pixeles en una capa gdalrasterlayer, me interesa leer el color del pixel. Gracias de Antemano y feliz navidad para todos

 

Mar 17, 2011 at 2:44 PM

Hola a toda la comunidad de SharpMap. Soy de Cuba y estoy realizando mi trabajo de Diploma (Trabajo de Tesis) que es realizar un SIG o GIS que utilize esta biblioteca alguien tiene alguna idea de como podría realizarlo... Necesito algun tutorial de como utilizar esta biblioteca como integrarla a VS 2005.. Espero su respuesta.. Saludos y gracias..

Editor
May 5, 2011 at 4:20 PM

Hola Daniel

Cual será el objetivo de tu Tesis? Que tipo de aplicación tenes pensado desarrollar?

Para iniciarte en SharpMap lo primero que tenes que hacer es bajar la última versión del código fuente: http://sharpmap.codeplex.com/SourceControl/list/changesets y compilarla.

La solución por defecto es VS 2010 con la que te recomiendo trabajar y en la misma hay demos para Desktop y Web.

Con relación al tutorial, aca podes encontrar información para iniciarte: http://sharpmap.codeplex.com/wikipage?title=How%20to...&referringTitle=Documentation, lo demás corre por cuenta tuya, ya sea revisando los demos o buscando en este foro de discusión.

Espero que te sea de ayuda.

 

May 7, 2011 at 2:05 AM

Tengo pensado realizar un SIG web utilizando C#, Sharpmap, posgreSQL, Postgis, que realize lo normal zoom ,paneo, centrar, si se puede medir distancia, eso es lo que necesito y necesito que me digas si es mejor utilizar VS2010 o si sigo con VS2005??

Saludos y Gracias..

May 7, 2011 at 2:05 AM

Tengo pensado realizar un SIG web utilizando C#, Sharpmap, posgreSQL, Postgis, que realize lo normal zoom ,paneo, centrar, si se puede medir distancia, eso es lo que necesito y necesito que me digas si es mejor utilizar VS2010 o si sigo con VS2005??

Saludos y Gracias..

Editor
May 9, 2011 at 3:05 PM

Es mejor utilizar VS2010, ya que se tiene planeado remover los proyectos y soluciones de VS2005, VS2008 y solo se dara mantenimiento a la solucion VS2010.

Jul 5, 2011 at 5:14 AM

Me gustaría saber si SharpMap se puede utilizar para Linux o sea trabajar en IDEs de desarrollo como el MonoDevelop con Sharpmap. Y me gustaria saber si es normal como en VS que se le incluye las librerías y ya a trabajar con SharpMap.... Necesito cuanto antes si pueden me expliquen ahh y saber si un proyecto desarrollado en VS lo puedo continuar en dicho IDE de Linux.. Saludos y gracias..

PD: Esta interrogante es para saber como logro lo de multiplataforma utilizando SharpMap... Saludos y gracias....

Jan 17, 2012 at 4:57 PM

Hola  todos, veo que hay muchas personas ya con este tema, y me parece muy interezante.

Yo soy estudiante en la universidad de Lima, y me gustaria llevar un curso donde aprender estos temas tan interezantes,

Mi interes es poder hacer mapas tipos como los de google maps con conexion a a BD, si alguien sabe donde brindan estos cursos, por favor si me puede brindar esta información, estaria muy agradecido.

saludos

Editor
Jan 18, 2012 at 2:15 PM

Hola

No creo que existan cursos para desarrollo con SharpMap. Para introducirte en el tema te aconsejo hacer lo siguuiente:

  1. Dale una mirada a la documentación existente en el sitio: http://sharpmap.codeplex.com/documentation
  2. Descarga la última versión del código fuente http://sharpmap.codeplex.com/SourceControl/list/changesets y compila en la carpeta Trunk en VS 2010.
  3. Revisa el codigo fuente de los proyectos de ejemplo y demos y haz pruebas. (se requiere conocimientos previos en sist. de info geografica y C#)
  4. Puedes hacer preguntas especificas sobre el tema en este sitio de discusión (Crea un nuevo tema de discusión). Para conseguir mas respuestas puedes elaborar tu pregunta en inglés.

Espero que sea de ayuda.

Saludos 

Sep 1, 2012 at 3:54 PM

si estaba revisando la libreria y necesito hacer unas lineas separas

tngo este codigo

while (reader.Read())    

 {       

      Xi = Convert.ToDouble(reader["xi"]);           

      Yi = Convert.ToDouble(reader["xf"]);         

      Xf = Convert.ToDouble(reader["yi"]);         

      Yf = Convert.ToDouble(reader["yf"]);     

          SharpMap.Geometries.Point firstPoint = new SharpMap.Geometries.Point(Xpi, Xpf);   

          verticesNodes.Add(firstPoint);         

          SharpMap.Geometries.Point lastPoint = new SharpMap.Geometries.Point(Ypi,Ypf);  

          verticesNodes.Add(lastPoint);            

   }         

  SharpMap.Geometries.LineString ls = new SharpMap.Geometries.LineString(verticesNodes);   

  SharpMap.Geometries.GeometryCollection gc = new SharpMap.Geometries.GeometryCollection();       

  gc.Collection.Add(ls);       

   SharpMap.Data.Providers.GeometryProvider gp = new SharpMap.Data.Providers.GeometryProvider(gc);     

   SharpMap.Layers.VectorLayer vl = new SharpMap.Layers.VectorLayer("lineLayer");     

   vl.DataSource = gp;     

    MapBox.Map.Layers.Add(vl);

quiero que me haga las lineas separadas, pero termina uniéndolas, como puedo crear lineas separadas en la misma capa a partir de coordenadas?

gracias un saludo

Sep 27, 2013 at 5:25 PM
Hola, queda alguien por aqui? Soy nuevo en esto.
Alguien sabe como compilar sharpmap en VS2010 para poder ejecutar WinFormSamples.
Me sale este error y no tengo ni idea:
Error 1 Package restore is disabled by default. To give consent, open the Visual Studio Options dialog, click on Package Manager node and check 'Allow NuGet to download missing packages during build.' You can also give consent by setting the environment variable 'EnableNuGetPackageRestore' to 'true'.

Además no se por donde están las dll que hace referencia: BruTile.MbTiles Common.logging.Log4Net, NetTopologySuite ....
Nov 11, 2013 at 10:54 PM
hola amigos recién volviendo a la actividad en diseños geoespaciales, quisiera saber si alguien por ahí tiene un ejemplo
de para crear un gis con sharmap en web y visualizar archivos shape. Lo he estado intentando pero no me sale, y como ustedes saben
no hay manuales de esto
Nov 11, 2013 at 10:55 PM
agradecería si pueden mandarme un ejemplo a mi correo: Edgardo.ra@hotmail.com
Aug 27, 2014 at 5:24 PM
Yo he estado trabajando en esto hace como 15 dias y realmente es complicado por que hay que estar a pura prueba y error y esto quita bastante tiempo actualmente trabajo con VB 2013 en asp.net y he logrado conectarme a postgres con postgis y cargar un par de capas vectoriales de mis archivos Shp, tengo agregado mi servicio espacial con google maps pero aun no logro integarlos en una sola ventana tampoco he podido mostrar en la capa vectorial atributos de mi parecer a cual quiera que este interesado yo podria pasarle el proyecto pero me gustaria que tambien trabajando en el me puedan ayudar y aportar su conocimiento ya que entre mas personas trabajemos creo que seria mas facil desarrollar para todo algo interesante que podamos al final compartir y personalizar.....

este es mi correo por si tienen interes.
alontriany@gmail.com
Jan 7, 2015 at 9:29 PM
Ola disculpen algien q me pueda brindad un ejemplo de como visualisar un mapa echo en sql con datos geometry visualizarlo en c#