REFEFO Potential to Enhance Productive Connectivity
El Potencial de la REFEFO para Mejorar la Conectividad Productiva
REFEFO
Productive Connectivity
Autor/a
Martin Olmos
Fecha de publicación
26 de abril de 2024
La mayoría de los países de la región tienen algún tipo de estrategia más o menos definida y articulada para mejorar la conectvidad digital de las poblaciones vulnerables, aquellas que viven en zonas de baja densidad poblacional donde a veces el sector privado por sí solo no tiene los incentivos para invertir en infraestrutura, o para llevar la conectividad a servicios de educación y salud. Sin embargo, no siempre se ha pensado en la conectividad productiva, es decir, en cómo la conectividad puede mejorar la productividad de las empresas y de los trabajadores.
Un presupuesto importante para llegar con conectividad a un lugar es que existan redes troncales que permitan luego desarrollar la denominada “última milla” desde estas redes hasta los hogares y empresas. Argentina, por ejemplo, cuenta con la Red Federal de Fibra Óptica (REFEFO) gestionada por ARSAT, que es una red troncal que atraviesa las 23 provincias del país, llegando a unas 1.300 localidades, muchas de las cuales tienen poblaciones de menos de 10.000 habitantes. Por supuesto que existen también redes troncales de fibra óptica de operadores privados, pero el tendido de las mismas y la ubicación de los nodos de conexión no está disponible públicamente.
Pero volviendo al punto anterior, analicemos el potencial de la REFEFO para mejorar la conectividad productiva. Tomemos por ejemplo el sector agropecuario, que es uno de los más importantes de la economía argentina y el mayor generador de divisas.
Podemos utilizar los datos del ex Ministerio de Desarrollo Productivo para georrefenciar las empresas agropecuarias y calcular la distancia de cada una de ellas al nodo de la REFEFO más cercano y luego analizar la distribución de estas distancias.
En primer lugar, obtenemos, filtramos y cruzamos los datos necesarios para el análisis:
Código
import pandas as pdimport geopandas as gpdfrom requests import Requestfrom shapely.geometry import box# Obtengo los datos de establecimientos productivosestab = pd.read_csv('https://cdn.produccion.gob.ar/cdn-cep/establecimientos-productivos/distribucion_establecimientos_productivos_sexo.csv')# Obtengo datos del nomenclador de AFIPclae = pd.read_csv('https://cdn.produccion.gob.ar/cdn-cep/clae_agg.csv')# Uno los datos de establecimientos con el nomencladorestab = estab.merge(clae[['clae6', 'letra_desc']], left_on='clae6', right_on='clae6')# Filtro los del sector agropecuarioestab_agro = estab[estab['letra_desc'] ==' AGRICULTURA, GANADERÍA, CAZA, SILVICULTURA Y PESCA']# Transformo los datos de establecimientos a un GeoDataFrameestab_agro_gpd = gpd.GeoDataFrame(estab_agro, geometry=gpd.points_from_xy(estab_agro.lon, estab_agro.lat), crs='EPSG:4326')# Obtengo los datos de los nodos de REFEFOidecom_url ='https://www.idecom.gob.ar/geoserver/ows'params = {'service': 'wfs','version': '1.3.0','request': 'GetFeature','typeName': 'idera:a010504-NODOS-FO','outputFormat': 'json'}refefo_nodos_url = Request('GET', idecom_url, params=params).prepare().urlrefefo_nodos = gpd.read_file(refefo_nodos_url)# Obtengo los datos de la geometría de las provinciasign_url ='https://wms.ign.gob.ar/geoserver/ows'params = {'service': 'wfs','version': '1.1.0','request': 'GetFeature','typeName': 'ign:provincia','outputFormat': 'json'}prov_url = Request('GET', ign_url, params=params).prepare().urlprov = gpd.read_file(prov_url)# Recorto las provincias a la parte continental de Argentinabbox = (-76.36532,-56.75009,-51.20850,-20.91625)bbox = gpd.GeoSeries([box(*bbox)], crs=prov.crs)prov_clipped = gpd.clip(prov, bbox)# Cruzo los establecimientos agropecuarios con el nodo de REFEFO más cercano y obtengo la distanciaestab_agro_refefo_gpd = estab_agro_gpd.to_crs(crs=3857).sjoin_nearest(refefo_nodos.to_crs(3857), how='left', distance_col='distance')
Luego vamos a plotear en un mapa cada uno de los establecimientos agropecuarios y asignarle un color en función de la distancia con el nodo de la REFEFO más cercano.
Código
from matplotlib import cmimport matplotlib as mplimport matplotlib.pyplot as plt# Sizefig_size_bar = (7, 4)size_labels =10size_tick_labels =8fuente_bar_pos_x =0.0fuente_bar_pos_y =-0.4fuente_map_pos_x =-74.0fuente_map_pos_y =-59.0fontname ='Avenir'font_weight ='ultralight'norm = mpl.colors.Normalize(vmin=0, vmax=150000)fig, ax = plt.subplots(figsize=(10, 10))prov_clipped.boundary.plot(ax=ax, color='black', linewidth=0.5)estab_agro_refefo_gpd.to_crs('EPSG:4326').plot(ax=ax, c=estab_agro_refefo_gpd['distance'], markersize=5, alpha=0.5, legend=True)ax.set_axis_off()cbar = fig.colorbar(cm.ScalarMappable(norm), ax=ax, orientation='horizontal')cbar.set_label('Distancia a nodo de red (m)', fontname=fontname, fontsize=size_labels, weight=font_weight)cbar.ax.tick_params(labelsize=size_tick_labels)plt.show()
Mapa de Establecimientos Agropecuarios y Distancia a Nodo de REFEFO
Además, vamos a plotear el histograma de las distancias para poder analizar su distribución.
Código
import matplotlib.ticker as mtickerimport numpy as npcolor1 = [160.0/255.0, 160.0/255.0, 160.0/255.0, 1.0]color2 = [0.0, 200.0/255.0, 200.0/255.0, 1.0]color3 = [0.0, 255.0/255.0, 255.0/255.0, 1.0]color4 = [94.0/255.0, 144.0/255.0, 227.0/255.0, 1.0]color5 = [111.0/255.0, 109.0/255.0, 163.0/255.0, 1.0]colors = [color1, color2, color3, color4, color5]# Styledef crossval_style(ax): ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['left'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.grid(axis='y', linestyle='-', alpha=0.4)counts, bins = np.histogram(estab_agro_refefo_gpd[estab_agro_refefo_gpd['distance'] <150000]['distance'], bins=15)density = counts / np.sum(counts)fig, ax = plt.subplots(figsize=(7, 4))# ax = estab_agro_refefo_gpd[estab_agro_refefo_gpd['distance'] < 150000]['distance'].hist(density=True, bins=15)ax.hist(bins[:-1], bins, weights=density, color=colors[1])# Format the yticklabels to show actual proportions# ax.yaxis.set_major_formatter(mticker.PercentFormatter(xmax=0.0001))ax.yaxis.set_major_formatter(mticker.PercentFormatter(xmax=1))# Set the font family and size of the x-axis labelax.set_xlabel('Distancia (m)', fontname=fontname, fontsize=size_labels, weight=font_weight)# Set the font family and size of the y-axis labelax.set_ylabel('Proporción', fontname=fontname, fontsize=size_labels, weight=font_weight)# Set the font family and size of the x-axis tick labelsax.set_xticklabels(ax.get_xticklabels(), fontname=fontname, fontsize=size_tick_labels, weight=font_weight)# Set the font family and size of the y-axis tick labelsax.set_yticklabels(ax.get_yticklabels(), fontname=fontname, fontsize=size_tick_labels, weight=font_weight)crossval_style(ax)ax.text(x = fuente_bar_pos_x, y =-0.3, s =f"Fuente: Elaboración propia en base a datos del CEP XXI e IDECOM", transform=ax.transAxes, fontname=fontname, fontsize=size_tick_labels, weight=font_weight)plt.show()
Histograma de Distancias a Nodo de REFEFO
Como se puede observar en el mapa y en el histograma, la mayoría de los establecimientos agropecuarios se encuentran a menos de 10 km de un nodo de la REFEFO. Para obtener los números precisos observemos la media y los cuartiles de las distancias.
Código
estab_agro_refefo_gpd['distance'].describe()
La media de las distancias de establecimientos agropecuarios al nodo de REFEFO más cercano es de 25.544 metros o 25,5 KMs. Sin embargo, como se observa en el histograma, las distancias no tienen una distribución normal sino que se trata de una distribución asimétrica a la derecha, con la mayor cantidad de distancias con valores bajos y unas pocas distancias con valores muy altos. En estos casos, la mediana es más representativa que la media. Aquí la mediana es de 8.580 metros u 8,6 KMs. Esto quiere decir que el 50% de los establecimientos agropecuarios se encuentran a menos de 8,6 KMs de un nodo de REFEFO. Finalmente, el tercer cuartil es de 35.895 metros o casi 36 KMs, lo que significa que el 75% de los establecimientos agropecuarios se encuentran a menos de 36 KMs de un nodo de REFEFO.
Hay muchas formas de mejorar este análisis preliminar pero esta primera aproximación parece indicar que la distancia a redes troncales no debería ser un impedimento para el desarrollo de la conectividad rural productiva en la Argentina.