<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>El Blog GIS de Víctor Velarde</title>
	<atom:link href="http://victorvelarde.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://victorvelarde.wordpress.com</link>
	<description>Geoprogramación desde Cantabria</description>
	<lastBuildDate>Sun, 01 Jan 2012 20:50:10 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='victorvelarde.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>El Blog GIS de Víctor Velarde</title>
		<link>http://victorvelarde.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://victorvelarde.wordpress.com/osd.xml" title="El Blog GIS de Víctor Velarde" />
	<atom:link rel='hub' href='http://victorvelarde.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Aplicaciones geográficas web móviles</title>
		<link>http://victorvelarde.wordpress.com/2011/12/04/aplicaciones-geograficas-web-moviles/</link>
		<comments>http://victorvelarde.wordpress.com/2011/12/04/aplicaciones-geograficas-web-moviles/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 19:41:55 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[geoinquietos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/?p=280</guid>
		<description><![CDATA[Este es un tema que considero de gran interés y futuro: el desarrollo de aplicaciones web teniendo en mente los nuevos dispositivos móviles, tales como smartphones y tablets (iphones, teléfonos android, ipads, etc.). Frente al desarrollo en entornos nativos (p.ej. con Java y eclipse para android), la programación web estándar (HTML, Javascript y CSS + <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=280&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Este es un tema que considero de gran interés y futuro: el desarrollo de aplicaciones web teniendo en mente los nuevos <strong>dispositivos móviles</strong>, tales como smartphones y tablets (iphones, teléfonos android, ipads, etc.).</p>
<p>Frente al desarrollo en entornos nativos (p.ej. con Java y eclipse para android), la programación web estándar (HTML, Javascript y CSS + un lenguaje de servidor como ASP o PHP) puede resultar una opción muy interesante.</p>
<p>Sobre la base de estas herramientas habituales de programación web están apareciendo varios complementos para el desarrollo móvil, sobre todo en forma de librerías javascript. De ellas, las dos que me parecen más reseñables son <strong>Sencha Touch</strong> [1] y <strong>jQuery Mobile</strong> [2]. </p>
<p>Personalmente, dada la expansión de su hermana mayor jQuery, creo que la segunda es una opción que merece la pena probar.</p>
<p>Las capacidades de su API pueden estudiarse en la página oficial y varios ejemplos reales de su uso se pueden ver en la <strong>jqmgallery</strong> [3]. </p>
<p>Además, existe una buena capacidad de integración entre jquery mobile y OpenLayers en su última versión, como puede verse p.ej. en este <strong>enlace</strong> [4]. Esta es una gran combinación para realizar aplicaciones geográficas web móviles.</p>
<p>Recientemente hablamos de este tema en <strong>geoinquietos Cantabria</strong> [5]. Esta fue la presentación:</p>
<div style="width:425px;" id="__ss_9934841"> <strong><a href="http://www.slideshare.net/VictorVelarde/geoinquietos-la-web-movil-est-aqu" title="Geoinquietos: La web movil está aquí..." target="_blank">Geoinquietos: La web movil está aquí&#8230;</a></strong> <iframe src='http://www.slideshare.net/slideshow/embed_code/9934841' width='425' height='348' scrolling='no'></iframe>
<div style="padding:5px 0 12px;"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/VictorVelarde" target="_blank">Víctor Velarde</a> </div>
</p></div>
<p>Si no conoces la iniciativa geoinquietos, infórmate en <strong>osgeo</strong> [6] y busca tu grupo más cercano.</p>
<p>Saludos a todos.</p>
<p>Enlaces:<br />
[1] Sencha Touch: <a href="http://www.sencha.com/products/touch/" title="http://www.sencha.com/products/touch/" target="_blank">http://www.sencha.com/products/touch/</a><br />
[2] jQuery Mobile: <a href="http://jquerymobile.com/" title="http://jquerymobile.com/" target="_blank">http://jquerymobile.com/</a><br />
[3] jqmGallery: <a href="http://www.jqmgallery.com/" title="http://www.jqmgallery.com/" target="_blank">http://www.jqmgallery.com/</a><br />
[4] Ejemplo de visor OpenLayers con jquerymobile: <a href="http://openlayers.org/dev/examples/mobile-jq.html#mappage" title="http://openlayers.org/dev/examples/mobile-jq.html#mappage" target="_blank">http://openlayers.org/dev/examples/mobile-jq.html#mappage</a><br />
[5] Geoinquietos Cantabria: <a href="http://wiki.osgeo.org/wiki/Geoinquietos_Cantabria" title="http://wiki.osgeo.org/wiki/Geoinquietos_Cantabria" target="_blank">http://wiki.osgeo.org/wiki/Geoinquietos_Cantabria</a><br />
[6] Capitulo local osgeo: <a href="http://wiki.osgeo.org/wiki/Cap%C3%ADtulo_Local_de_la_comunidad_hispano-hablante" title="http://wiki.osgeo.org/wiki/Cap%C3%ADtulo_Local_de_la_comunidad_hispano-hablante" target="_blank">http://wiki.osgeo.org/wiki/Cap%C3%ADtulo_Local_de_la_comunidad_hispano-hablante</a></p>
<br />Filed under: <a href='http://victorvelarde.wordpress.com/category/gis/'>GIS</a>, <a href='http://victorvelarde.wordpress.com/category/javascript/'>Javascript</a> Tagged: <a href='http://victorvelarde.wordpress.com/tag/geoinquietos/'>geoinquietos</a>, <a href='http://victorvelarde.wordpress.com/tag/jquery/'>jquery</a>, <a href='http://victorvelarde.wordpress.com/tag/mobile/'>mobile</a>, <a href='http://victorvelarde.wordpress.com/tag/web/'>web</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/280/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/280/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/280/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=280&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2011/12/04/aplicaciones-geograficas-web-moviles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenLayers y pestañas con jQuery</title>
		<link>http://victorvelarde.wordpress.com/2011/04/21/openlayers-y-pestanas-de-jquery/</link>
		<comments>http://victorvelarde.wordpress.com/2011/04/21/openlayers-y-pestanas-de-jquery/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 18:31:26 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jqueryui]]></category>
		<category><![CDATA[openlayers]]></category>
		<category><![CDATA[popup]]></category>
		<category><![CDATA[tabs]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/?p=200</guid>
		<description><![CDATA[En este artículo vamos a ver cómo incluir pestañas de jquery (jqueryui tabs) dentro de un popup de OpenLayers. Si queréis ver el resultado podéis ir directamente al enlace de jsfiddle [1].  jQuery [2]  se ha convertido en la librería por antonomasia para extender el javascript estándar en las páginas web modernas. Si desarrollas para la web, tienes <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=200&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">En este artículo vamos a ver cómo incluir pestañas de jquery (<em>jqueryui tabs</em>) dentro de un popup de OpenLayers. Si queréis ver el resultado podéis ir directamente al enlace de <strong>jsfiddle</strong> [1].<a href="http://jsfiddle.net/VictorVelarde/DbCgt/"><img class="alignnone size-full wp-image-248" title="jqueryTabs en OpenLayers" src="http://victorvelarde.files.wordpress.com/2011/04/jquerytabsenopenlayers.png?w=510" alt=""   /></a></div>
<div> <strong>jQuery</strong> [2]  se ha convertido en la librería por antonomasia para extender el javascript estándar en las páginas web modernas. Si desarrollas para la web, tienes que conocerla. Pero&#8230; <em>¿cómo trabajar con jQuery + OpenLayers?</em></div>
<div id="_mcePaste">
<ol>
<li>Hay algunos intentos de desarrollar un plugin para jQuery que permita trabajar con OpenLayers, como <strong>MapQuery </strong>[3], que antes se denominaba GeoJQuery. El proyecto lleva poco tiempo, pero habrá que seguir sus pasos; quizá pronto sea una alternativa a GeoExt [4].</li>
<li>Mientras tanto es más frecuente que tengamos en marcha un proyecto con OpenLayers y queramos utilizar puntualmente jQuery, especialmente algún componente visual o widget de <strong>jqueryui</strong>, como las pestañas (<em>tabs</em>) o un acordeón (<em>accordion</em>) [5].</li>
</ol>
</div>
<div id="_mcePaste">
<p>Vamos a ver cómo hacer en el caso 2, con un ejemplo sencillo.</p>
<p>a) Creamos el html básico para soportar el mapa, con las importaciones de librerías javacript y css necesarias. Hemos dejado un script vacío, que es donde iremos introduciendo el código.</p>
<p><pre class="brush: xml; wrap-lines: false;">
&lt;html&gt;
    &lt;head&gt;
        &lt;script src=&quot;http://www.openlayers.org/api/OpenLayers.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
        &lt;link href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;/&gt;
        &lt;title&gt;Pestañas de jQuery en OpenLayers&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id=&quot;mapa&quot; style=&quot;width:512px; height:512px&quot;&gt;&lt;/div&gt;
        &lt;script type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</pre></p>
<p>b) Primero añadimos la función que generará el contenido html del popup. Éste debe seguir los convenios de estructura establecidos por jqueryui. Lo más importante son los &#8216;li&#8217; y que los enlaces apunten al mismo id que tengan los &#8216;div&#8217; posteriores.</p>
<p><pre class="brush: jscript; wrap-lines: false;">
// Html del popup con pestañas de jquery
function prepararFicha(ciudad) {
    var div = $(&quot;&lt;div&gt;&quot;);
    var contenido = $(&quot;&lt;div id='popupConTabs' style='font-size:9px;'&gt;&quot;);
    var titulos = $(&quot;&lt;ul&gt;&quot; +
                        &quot;&lt;li&gt;&lt;a href='#tab-1'&gt;Atributos&lt;/a&gt;&lt;/li&gt;&quot; +
                        &quot;&lt;li&gt;&lt;a href='#tab-2'&gt;Wikipedia&lt;/a&gt;&lt;/li&gt;&quot; +
                    &quot;&lt;/ul&gt;&quot;);
    contenido.append(titulos);

    // Pestaña 1
    var p1 = $(&quot;&lt;div id='tab-1'&gt;&quot;);
    p1.append($(&quot;&lt;p&gt;&quot; +
                    &quot;&lt;b&gt;Nombre&lt;/b&gt;: &quot; + ciudad.attributes.Nombre + &quot;&lt;br/&gt;&quot; +
                    &quot;&lt;b&gt;Habs.&lt;/b&gt;: &quot; + ciudad.attributes.Habitantes +
                &quot;&lt;/p&gt;&quot;));
    contenido.append(p1);

    // Pestaña 2
    var p2 = $(&quot;&lt;div id='tab-2'&gt;&quot;);
    p2.append($(&quot;&lt;p&gt;&lt;a href='&quot; + ciudad.attributes.Wikipedia + &quot;'&gt;Wikipedia&lt;/b&gt;&lt;/p&gt;&quot;));
    contenido.append(p2);

    div.append(contenido);
    return div.html();
}
</pre></p>
<p><span class="Apple-style-span" style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size:13px;line-height:19px;white-space:normal;">c) Lo siguiente  es la creación usual de un mapa, una capa vectorial con un solo registro y el control de selección. Nada particular.</span></p>
<p><pre class="brush: jscript; wrap-lines: false;">
// Creación del mapa y encuadre inicial
var WGS84 = new OpenLayers.Projection('EPSG:4326');
var MERCATOR = new OpenLayers.Projection('EPSG:900913');
var peninsula = new OpenLayers.Bounds(-18.0, 26.0, 6.0, 44.0).transform(WGS84, MERCATOR);
var mapa = new OpenLayers.Map(&quot;mapa&quot;);
mapa.addLayer(new OpenLayers.Layer.OSM());
mapa.zoomToExtent(peninsula);

// Creación de una capa vectorial con 1 registro puntual
var ciudades = new OpenLayers.Layer.Vector(&quot;Ciudades&quot;);
mapa.addLayer(ciudades);
var geometria = new OpenLayers.Geometry.Point(-3.8, 43.46).transform(WGS84, MERCATOR);
var atributos = {
    Nombre: 'Santander',
    Habitantes: 181589,
    Wikipedia: 'http://es.wikipedia.org/wiki/Santander_(Espa%C3%B1a)'
};
var santander = new OpenLayers.Feature.Vector(geometria, atributos);
ciudades.addFeatures([santander]);

// Creación del control de selección
var controlSeleccion = new OpenLayers.Control.SelectFeature(ciudades);
mapa.addControl(controlSeleccion);
controlSeleccion.activate();
</pre></p>
</div>
<p>d) Finalmente, la siguiente porción de código es la que establece las funciones manejadoras de eventos para crear el popup. En la función se produce la llamada clave al constructor &#8216;tabs&#8217;, para dotar del aspecto y funcionalidad deseados al html del popup.</p>
<p><pre class="brush: jscript; wrap-lines: false;">
// Mostrar el popup al seleccionar la ciudad
var popup;
ciudades.events.on({
    &quot;featureselected&quot;: function(e) {
        var ciudad = e.feature;
        var html = prepararFicha(ciudad);
        popup = new OpenLayers.Popup.FramedCloud(
            &quot;Info ciudad&quot;,
            ciudad.geometry.getBounds().getCenterLonLat(),
            null, html, null, true, function() {
                controlSeleccion.unselect(ciudad);
        });
        popup.minSize = new OpenLayers.Size(300, 100);
        ciudad.popup = popup;
        mapa.addPopup(popup);
        $(&quot;#popupConTabs&quot;).tabs(); /* &lt;&lt; Creacion de Tabs */
    },
    &quot;featureunselected&quot;: function(e) {
        var ciudad = e.feature;
        mapa.removePopup(ciudad.popup);
        ciudad.popup.destroy();
        ciudad.popup = null;
    }
});

</pre></p>
<p>Referencias:</p>
<p>[1] El código de este post en funcionamiento: <a href="http://jsfiddle.net/VictorVelarde/DbCgt/">http://jsfiddle.net/VictorVelarde/DbCgt/</a></p>
<p>[2] Librería jquery: <a href="http://jquery.com/">http://jquery.com/</a></p>
<p>[3] Ejemplo de uso de MapQuery: <a href="http://blog.spaziogis.it/static/jquerymap/">http://blog.spaziogis.it/static/jquerymap/</a></p>
<p>[4] Proyecto GeoExt (OpenLayers + ExtJS): <a href="http://www.geoext.org/">http://www.geoext.org/</a></p>
<p>[5] El control de pestañas de jqueryui: <a href="http://jqueryui.com/demos/tabs/">http://jqueryui.com/demos/tabs/</a></p>
<p>[6] Uso de jqueryui slider con OpenLayers: <a href="http://workshops.opengeo.org/openlayers-intro/integration/jqui-slider.html">http://workshops.opengeo.org/openlayers-intro/integration/jqui-slider.html</a></p>
<br />Filed under: <a href='http://victorvelarde.wordpress.com/category/gis/'>GIS</a>, <a href='http://victorvelarde.wordpress.com/category/javascript/'>Javascript</a> Tagged: <a href='http://victorvelarde.wordpress.com/tag/jquery/'>jquery</a>, <a href='http://victorvelarde.wordpress.com/tag/jqueryui/'>jqueryui</a>, <a href='http://victorvelarde.wordpress.com/tag/openlayers/'>openlayers</a>, <a href='http://victorvelarde.wordpress.com/tag/popup/'>popup</a>, <a href='http://victorvelarde.wordpress.com/tag/tabs/'>tabs</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=200&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2011/04/21/openlayers-y-pestanas-de-jquery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>

		<media:content url="http://victorvelarde.files.wordpress.com/2011/04/jquerytabsenopenlayers.png" medium="image">
			<media:title type="html">jqueryTabs en OpenLayers</media:title>
		</media:content>
	</item>
		<item>
		<title>Menu contextual sobre mapa &#8211; API Javascript ESRI</title>
		<link>http://victorvelarde.wordpress.com/2011/02/08/menu-contextual-mapa-api-javascript-arcgis-server/</link>
		<comments>http://victorvelarde.wordpress.com/2011/02/08/menu-contextual-mapa-api-javascript-arcgis-server/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 11:34:39 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[Esri]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[arcgisserver]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[popup]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/?p=95</guid>
		<description><![CDATA[Lo siguiente es una pequeña guía de algo que me parece muy útil: generar un menu contextual asociado al botón derecho cuando estás sobre el mapa. Al margen de tener la típica barra superior de herramientas, con este tipo de menú podremos tener más a mano cualquier acción invocable desde javascript que nos interese, como <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=95&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lo siguiente es una pequeña guía de algo que me parece muy útil: generar un menu contextual asociado al botón derecho cuando estás sobre el mapa. Al margen de tener la típica barra superior de herramientas, con este tipo de menú podremos tener más a mano cualquier acción invocable desde javascript que nos interese, como p.ej. hacer zoom más en un punto o recoger las coordenadas del clic y usarlas para otra acción como p.ej. un geocoding.</p>
<p>El resultado final sería algo como:<br />
<a href="#"><img src="http://victorvelarde.files.wordpress.com/2011/01/menumapa.png?w=510" alt="Menu sobre Mapa con botón derecho" title="Menu sobre Mapa"   class="alignnone size-full wp-image-134" /></a></p>
<p>Para el menu vamos a usar la librería de Javascript dojo y el mapa estará realizado con el API de ESRI para Javascript [1].</p>
<p>Tomaremos como base un ejemplo de ESRI para mostrar un mapa topográfico [2]. Y ahora a ese codigo vamos a añadirle la funcionalidad del menu emergente. </p>
<p>Para ello:<br />
a) Importamos el control de dojo para el menu.</p>
<p><pre class="brush: jscript; wrap-lines: false;">
      dojo.require(&quot;dijit.Menu&quot;);
</pre></p>
<p>b) añadimos al HTML de la pagina el código de marcado del diálogo (también se podría crear al vuelo con javascript). Los atributos son importantes para vincularlo correctamente al mapa y cada entrada del menu tiene asociada la función de javascript que queramos:</p>
<p><pre class="brush: xml; wrap-lines: false;">
&lt;div dojotype=&quot;dijit.Menu&quot; id=&quot;menu&quot; contextmenuforwindow=&quot;false&quot; style=&quot;display: none;&quot; targetnodeids=&quot;map&quot;&gt;
    &lt;div dojotype=&quot;dijit.MenuItem&quot; onclick=&quot;Foo();&quot;&gt;Foo&lt;/div&gt;
    &lt;div dojotype=&quot;dijit.MenuSeparator&quot;&gt;&lt;/div&gt;
    &lt;div dojotype=&quot;dijit.MenuItem&quot; onclick=&quot;Bar();&quot;&gt;Bar&lt;/div&gt;
&lt;/div&gt; 
</pre></p>
<p>c) Y finalmente la captura del evento &#8216;clic botón derecho&#8217; y el guardado del punto del mapa. De manera automática y justo a continuación de la gestion del evento, dojo se encargará de mostrar el menu emergente y ya podremos usar en nuestras funciones el último valor de la variable <em>lastPoint</em>.</p>
<p><pre class="brush: jscript; wrap-lines: false;">
dojo.connect(map, 'onMouseDown', this, function(evt){
            if(evt.button !== 2) return; // only right button
            lastPoint = evt.mapPoint;
        });
</pre></p>
<p>El código completo sería algo como:<br />
<pre class="brush: xml; wrap-lines: false;">
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;
    &lt;title&gt; Topographic Map&lt;/title&gt;
    &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css&quot;&gt;
    &lt;style&gt;
      html, body { height: 100%; width: 100%; margin: 0; padding: 0; }
    &lt;/style&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;var djConfig = {parseOnLoad: true};&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6&quot;&gt;&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
      dojo.require(&quot;dijit.layout.BorderContainer&quot;);
      dojo.require(&quot;dijit.layout.ContentPane&quot;);
      dojo.require(&quot;esri.map&quot;);
      dojo.require(&quot;dijit.Menu&quot;);

      var map;
      var lastPoint;

      function Foo(){
           alert(&quot;x: &quot; + lastPoint.x + &quot; y: &quot; + lastPoint.y);
      }
      function Bar(){
           alert('Bar');       
      }

      function init() {
        var initExtent = new esri.geometry.Extent({&quot;xmin&quot;:-13635568,&quot;ymin&quot;:4541606,&quot;xmax&quot;:-13625430,&quot;ymax&quot;:4547310,&quot;spatialReference&quot;:{&quot;wkid&quot;:102100}});
        map = new esri.Map(&quot;map&quot;,{extent:initExtent}); 
        var basemap = new esri.layers.ArcGISTiledMapServiceLayer(&quot;http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer&quot;);
        map.addLayer(basemap);
       
        var resizeTimer;
        dojo.connect(map, 'onLoad', function(theMap) {
          dojo.connect(dijit.byId('map'), 'resize', function() {  //resize the map if the div is resized
            clearTimeout(resizeTimer);
            resizeTimer = setTimeout( function() {
              map.resize();
              map.reposition();
            }, 500);
          });
        });

        dojo.connect(map, 'onMouseDown', this, function(evt){
            if(evt.button !== 2) return; // only right button
            lastPoint = evt.mapPoint;
        });
      }

      dojo.addOnLoad(init);
    &lt;/script&gt;
  &lt;/head&gt;
  
  &lt;body class=&quot;tundra&quot;&gt;
    &lt;div dojotype=&quot;dijit.layout.BorderContainer&quot; design=&quot;headline&quot; gutters=&quot;false&quot; style=&quot;width: 100%; height: 100%; margin: 0;&quot;&gt;
        &lt;div id=&quot;map&quot; dojotype=&quot;dijit.layout.ContentPane&quot; region=&quot;center&quot; style=&quot;overflow:hidden;&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;
        &lt;!-- Right-button menu --&gt;
        &lt;div dojotype=&quot;dijit.Menu&quot; id=&quot;menu&quot; contextmenuforwindow=&quot;false&quot; style=&quot;display: none;&quot; targetnodeids=&quot;map&quot;&gt;
            &lt;div dojotype=&quot;dijit.MenuItem&quot; onclick=&quot;Foo();&quot;&gt;Foo&lt;/div&gt; 
            &lt;div dojotype=&quot;dijit.MenuSeparator&quot;&gt;&lt;/div&gt; 
            &lt;div dojotype=&quot;dijit.MenuItem&quot; onclick=&quot;Bar();&quot;&gt;Bar&lt;/div&gt; 
        &lt;/div&gt; 
  &lt;/body&gt;

&lt;/html&gt;
</pre></p>
<p>La última versión del API para JS disponible con la que lo hemos probado es la v2.1 pero no debería ser un problema usar el código en otras versiones.</p>
<p>Enlaces:</p>
<p>[1] <a href="http://help.arcgis.com/EN/webapi/javascript/arcgis/index.html">API ESRI de Javascript</a></p>
<p>[2] <a href="http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/demos/map/map_topo.html">Ejemplo de mapa con api js de Esri</a></p>
<br />Filed under: <a href='http://victorvelarde.wordpress.com/category/esri/'>Esri</a>, <a href='http://victorvelarde.wordpress.com/category/javascript/'>Javascript</a> Tagged: <a href='http://victorvelarde.wordpress.com/tag/arcgisserver/'>arcgisserver</a>, <a href='http://victorvelarde.wordpress.com/tag/dojo/'>dojo</a>, <a href='http://victorvelarde.wordpress.com/tag/menu/'>menu</a>, <a href='http://victorvelarde.wordpress.com/tag/popup/'>popup</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=95&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2011/02/08/menu-contextual-mapa-api-javascript-arcgis-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>

		<media:content url="http://victorvelarde.files.wordpress.com/2011/01/menumapa.png" medium="image">
			<media:title type="html">Menu sobre Mapa</media:title>
		</media:content>
	</item>
		<item>
		<title>Material de introducción a OpenLayers</title>
		<link>http://victorvelarde.wordpress.com/2011/01/31/material-de-introduccion-a-openlayers/</link>
		<comments>http://victorvelarde.wordpress.com/2011/01/31/material-de-introduccion-a-openlayers/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 14:36:36 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[curso]]></category>
		<category><![CDATA[openlayers]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/?p=142</guid>
		<description><![CDATA[Recientemente he tenido el placer de participar como profesor dentro de la primera edición del curso Experto en Desarrollo y Gestión de Sistemas de Información Geográfica de la Universidad de Cantabria. El módulo que impartí era una introducción rápida a OpenLayers. La mayoría de los alumnos eran geógrafos, pero también había biólogos, historiadores, sociólogos&#8230; sin <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=142&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recientemente he tenido el placer de participar como profesor dentro de la primera edición del curso <a href="http://www.unican.es/NR/rdonlyres/9F06DA8F-9929-4FE5-8D92-E78EFA15518A/57934/TRIPTICO_CURSOEXPERTODGSIG_2010A2011.pdf">Experto en Desarrollo y Gestión de Sistemas de Información Geográfica</a> de la Universidad de Cantabria.</p>
<p>El módulo que impartí era una introducción rápida a <strong>OpenLayers</strong>. La mayoría de los alumnos eran geógrafos, pero también había biólogos, historiadores, sociólogos&#8230; sin una base previa de programación pero con interés en aprender.</p>
<p><a href="http://victorvelarde.files.wordpress.com/2011/01/openlayers.png"><img src="http://victorvelarde.files.wordpress.com/2011/01/openlayers.png?w=510" alt="OpenLayers" title="OpenLayers"   class="alignnone size-full wp-image-153" /></a></p>
<p>Cuelgo a continuación el documento de apuntes que se les entregó a los alumnos para apoyar y complementar los ejercicios prácticos hechos en clase. </p>
<p><a href='http://victorvelarde.files.wordpress.com/2011/01/curso-openlayers-victorvelarde.pdf'>Apuntes &#8216;Curso OpenLayers&#8217;</a></p>
<p>El documento pretende recoger los fundamentos básicos útiles (sobre neogeografía, mashups, html, javascript&#8230;) para que una persona sin conocimientos previos de programación se sienta cómoda al empezar a trabajar con OpenLayers.</p>
<p>Saludos y que sea útil.</p>
<br />Filed under: <a href='http://victorvelarde.wordpress.com/category/gis/'>GIS</a>, <a href='http://victorvelarde.wordpress.com/category/opensource/'>OpenSource</a> Tagged: <a href='http://victorvelarde.wordpress.com/tag/curso/'>curso</a>, <a href='http://victorvelarde.wordpress.com/tag/openlayers/'>openlayers</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/142/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=142&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2011/01/31/material-de-introduccion-a-openlayers/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>

		<media:content url="http://victorvelarde.files.wordpress.com/2011/01/openlayers.png" medium="image">
			<media:title type="html">OpenLayers</media:title>
		</media:content>
	</item>
		<item>
		<title>Convertir rasters de un directorio a otro formato con gdal</title>
		<link>http://victorvelarde.wordpress.com/2010/05/10/convertir-rasters-de-un-directorio-a-otro-formato-con-gdal/</link>
		<comments>http://victorvelarde.wordpress.com/2010/05/10/convertir-rasters-de-un-directorio-a-otro-formato-con-gdal/#comments</comments>
		<pubDate>Mon, 10 May 2010 18:39:17 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[gdal]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[raster]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/?p=79</guid>
		<description><![CDATA[Script sencillito pero práctico, para convertir todos los ficheros raster de un directorio a otro formato raster (dentro de los soportados por gdal) Teniendo acceso desde línea de comandos a la utilidad gdal_translate (distribuida p.ej. en FWTools), podemos convertir todos los ficheros .ecw de una carpeta a formato .tif, mediante el siguiente código en Python: <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=79&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://victorvelarde.files.wordpress.com/2010/05/gdal.png"><img class="alignleft size-thumbnail wp-image-80" title="gdal" src="http://victorvelarde.files.wordpress.com/2010/05/gdal.png?w=135&#038;h=150" alt="" width="135" height="150" /></a>Script sencillito pero práctico, para convertir todos los ficheros raster de un directorio a otro formato raster (dentro de los soportados por <a href="http://www.gdal.org/">gdal</a>)</p>
<p>Teniendo acceso desde línea de comandos a la utilidad <strong>gdal_translate</strong> (distribuida p.ej. en FWTools), podemos convertir todos los ficheros .ecw de una carpeta a formato .tif, mediante el siguiente código en Python:</p>
<p><pre class="brush: python; wrap-lines: false;">
import os, sys
directorioActual = os.getcwd()
directorioSalida = os.path.join(directorioActual, &quot;resultados&quot;)

for root, dirs, files in os.walk(directorioActual):
    for fichero in files:
        (nombreFichero, extension) = os.path.splitext(fichero)
        if(extension == &quot;.ecw&quot;):
            comando = &quot;gdal_translate %s %s\\%s&quot; %(fichero, directorioSalida, nombreFichero + &quot;.tif&quot;)
            print comando
            os.system(comando)
</pre></p>
<p>Copiamos el código a un fichero llamado p.ej. &#8216;ejecutar.py&#8217; dentro de la carpeta que nos interese, creamos una carpeta dentro para los ficheros transformados (&#8216;resultados&#8217;) y ejecutamos&#8230; Más fácil imposible.</p>
<p>Se pueden introducir fácilmente otras variantes, p.ej. con otros formatos de raster, viendo las opciones disponibles en la herramienta <a href="http://www.gdal.org/gdal_translate.html">gdal_translate</a></p>
<p>EDIT: Editado para añadir mejoras de WordPress al código fuente</p>
<br />Filed under: <a href='http://victorvelarde.wordpress.com/category/gis/'>GIS</a> Tagged: <a href='http://victorvelarde.wordpress.com/tag/gdal/'>gdal</a>, <a href='http://victorvelarde.wordpress.com/tag/python/'>python</a>, <a href='http://victorvelarde.wordpress.com/tag/raster/'>raster</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=79&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2010/05/10/convertir-rasters-de-un-directorio-a-otro-formato-con-gdal/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>

		<media:content url="http://victorvelarde.files.wordpress.com/2010/05/gdal.png?w=135" medium="image">
			<media:title type="html">gdal</media:title>
		</media:content>
	</item>
		<item>
		<title>Geoproceso interactivo / geoproceso en batch</title>
		<link>http://victorvelarde.wordpress.com/2009/12/29/geoproceso-interactivo-geoproceso-en-batch/</link>
		<comments>http://victorvelarde.wordpress.com/2009/12/29/geoproceso-interactivo-geoproceso-en-batch/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 15:41:57 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[Esri]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[geoprocesos]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/?p=45</guid>
		<description><![CDATA[En ocasiones, con geoprocesos que tienen como parámetro de entrada entidades vectoriales, es interesante que podamos ejecutarlos de dos modos: (1) de manera interactiva (dibujando nosotros las geometrías) o (2) suministrando una capa ya existente que tenga las entidades  (p.ej. un shapefile). Dentro del entorno de geoprocesos de ESRI, esto se corresponde con la definición <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=45&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://victorvelarde.files.wordpress.com/2009/12/esrigp.gif"><img class="alignleft size-medium wp-image-48" title="Geoprocesos ESRI" src="http://victorvelarde.files.wordpress.com/2009/12/esrigp.gif?w=250&#038;h=300" alt="Geoprocesos ESRI" width="250" height="300" /></a>En ocasiones, con geoprocesos que tienen como parámetro de entrada entidades vectoriales, es interesante que podamos ejecutarlos de dos modos:</p>
<p>(1) de manera interactiva (dibujando nosotros las geometrías) o<br />
(2) suministrando una capa ya existente que tenga las entidades  (p.ej. un shapefile).</p>
<p>Dentro del entorno de geoprocesos de ESRI, esto se corresponde con la definición de un parámetro de tipo <strong>FeatureSet</strong> (1) y un parámetro como <strong>FeatureLayer</strong> (2), respectivamente.</p>
<p>[Esto en la versión 9.3 de ArcGIS Desktop viene incorporado 'de serie', así que no hay problema. Lo que se comenta a continuación en este post es aplicable solo para la versión <b>9.2</b>]</p>
<p>Una manera sencilla de que el mismo script pueda trabajar con los dos modos es como se muestra a continuación:</p>
<pre>
gp = arcgisscripting.create()
gp.overwriteoutput = 1
if gp.ScratchWorkspace is None:
    gp.ScratchWorkspace = gp.GetSystemEnvironment("TEMP")
# Parametros de entrada.........
fs = gp.GetParameter(0)   # (1) FeatureSet [opcional]
fLayer = gp.GetParameter(1)   #(2) FeatureLayer [opcional]
# Detección del MODO DE USO
if (str(fLayer).strip() != ""):
    gp.AddMessage("Trabajando con modo batch...")
else:
    gp.AddMessage("Trabajando con modo interactivo...")
    #Adaptación del FeatureSet a Feature Layer
    tmp = str(int(math.ceil(random.random()*1000000)))
    fLayer = "%s\\%s.shp" %(gp.ScratchWorkspace, tmp)
    fs.Save(fLayer)
# A partir de aquí, el tratamiento puede ser igual
registros = gp.SearchCursor(fLayer)
registro = registros.Next()
while registro:
    # tratamiento del registro [...]
    registro = registros.Next()
</pre>
<p>En la línea tmp = &#8230; también puede usarse gp.CreateScratchName.<br />
Que sea útil.</p>
<br />Posted in Esri, GIS Tagged: geoprocesos, python <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=45&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2009/12/29/geoproceso-interactivo-geoproceso-en-batch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>

		<media:content url="http://victorvelarde.files.wordpress.com/2009/12/esrigp.gif?w=250" medium="image">
			<media:title type="html">Geoprocesos ESRI</media:title>
		</media:content>
	</item>
		<item>
		<title>Descarga de ficheros desde Web Coverage Service (WCS)</title>
		<link>http://victorvelarde.wordpress.com/2009/11/09/descarga-de-ficheros-desde-web-coverage-service-wcs/</link>
		<comments>http://victorvelarde.wordpress.com/2009/11/09/descarga-de-ficheros-desde-web-coverage-service-wcs/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 19:50:14 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[ogc]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[wcs]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/?p=35</guid>
		<description><![CDATA[Este script sirve para realizar peticiones a un servicio OGC-WCS para, dado un encuadre y una &#8216;coverage&#8217; conocida, descargar su información a local en ficheros. Está realizado con python y utiliza la librería urllib2. Los ficheros raster generados, en Geotiff o AsciiGrid, pueden luego cargarse en cualquier programa GIS o manipularse con librerías estándar como <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=35&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Este script sirve para realizar peticiones a un servicio OGC-WCS para, dado un encuadre y una &#8216;coverage&#8217; conocida, descargar su información a local en ficheros. Está realizado  con python y utiliza la librería urllib2. Los ficheros raster generados, en Geotiff o AsciiGrid, pueden luego cargarse en cualquier programa GIS o manipularse con librerías estándar como gdal.</p>
<p><strong>UtilidadesWCS.py</strong></p>
<p><pre class="brush: python; wrap-lines: false;">
import os
import time
import urllib2

'''
Utilidad de extraccion de servicio WCS
@author: VictorVelarde (victor.velarde@gmail.com)
'''
class ServicioWCS(object):
&quot;&quot;&quot;
Utilidad para generar peticiones a un servicio OGC-WCS y guardar los resultados en disco
&quot;&quot;&quot;

ANCHURA_PETICION = 10000 #mismas unidades que el sistema de proyeccion
SEGUNDOS_ESPERA_ENTRE_PETICIONES = 5

def __init__(self, url):
''' Constructor con url del servicio, p.ej: http://www.idee.es/wcs/IDEE-WCS-UTM30N/wcsServlet? '''
    self.url = url

def ExtraerFicheros(self, xmin, ymin, xmax, ymax, directorioSalida, formatoWCS):
    if(os.path.isdir(directorioSalida) == False):
        os.mkdir(directorioSalida)

    print 'Inicio de la extraccion'
    i = 1

    for x in range(xmin, xmax, ServicioWCS.ANCHURA_PETICION):
        for y in range(ymin, ymax, ServicioWCS.ANCHURA_PETICION):
            url = ('%s?REQUEST=GetCoverage&amp;amp;SERVICE=WCS&amp;amp;VERSION=1.0.0&amp;amp;FORMAT=%s&amp;amp;COVERAGE=MDT25_peninsula_zip&amp;amp;BBOX=%f,%f,%f,%f&amp;amp;CRS=EPSG:23030&amp;amp;RESX=25&amp;amp;RESY=25' %(self.url, formatoWCS, x, y, x + ServicioWCS.ANCHURA_PETICION,
y + ServicioWCS.ANCHURA_PETICION))
            print url
            peticion = urllib2.Request(url)
            respuesta = urllib2.urlopen(peticion)
            extension = {FormatoWCS.ASCII_GRID : '.asc', FormatoWCS.GEOTIFF: '.tif'}
            fileHandle = open('%s/%03d%s' %(directorioSalida, i, extension[formatoWCS]), 'wb')
            fileHandle.write(respuesta.read())
            fileHandle.close()

            time.sleep(ServicioWCS.SEGUNDOS_ESPERA_ENTRE_PETICIONES)
            i = i + 1

            print 'Fin de la extraccion'

class FormatoWCS:
    ASCII_GRID = 'AsciiGrid'
    GEOTIFF = 'Geotiff'

</pre></p>
<p>Y para ejecutarlo:</p>
<p><pre class="brush: python; wrap-lines: false;">
from UtilidadesWCS import ServicioWCS, FormatoWCS
servicio = ServicioWCS(&quot;http://www.idee.es/wcs/IDEE-WCS-UTM30N/wcsServlet&quot;)
servicio.ExtraerFicheros(333850.0, 4728100.0, 503850.0, 4888100.0, &quot;extraccion&quot;, FormatoWCS.ASCII_GRID)
servicio.ExtraerFicheros(333850.0, 4728100.0, 503850.0, 4888100.0, &quot;extraccion&quot;, FormatoWCS.GEOTIFF)
</pre></p>
<p>Como alguno me los habéis pedido, aquí subo los ficheros por si alguien quiere probarlos: <a href="http://www.megaupload.com/?d=BZ1FCPRO">Megaupload</a></p>
<p>EDIT: Editado para añadir mejoras de WordPress al código fuente.</p>
<br />Posted in GIS, OpenSource Tagged: ogc, python, wcs <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=35&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2009/11/09/descarga-de-ficheros-desde-web-coverage-service-wcs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Conferencia de usuarios ESRI España 2009</title>
		<link>http://victorvelarde.wordpress.com/2009/10/03/conferenciaesri2009/</link>
		<comments>http://victorvelarde.wordpress.com/2009/10/03/conferenciaesri2009/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 19:15:04 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[Esri]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[conferencia]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/?p=16</guid>
		<description><![CDATA[El pasado día 30 de septiembre y 1 de octubre se celebró en el IFEMA de Madrid la conferencia de usuarios de ESRI ESpaña 2009. Aunque hubo ponencias temáticas sobre aspectos variados como utilities, administración local o defensa, acudí sobre todo a ponencias técnicas. Allí se presentaron algunas cuestiones interesantes, sobre la versión 9.3.1 y <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=16&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;"><span style="white-space:pre;"> </span>El pasado día 30 de septiembre y 1 de octubre se celebró en el IFEMA de Madrid la conferencia de usuarios de ESRI ESpaña 2009. Aunque hubo ponencias temáticas sobre aspectos variados como utilities, administración local o defensa, acudí sobre todo a ponencias técnicas. Allí se presentaron algunas cuestiones interesantes, sobre la versión 9.3.1 y algunos avances de la próxima v9.4 (estimada para mayo de 2010). Algunas cosas que considero interesantes:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">&lt;b&gt;ArcGIS Desktop.&lt;/b&gt;</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;"><span style="white-space:pre;"> </span>Lo más destacable desde la 9.3.1 es quizá el nuevo formato de mapa &#8216;Map Service Definition&#8217; (MSD). Parece que viene a sustituir paulatinamente al MXD y se usa en un nuevo motor interno de dibujado que produce mapas bastante más rápidos, tanto en escritorio como en servidor. Otra novedad es la &#8216;Map Service Publishing&#8217;: una barra de herramientas que parece útil para asesorar (warnings, infos&#8230;) sobre cómo hacer documentos de mapa más rápidos de cara a publicación.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;"><span style="white-space:pre;"> </span>Por otro lado, de la 9.4 se vieron algunos detalles como la integración en Arcmap de una ventana con funciones de ArcCatalog (algo bastante práctico, la verdad), un modo más rápido de edición de features mediante &#8216;plantillas&#8217; y un nuevo tipo de capa llamado &#8216;Query Layer&#8217; que permite pintar directamente el resultado de consultas complejas de SQL contra bases de datos estándar (SQL Server y Oracle). Información más completa del futuro desktop 9.4 en los enlaces [1] y [2].</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">&lt;b&gt;ArcGIS Explorer (900).&lt;/b&gt;</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;"><span style="white-space:pre;"> </span>La nueva versión del visor gratuito [3] trae bastantes mejoras estéticas (p.ej. un toolbar tipo &#8216;ribbon&#8217; como el de ms-office) y alguna funcional (lee .csv, tiene vista 2D/3D, enlaces a fotos/videos, generación de &#8216;presentaciones&#8217;)&#8230;</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">&lt;b&gt;ArcGIS Server.&lt;/b&gt;</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;"><span style="white-space:pre;"> </span>Hay una mejora muy importante de rendimiento en los servicios de mapa en la 9.3.1. y avances en el sistema de caché previstos para la v.9.4 (se pueden mezclar formatos de imagen en una misma cache, cuesta mucho menos moverla por la red&#8230;). Se avanza igualmente en los APIs para entornos RIA: Flex y Silverlight.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Mis impresiones personales:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">a) El desktop está &#8216;tocando techo&#8217; en cuanto a funcionalidad. Las mejoras que aparecen se centran en usabilidad (lo cual no me parece mal, la verdad, porque le hace bastante falta) y en ser una buena herramienta para el administrador de ArcGIS Server.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">b) Hay una inversión importante de esri en el ArcGIS Explorer, enfocándolo como un Google Earth, para usuarios no expertos en GIS. Si bien hasta ahora apenas lo he usado, creo que puede ser una herramienta útil para un uso esporádico o para distribuir a ciertos usuarios como visor.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">c) El interés fundamental del desarrollo en esri está en ArcGIS Server y el producto está madurando. El objetivo actual es ganar rendimiento en los servicios de mapa, e ir trasladando funcionalidades del desktop al web. Creo que el próximo objetivo estará en los geoprocesos: primero en que se ejecuten más rápido (ahora mismo no son muy rápidos y parece necesario acudir a desarrollo más complejos como las Server Object Extensions -SOE-).</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">d) El API de Javascript para server me sigue pareciendo el más interesante y el camino a seguir (especialmente para dejar de lado el &#8216;infierno&#8217; del adf para .net. Además, por mucho que veo demos en Silverlight y Flex, no veo diseños ni &#8220;efectos&#8221; que no se puedan sacar con alguna librería js, y al menos se mantiene uno en los estándares web, sin plugins propietarios.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">d) ESRI está estableciendo alianzas con Microsoft en varios frentes (uso de los servicios de Virtual Earth, el software MapIt, integración con SharePoint&#8230;) parece que para posicionarse ante fuertes competidores como Google o el creciente ecosistema de Software libre.</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">Enlaces:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">[1] Página de esri con novedades de desktop 9.4:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">http://www.esri.com/software/arcgis/whats-new/whats-coming.html</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">[2] Enlaces a varios videos del desktop 9.4 en: http://www.unmundoparatodos.com/2009/08/16/arcgis94_novedades/</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">[3] ArcGIS Explorer v900:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">http://www.esri.com/software/arcgis/explorer/download.html</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">[4] Póster presentado a la Conferencia de Usuarios:</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:0;width:1px;height:1px;">http://www.slideshare.net/VictorVelarde/geolics</div>
<p style="text-align:left;">El pasado día 30 de septiembre y 1 de octubre se celebró en el IFEMA de Madrid la conferencia de usuarios de ESRI ESpaña 2009. Aunque hubo ponencias temáticas sobre aspectos variados como utilities, administración local o defensa, acudí sobre todo a ponencias técnicas. Allí se presentaron algunas cuestiones interesantes, sobre la versión 9.3.1 y algunos avances de la próxima v9.4 (estimada para mayo de 2010). Algunas cosas interesantes:</p>
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;"><strong>ArcGIS Desktop</strong></p>
<p style="text-align:left;">Lo más destacable desde la 9.3.1 es quizá el nuevo formato de mapa &#8216;Map Service Definition&#8217; (MSD). Parece que viene a sustituir paulatinamente al MXD y se usa en un nuevo motor interno de dibujado que produce mapas bastante más rápidos, tanto en escritorio como en servidor. Otra novedad es la &#8216;Map Service Publishing&#8217;: una barra de herramientas que parece útil para asesorar (warnings, infos&#8230;) sobre cómo hacer documentos de mapa más rápidos de cara a publicación.</p>
<p style="text-align:left;">Por otro lado, de la 9.4 se vieron algunos detalles como la integración en Arcmap de una ventana con funciones de ArcCatalog (algo bastante práctico, la verdad), un modo más rápido de edición de features mediante &#8216;plantillas&#8217; y un nuevo tipo de capa llamado &#8216;Query Layer&#8217; que permite pintar directamente el resultado de consultas complejas de SQL contra bases de datos estándar (SQL Server y Oracle). Información más completa del futuro desktop 9.4 en los enlaces [1] y [2].</p>
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;"><strong>ArcGIS Explorer</strong></p>
<p style="text-align:left;">La nueva versión del visor gratuito v900 [3] trae bastantes mejoras estéticas (p.ej. un toolbar tipo &#8216;ribbon&#8217; como el de ms-office) y alguna funcional (lee .csv, tiene vista 2D/3D, enlaces a fotos/videos, generación de &#8216;presentaciones&#8217;)&#8230;</p>
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;"><strong>ArcGIS Server</strong></p>
<p style="text-align:left;">Hay una mejora muy importante de rendimiento en los servicios de mapa en la 9.3.1. y avances en el sistema de caché previstos para la v.9.4 (se pueden mezclar formatos de imagen en una misma cache, cuesta mucho menos moverla por la red&#8230;). Se avanza igualmente en los APIs para entornos RIA: Flex y Silverlight.</p>
<p style="text-align:left;">
<p style="text-align:left;">Mis impresiones personales:</p>
<ul style="text-align:left;">
<li>El desktop está &#8216;tocando techo&#8217; en cuanto a funcionalidad. Las mejoras que aparecen se centran en usabilidad (lo cual no me parece mal, la verdad, porque le hace bastante falta) y en ser una buena herramienta para el administrador de ArcGIS Server.</li>
</ul>
<ul style="text-align:left;">
<li>Hay una inversión importante de esri en el ArcGIS Explorer, enfocándolo a ser parecido a un Google Earth, para usuarios no expertos en GIS. Si bien hasta ahora apenas lo he usado, creo que puede ser una herramienta útil para un uso esporádico o para distribuir a ciertos usuarios como visor.</li>
</ul>
<ul style="text-align:left;">
<li>El interés fundamental del desarrollo en esri está en ArcGIS Server y el producto está madurando. El objetivo actual es ganar rendimiento en los servicios de mapa, e ir trasladando funcionalidades del desktop al web. Creo que el próximo objetivo estará en los geoprocesos: primero en que se ejecuten más rápido (ahora mismo no son muy rápidos y parece necesario acudir a desarrollo más complejos como las Server Object Extensions -SOE-).</li>
</ul>
<ul style="text-align:left;">
<li>El API de Javascript para Server me sigue pareciendo el más interesante y el camino a seguir (especialmente frente al &#8216;infierno&#8217; del adf para .net). Además, por mucho que veo demos en Silverlight y Flex, no veo diseños ni &#8220;efectos&#8221; que no se puedan sacar con alguna librería js, y al menos se mantiene uno en los estándares web, sin plugins propietarios.</li>
</ul>
<ul style="text-align:left;">
<li>ESRI está estableciendo alianzas con Microsoft en varios frentes (uso de los servicios de Virtual Earth, el software MapIt, integración con SharePoint&#8230;) parece que para posicionarse ante fuertes competidores como Google o el creciente ecosistema de Software libre.</li>
</ul>
<p style="text-align:left;">
<p style="text-align:left;">Enlaces:</p>
<p style="text-align:left;">[1] Página de esri con novedades de desktop 9.4:</p>
<p style="text-align:left;"><a title="http://www.esri.com/software/arcgis/whats-new/whats-coming.html" href="http://www.esri.com/software/arcgis/whats-new/whats-coming.html" target="_blank">http://www.esri.com/software/arcgis/whats-new/whats-coming.html</a></p>
<p style="text-align:left;">[2] Enlaces a varios videos del desktop 9.4 en: <a title="http://www.unmundoparatodos.com/2009/08/16/arcgis94_novedades/" href="http://www.unmundoparatodos.com/2009/08/16/arcgis94_novedades/" target="_blank">http://www.unmundoparatodos.com/2009/08/16/arcgis94_novedades/</a></p>
<p style="text-align:left;">[3] ArcGIS Explorer v900:</p>
<p style="text-align:left;"><a title="http://www.esri.com/software/arcgis/explorer/download.html" href="http://www.esri.com/software/arcgis/explorer/download.html" target="_blank">http://www.esri.com/software/arcgis/explorer/download.html</a></p>
<p style="text-align:left;">[4] Póster presentado a la Conferencia de Usuarios:</p>
<p style="text-align:left;"><a title=" http://www.slideshare.net/VictorVelarde/geolics" href="http://www.slideshare.net/VictorVelarde/geolics" target="_blank"> http://www.slideshare.net/VictorVelarde/geolics</a></p>
<p style="text-align:left;">
<p style="text-align:left;">
<br />Posted in Esri, GIS Tagged: conferencia <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=16&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2009/10/03/conferenciaesri2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Cómo convertir un shapefile a geojson</title>
		<link>http://victorvelarde.wordpress.com/2009/02/02/shp2geojson/</link>
		<comments>http://victorvelarde.wordpress.com/2009/02/02/shp2geojson/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 23:01:33 +0000</pubDate>
		<dc:creator>Víctor Velarde Gutiérrez</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[geojson]]></category>
		<category><![CDATA[ogr2ogr]]></category>
		<category><![CDATA[openlayers]]></category>
		<category><![CDATA[shapefile]]></category>

		<guid isPermaLink="false">http://victorvelarde.wordpress.com/2009/02/02/hello-world/</guid>
		<description><![CDATA[Recientemente necesitábamos publicar una capa geográfica dentro de una web con un sencillo visor de mapas hecho con Openlayers [1]. La capa estaba en el formato omnipresente ESRI Shapefile. Openlayers acepta un elevado número de orígenes de datos (WMS, WFS, KML, GeoJSON&#8230;) pero no directamente ficheros .shp. Una opción hubiera sido utilizar Geoserver [2] como servidor de <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=1&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recientemente necesitábamos publicar una capa geográfica dentro de una web con un sencillo visor de mapas hecho con Openlayers [1]. La capa estaba en el formato omnipresente ESRI Shapefile.</p>
<p>Openlayers acepta un elevado número de orígenes de datos (WMS, WFS, KML, GeoJSON&#8230;) pero no directamente ficheros .shp. Una opción hubiera sido utilizar Geoserver [2] como servidor de los datos, pero buscábamos algo más rápido, para una capa estática, y no queríamos incrementar la infraestructura en el despliegue.</p>
<p>Solución rápida:  generar un fichero con el contenido del .shp en formato geojson y luego alojarlo directamente en el sitio web.  ¿Cómo convertirlo? Utilizando la herramienta gratuita y abierta para conversión entre formatos llamada ogr2ogr [3].</p>
<p>1. Nos descargamos e instalamos FWTools [4] que incluye la citada ogr2ogr y otras utilidades.</p>
<p>2. Desde línea de comandos, en la ruta donde hayamos instalado el software (o la incluimos en el PATH y tecleamos desde cualquier directorio):</p>
<p><strong>ogr2ogr c:\ficheroSalida.geojson -f “GeoJSON” C:\ficheroOriginal.shp </strong></p>
<p>3.  Y con esto ya tenemos un fichero geojson apto para consumir desde OpenLayers.</p>
<p>Enlaces:</p>
<p>[1] Librería Openlayers: <a href="http://openlayers.org/">http://openlayers.org/</a></p>
<p>[2] Servidor Geoserver: <a title="http://geoserver.org/" href="http://geoserver.org/" target="_blank">http://geoserver.org/</a></p>
<p>[3] Librería GDAL: <a href="http://www.gdal.org/ogr2ogr.html">http://www.gdal.org/ogr2ogr.html</a></p>
<p>[4] Pack FWTools: <a title="http://fwtools.maptools.org/" href="http://fwtools.maptools.org/" target="_blank">http://fwtools.maptools.org/</a></p>
<br />Posted in GIS, OpenSource Tagged: geojson, ogr2ogr, openlayers, shapefile <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/victorvelarde.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/victorvelarde.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/victorvelarde.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/victorvelarde.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/victorvelarde.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/victorvelarde.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/victorvelarde.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/victorvelarde.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/victorvelarde.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/victorvelarde.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/victorvelarde.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/victorvelarde.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/victorvelarde.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/victorvelarde.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=victorvelarde.wordpress.com&amp;blog=6425733&amp;post=1&amp;subd=victorvelarde&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://victorvelarde.wordpress.com/2009/02/02/shp2geojson/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/35e4cc335cae3254e5a29fd1e982838d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Víctor Velarde Gutiérrez</media:title>
		</media:content>
	</item>
	</channel>
</rss>
