IPDP

Plataforma de trabajo
Title
Distribución territorial de la población femenina que habla lengua indígena y...
Abstract

Un indicador relevante es el de la distribución de la población femenina que habla lengua indígena y español. Más de la mitad de la población de habla indígena son mujeres, pues representan el 50.7% del total. Éste asciende a
289,139 personas de habla indígena, además del español, de los cuales 49.3% son hombres.

Este mapa muestra los niveles de concentración de la población de mujeres indígenas en el territorio de la Ciudad de México, la cual si bien se encuentra presente d...

Date de publicación
Keywords
11 Equidad de Género
Category
Sociedad
características de la sociedad y de las culturas. Ejemplos: asentamientos, antropología, arqueología, educación, creencias tradicionales, usos y costumbres, datos demográficos, áreas y actividades recreativas, las evaluaciones de impacto social, la delincuencia y la justicia, la información del censo
Catalogado por
Jesús Trujillo Almeida
More info
-
Language
English
Supplemental Information

No se provee información

Comments (0 total)

Log in to add a comment

Average Rating

(0)
/** @global * Flag variable to control drill functionality. * Such feature is in infoDrill.js file */ var isDrillActive = false; /** * Transform json data into CSV string * @param {Object} jsonData - The JSON data, with key-value pairs * @return {string} The CSV representation. */ function convertToCSV(jsonData) { var csvData = []; csvData.push('Atributo,Valor'); for (var key in jsonData.properties) { var value = jsonData.properties[key]; if (value === null) { value = ''; } else { value = value.toString().replace(/"/g, '""'); } csvData.push('"' + key + '","' + value + '"'); } return csvData.join('\n'); } L.TileLayer.BetterWMST = L.TimeDimension.Layer.WMS.extend({ defaultWmsParams: { service: 'WMS', request: 'GetMap', // @option layers: String = '' // **(required)** Comma-separated list of WMS layers to show. layers: '', // @option styles: String = '' // Comma-separated list of WMS styles. styles: '', // @option format: String = 'image/jpeg' // WMS image format (use `'image/png'` for layers with transparency). format: 'image/jpeg', // @option transparent: Boolean = false // If `true`, the WMS service will return images with transparency. transparent: false, // @option version: String = '1.1.1' // Version of the WMS service to use version: '1.1.1' }, options: { // @option crs: CRS = null // Coordinate Reference System to use for the WMS requests, defaults to // map CRS. Don't change this if you're not sure what it means. crs: null, // @option uppercase: Boolean = false // If `true`, WMS request parameter keys will be uppercase. uppercase: false, detectRetina: false, control: null }, initialize: function(layer, options) { L.TimeDimension.Layer.WMS.prototype.initialize.call(this, layer, options); this._url = options.url; const wmsParams = L.Util.extend({}, this.defaultWmsParams); // all keys that are not TileLayer options go to WMS params for (const i in options) { if (!(i in this.options)) { wmsParams[i] = options[i]; } } options = L.Util.setOptions(this, options); const realRetina = 1; const tileSize = this.getTileSize(); wmsParams.width = tileSize.x * realRetina; wmsParams.height = tileSize.y * realRetina; wmsParams.layers = options.layers this.wmsTime = [] this.wmsParams = wmsParams; this.timeLayerControl = L.control.timeDimension(this.options.mapt,{ position: "topright", autoPlay: false, timeSlider: false, loopButton: true, playerOptions: { transitionTime: 125, loop: true, } }); }, getTileSize: function() { const s = 256; return s instanceof L.Point ? s : new L.Point(s, s); }, onAdd: function (map) { console.log("onAdd log", this) L.TimeDimension.Layer.WMS.prototype.onAdd.call(this, map); map.on('click', this.getFeatureInfo, this); // map.addControl(this.timeLayerControl) }, onRemove: function (map) { // Triggered when the layer is removed from a map. // Unregister a click listener, then do all the upstream WMS things L.TimeDimension.Layer.WMS.prototype.onRemove.call(this, map); map.off('click', this.getFeatureInfo, this); // map.removeControl(this.timeLayerControl) this.timeLayerControl = null }, _showLayer: function(layer, time) { if (this._currentLayer && this._currentLayer !== layer) { this._currentLayer.hide(); } layer.show(); if (this._currentLayer && this._currentLayer === layer) { return; } this._currentLayer = layer; this._currentTime = time; console.log('Show layer ' + layer.wmsParams.layers + ' with time: ' + new Date(time).toISOString()); }, _update: function(){ L.TimeDimension.Layer.WMS.prototype._update.call(this); }, getFeatureInfo: function (evt) { // Make an AJAX request to the server and hope for the best if (isDrillActive) { return null } var url = this.getFeatureInfoUrl(evt.latlng), showResults = L.Util.bind(this.showGetFeatureInfo, this); var layername = this.wmsParams.layers; showResults(evt.latlng, layername, url); }, getFeatureInfoUrl: function (latlng) { // Construct a GetFeatureInfo request URL given a point console.log("url",this.wmsParams.format) var point = this._map.latLngToContainerPoint(latlng, this._map.getZoom()), size = this._map.getSize(), params = { request: 'GetFeatureInfo', service: 'WMS', srs: 'EPSG:4326', styles: this.wmsParams.styles, transparent: this.wmsParams.transparent, version: this.wmsParams.version, format: this.wmsParams.format, bbox: this._map.getBounds().toBBoxString(), height: size.y, width: size.x, layers: this.wmsParams.layers, query_layers: this.wmsParams.layers, info_format: 'application/json', time : 'P1000Y/PRESENT' }; params[params.version === '1.3.0' ? 'i' : 'x'] = Math.round(point.x); params[params.version === '1.3.0' ? 'j' : 'y'] = Math.round(point.y); // Possible FIXME: Let backend to determine origin url = this._url + L.Util.getParamString(params, this._url, true); console.log("Formed url: "+url) return url }, showGetFeatureInfo: function (latlng, layername, url) { var pcontent = ""; var e = this; $.ajax({ url: '/interactive/get_featureinfo', type: 'POST', data: {'layername':layername, 'url': url, csrfmiddlewaretoken: 'VWi2WQaj4tIErECS2kjd6JmLHjcJEtrE' }, dataType: 'json', success: function(data) { console.warn(data); var jdata = data.properties; var desc = data.attr_desc; pcontent += '' if(!jQuery.isEmptyObject(desc)){ // if (census.getConstants()) { // $.each(jdata, function(key, value){ // if(value==null){ // value=''; // } // if(!isNaN(value)){ // if(value.toString().indexOf('.') != -1){ // var arr = value.toString().split('.'); // var trunc = arr[1].substring(0, 2); // pcontent += ''; // } else{ // pcontent += ''; // } // } else { // pcontent += ''; // } // }); // var container = $('
'); // container.on('click', 'div.click-census-analysis', function() { // if (typeof($(".layer-selected").attr('id')) != "undefined") { // var swt_id = $(".layer-selected").attr('id').slice(1); // var lay_id = $("#"+swt_id).attr('data-regid'); // if (typeof(lay_id) != "undefined") { // census.getResultsCensus(jdata,lay_id); // } // } // }); // pcontent += '
'; // pcontent += '
AtributoValor
'+desc[key]+''+arr[0]+'.'+trunc+'
'+desc[key]+''+value+'
'+desc[key]+''+value+'
Analisis para el objeto seleccionado
'; // container.html(pcontent); // L.popup() // .setLatLng(latlng) // .setContent(container[0], customOptions) // .openOn(e._map); // }else{ $.each(jdata, function(key, value){ if(value==null){ value=''; } if(!isNaN(value)){ if(value.toString().indexOf('.') != -1){ var arr = value.toString().split('.'); var trunc = arr[1].substring(0, 2); pcontent += ''+desc[key]+''+arr[0]+'.'+trunc+''; } else{ pcontent += ''+desc[key]+''+value+''; } } else { pcontent += ''+desc[key]+''+value+''; } }); pcontent += '' // Add the download button to the popup content var csvData = convertToCSV(data); var downloadButton = 'Download CSV'; pcontent += downloadButton; L.popup() .setLatLng(latlng) .setContent(pcontent) .openOn(e._map); // } } else{ $.each(jdata, function(key, value){ //pcontent += '
'+key+' = '+value+'
'; pcontent += ''+key+''+value+''; }); pcontent += '' L.popup() .setLatLng(latlng) .setContent(pcontent) .openOn(e._map); } }, error: function() { console.log('There is an error in the response'); } }); } }); L.tileLayer.betterWmsTime = function (url, options) { return new L.TileLayer.BetterWMST(url, options); }; // BETTERWMS CON MEJORAS DE BUSQUEDA // function addLayerSearch(currentHref, typename){ // var url = currentHref.replace("wms","wfs"); // var params = { // 'service': 'wfs', // 'request': 'GetFeature', // 'version': '2.0.0', // 'typeNames': typename, // 'format': 'application/json', // 'info_format' : 'application/json', // 'outputFormat': 'application/json' // } // url = url + L.Util.getParamString(params, url, params.uppercase); // $.ajax({ // url: url, // type: 'GET', // success: function(data){ // searchLayer = L.geoJSON(data,{pointToLayer: function(){}}).addTo(map) // searchControl = new L.Control.Search({ // layer: searchLayer, // marker: true, // propertyName:'radio', // moveToLocation: function(latlng, title, map) { // //map.fitBounds( latlng.layer.getBounds() ); // var zoom = map.getBoundsZoom(latlng.layer.getBounds()); // map.setView(latlng, zoom); // access the zoom // } // }) // } // }) // } L.TileLayer.BetterWMS = L.TileLayer.WMS.extend({ initialize(url, options) { L.TileLayer.WMS.prototype.initialize.call(this,url, options); this.wmsParams = L.Util.extend({ time : 'P1000Y/PRESENT' }, this.wmsParams); this.searchLayer = null; this.searchData = null this.searchControl = null; this.mapt = this.options.mapt this.layerGroupWms = new L.LayerGroup(); }, _getGeojsonLayer: function(){ var e = this var url = this._url.replace("wms","wfs"); let protocol = window.location.protocol; if (protocol.includes("https") && !url.includes("https")) { url = url.replace("http", "https"); } var params = { 'service': 'wfs', 'request': 'GetFeature', 'version': '2.0.0', 'typeNames': this.wmsParams.layers, 'format': 'application/json', 'info_format' : 'application/json', 'outputFormat': 'application/json' } url = url + L.Util.getParamString(params, url, params.uppercase); console.log("geojson wfs url", url); $.ajax({ url: url, type: 'GET', success: function(data){ e.searchData = data console.log("success geojson data", data); }, complete: function(){ e.searchLayer = L.geoJSON(e.searchData,{ pointToLayer: function(geoJsonPoint, latlng) { return L.marker(latlng,{ "opacity": 0 }); } }) console.log("searchLayer", e.searchLayer) e.layerGroupWms.addLayer(e.searchLayer) var layername = e.wmsParams.layers.replace("geonode:",""); e.searchControl = new L.Control.Search({ marker: false, layer: e.layerGroupWms, textPlaceholder: layername, autoType: false, position: 'topright', propertyName: e.options.attributeSearch, minLength: 0, moveToLocation: function(latlng, title, map) { console.log(latlng,title,map) map.setView(latlng, 16); // access the zoom }, filterData: function(text, records){ const frecords = {}; text = text.replace(new RegExp('[.*+?^${}()|[\]\\]','g'), '') // sanitize remove all special characters if (text === '' || !text) { console.log("No text", records); return records; } const regSearch = new RegExp(text, 'i'); for (const key in records) { if (regSearch.test(key)) { frecords[key] = records[key]; } } console.log(text,frecords); return frecords; } }).addTo(e.mapt) // Change the id of the created input (searchtext{lenght of placeholder}) $(`#searchtext${layername.length}`).attr("id", `searchtext-${layername}`); }, error: function(error) { console.error("Failure on search (geojson)", error); } }) }, _update: function(){ L.TileLayer.WMS.prototype._update.call(this); // map.addControl(this.controlSearch) }, onAdd: function (map) { // Triggered when the layer is added to a map. // Register a click listener, then do all the upstream WMS things L.TileLayer.WMS.prototype.onAdd.call(this, map); map.on('click', this.getFeatureInfo, this); // this.searchControl.addTo(map) if( this.options.attributeSearch != "" && this.options.attributeSearch.length >= 1){ this._getGeojsonLayer() this.layerGroupWms.addTo(map); } }, onRemove: function (map) { // Triggered when the layer is removed from a map. // Unregister a click listener, then do all the upstream WMS things L.TileLayer.WMS.prototype.onRemove.call(this, map); map.off('click', this.getFeatureInfo, this); if(map.hasLayer(this.layerGroupWms)){ map.removeLayer(this.layerGroupWms) map.removeControl(this.searchControl) } }, getFeatureInfo: function (evt) { console.log(evt) // Make an AJAX request to the server and hope for the best if (isDrillActive) { return null } var url = this.getFeatureInfoUrl(evt.latlng), showResults = L.Util.bind(this.showGetFeatureInfo, this); var layername = this.wmsParams.layers; showResults(evt.latlng, layername, url); }, getFeatureInfoUrl: function (latlng) { // Construct a GetFeatureInfo request URL given a point console.log("url",this.wmsParams.format) var point = this._map.latLngToContainerPoint(latlng, this._map.getZoom()), size = this._map.getSize(), params = { request: 'GetFeatureInfo', service: 'WMS', srs: 'EPSG:4326', styles: this.wmsParams.styles, transparent: this.wmsParams.transparent, version: this.wmsParams.version, format: this.wmsParams.format, bbox: this._map.getBounds().toBBoxString(), height: size.y, width: size.x, layers: this.wmsParams.layers, query_layers: this.wmsParams.layers, info_format: 'application/json', time : 'P1000Y/PRESENT' }; params[params.version === '1.3.0' ? 'i' : 'x'] = Math.round(point.x); params[params.version === '1.3.0' ? 'j' : 'y'] = Math.round(point.y); url = this._url + L.Util.getParamString(params, this._url, true); // Possible FIXME: Let backend to determine origin console.log("Formed url: "+url) return url }, showGetFeatureInfo: function (latlng, layername, url) { var pcontent = ""; var e = this; $.ajax({ url: '/interactive/get_featureinfo', type: 'POST', data: {'layername':layername, 'url': url, csrfmiddlewaretoken: 'VWi2WQaj4tIErECS2kjd6JmLHjcJEtrE' }, dataType: 'json', success: function(data) { console.log(data); var jdata = data.properties; var desc = data.attr_desc; pcontent += '' if(!jQuery.isEmptyObject(desc)){ // if (census.getConstants()) { // $.each(jdata, function(key, value){ // if(value==null){ // value=''; // } // if(!isNaN(value)){ // if(value.toString().indexOf('.') != -1){ // var arr = value.toString().split('.'); // var trunc = arr[1].substring(0, 2); // pcontent += ''; // } else{ // pcontent += ''; // } // } else { // pcontent += ''; // } // }); // var container = $('
'); // container.on('click', 'div.click-census-analysis', function() { // if (typeof($(".layer-selected").attr('id')) != "undefined") { // var swt_id = $(".layer-selected").attr('id').slice(1); // var lay_id = $("#"+swt_id).attr('data-regid'); // if (typeof(lay_id) != "undefined") { // census.getResultsCensus(jdata,lay_id); // } // } // }); // pcontent += '
'; // pcontent += '
AtributoValor
'+desc[key]+''+arr[0]+'.'+trunc+'
'+desc[key]+''+value+'
'+desc[key]+''+value+'
Analisis para el objeto seleccionado
'; // container.html(pcontent); // L.popup() // .setLatLng(latlng) // .setContent(container[0], customOptions) // .openOn(e._map); // }else{ $.each(jdata, function(key, value){ if(value==null){ value=''; } if(!isNaN(value)){ if(value.toString().indexOf('.') != -1){ var arr = value.toString().split('.'); var trunc = arr[1].substring(0, 2); pcontent += ''+desc[key]+''+arr[0]+'.'+trunc+''; } else{ pcontent += ''+desc[key]+''+value+''; } } else { pcontent += ''+desc[key]+''+value+''; } }); pcontent += '' // Add the download button to the popup content var csvData = convertToCSV(data); var downloadButton = 'Download CSV'; pcontent += downloadButton; L.popup() .setLatLng(latlng) .setContent(pcontent) .openOn(e._map); // } } else{ $.each(jdata, function(key, value){ //pcontent += '
'+key+' = '+value+'
'; pcontent += ''+key+''+value+''; }); pcontent += '' L.popup() .setLatLng(latlng) .setContent(pcontent) .openOn(e._map); } }, error: function() { console.log('There is an error in the response'); } }); } }); L.tileLayer.betterWms = function (url, options) { return new L.TileLayer.BetterWMS(url, options); };