{"id":2739,"date":"2020-11-21T17:38:45","date_gmt":"2020-11-21T22:38:45","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/girni\/?p=2739"},"modified":"2021-03-11T12:22:12","modified_gmt":"2021-03-11T17:22:12","slug":"procesa-datos-integra-tablas-rssi-distancias-y-coordenadas","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/girni\/procesa-datos-integra-tablas-rssi-distancias-y-coordenadas\/","title":{"rendered":"3.5 Procesa datos. Integra tablas Rssi, distancias y coordenadas"},"content":{"rendered":"<p>Se integran los archivos de Rssi y coordenadas en un solo archivo. Este proceso permite procesar Rssi vs distancias para generar el modelo de la ecuaci\u00f3n que los describe.<\/p>\n<p>Verificar los par\u00e1metros con los que se integran las tablas: nombres de archivos de entrada y salida, medidas.<\/p>\n<p>Ejemplo de resultados a obtener:<\/p>\n<pre>registros:  57\r\nindices:  Index(['grupo', 'tipo', 'LOS_d1', 'LOS_d2', 'LOS_d3',\r\n       'rssi_rx_d1','rssi_rx_d2', 'rssi_rx_d3', 'rssi_tx_d1', 'rssi_tx_d2', 'rssi_tx_d3',\r\n       'c_norte', 'c_este', 'altitud', 'dist_d1', 'dist_d2', 'dist_d3','longitud', 'latitud'],\r\n        dtype='object')\r\n\r\n Ejemplo de tabla: \r\n         grupo   tipo  LOS_d1  LOS_d2  LOS_d3  rssi_rx_d1  ...  altitud  dist_d1  dist_d2  dist_d3   longitud latitud\r\netiqueta                                                   ...                                                         \r\nFIEC101   FIEC  punto       0       1       1 -123.096386  ...   62.213  423.450   78.492  351.924 -79.967500 -2.145463\r\nFIEC102   FIEC  punto       1       1       1 -120.094891  ...   82.308  451.423   67.435  357.220 -79.967762 -2.145404\r\nFIEC103   FIEC  punto       1       1       1 -116.923469  ...   77.421  449.414   60.141  364.706 -79.967697 -2.145337\r\nFIEC104   FIEC  punto       0       1       0 -116.046296  ...   87.352  399.437   97.611  343.328 -79.967307 -2.145563\r\nFIEC105   FIEC  punto       1       1       0 -119.713235  ...   82.708  382.250  117.785  326.571 -79.967231 -2.145730\r\n\r\n[5 rows x 19 columns]\r\n&gt;&gt;&gt; \r\n<\/pre>\n<p><strong><em>Archivo resumen de medida<\/em><\/strong>: <a href=\"https:\/\/drive.google.com\/file\/d\/1Okv3mPytmQX89QRMr1vG67mOOt_-lIZP\/view?usp=sharing\">resumen_rssimean01.txt<\/a><\/p>\n<p><em><strong>archivo de resumen<\/strong><\/em> de coordenadas y distancias : <a href=\"https:\/\/drive.google.com\/file\/d\/1pCb1D-U0Z5Jg3FssnhqayOi2GUJS_C2k\/view?usp=sharing\">resumen_ubica01.txt<\/a><\/p>\n<p>archivo de resultado integrado: <a href=\"https:\/\/drive.google.com\/file\/d\/1Jwks868oP4CnX-JD3_oIFDjAM0CdHrZv\/view?usp=sharing\">resumen_RssiUbica01<\/a><\/p>\n<hr \/>\n<h2>Algoritmo en Python<\/h2>\n<p>La tabla general se constuye concatenando los componentes por colunnas.<\/p>\n<p>La primera parte se conforma con los datos del punto de las columnas de grupos, tipos y LOS que provienen del archivo de ubicaciones de los puntos.<\/p>\n<p>La segunda parte corresponde a la tabla de medidas de Rssi, y finalmente se complementa la tercera parte con la informaci\u00f3n de las coordenadas.<\/p>\n<p>La tabla resultante se almacena en un archivo de resumen.<\/p>\n<pre><span style=\"color: #ff0000\"># Rssi y SNR LoRa punto a punto<\/span>\r\n<span style=\"color: #ff0000\"># LoRa-Multipunto, integra Ubicacion y Rssi<\/span>\r\n<span style=\"color: #ff0000\"># Girni 2020-10-07 propuesta: edelros@espol.edu.ec<\/span>\r\n<span style=\"color: #d35400\">import<\/span> numpy <span style=\"color: #d35400\">as<\/span> np\r\n<span style=\"color: #d35400\">import<\/span> pandas <span style=\"color: #d35400\">as<\/span> pd\r\n\r\n<span style=\"color: #ff0000\"># INGRESO<\/span>\r\n<span style=\"color: #ff0000\"># revisar parametros al inicio<\/span>\r\nmedida     = <span style=\"color: #008000\">'rssi'<\/span>\r\ndescriptor = <span style=\"color: #008000\">'mean'<\/span>\r\n\r\n<span style=\"color: #ff0000\"># archivos de entrada<\/span>\r\narch_rsmpuntos = <span style=\"color: #008000\">'resumen_rssimean02.txt'<\/span>\r\narch_rsmgps    = <span style=\"color: #008000\">'resumen_ubica01.txt'<\/span>\r\n\r\n<span style=\"color: #ff0000\"># archivos de salida<\/span>\r\narch_rssiubica = <span style=\"color: #008000\">'resumen_'<\/span>+medida+<span style=\"color: #008000\">'Ubica02.txt'<\/span>\r\n\r\n<span style=\"color: #ff0000\"># referencias<\/span>\r\nbaliza = {<span style=\"color: #008000\">'d1'<\/span>:<span style=\"color: #008000\">'gtwRECT'<\/span>,\r\n          <span style=\"color: #008000\">'d2'<\/span>:<span style=\"color: #008000\">'gtwFIEC'<\/span>,\r\n          <span style=\"color: #008000\">'d3'<\/span>:<span style=\"color: #008000\">'gtwFCNM'<\/span>}\r\n\r\n<span style=\"color: #ff0000\"># PROCEDIMIENTO<\/span>\r\n<span style=\"color: #ff0000\"># lectura de ubicacion<\/span>\r\nubica = pd.read_csv(arch_rsmgps, index_col=<span style=\"color: #008000\">'etiqueta'<\/span>)\r\nubica = pd.DataFrame(ubica)\r\nn=<span style=\"color: #ff00ff\">len<\/span>(ubica)\r\n\r\n<span style=\"color: #ff0000\"># lectura de medida<\/span>\r\nrsm_medida = pd.read_csv(arch_rsmpuntos)\r\nrsm_medida = pd.DataFrame(rsm_medida)\r\nrsm_medida.rename(columns={<span style=\"color: #008000\">'Unnamed: 0'<\/span>:<span style=\"color: #008000\">'etiqueta'<\/span>},\r\n              inplace=<span style=\"color: #d35400\">True<\/span>)\r\nrsm_medida[<span style=\"color: #008000\">'etiqueta'<\/span>] = rsm_medida.etiqueta.astype(<span style=\"color: #ff00ff\">str<\/span>)\r\nrsm_medida = rsm_medida.set_index(<span style=\"color: #008000\">'etiqueta'<\/span>)\r\nm=<span style=\"color: #ff00ff\">len<\/span>(rsm_medida)\r\n\r\n<span style=\"color: #ff0000\"># tabla concatenada por columnas Y UNION<\/span>\r\n<span style=\"color: #ff0000\"># para mantener referencias de coordenadas de vertices<\/span>\r\nvertices  = <span style=\"color: #ff00ff\">list<\/span>(baliza.keys())\r\nultimovertice = vertices[-1]\r\netiquetas = <span style=\"color: #ff00ff\">list<\/span>(ubica.keys())\r\ndonde = etiquetas.index(<span style=\"color: #008000\">'LOS_'<\/span>+ultimovertice)\r\n\r\n<span style=\"color: #ff0000\"># inicia con grupos, tipos y LOS<\/span>\r\ntabla = ubica[etiquetas[:donde+1]]\r\n\r\n<span style=\"color: #ff0000\"># continua con los datos de medida<\/span>\r\ntabla = pd.concat([tabla,rsm_medida],\r\n                  axis=1,join=<span style=\"color: #008000\">'outer'<\/span>)\r\n\r\n<span style=\"color: #ff0000\"># completa con lo que resta de ubica<\/span>\r\ntabla = pd.concat([tabla,\r\n                   ubica[etiquetas[donde+1:]]],\r\n                  axis=1,join=<span style=\"color: #008000\">'outer'<\/span>)\r\ntabla = tabla.rename_axis(<span style=\"color: #008000\">'etiqueta'<\/span>)\r\nk = <span style=\"color: #ff00ff\">len<\/span>(tabla)\r\n\r\n<span style=\"color: #ff0000\"># SALIDA<\/span>\r\n<span style=\"color: #ff00ff\">print<\/span>(<span style=\"color: #008000\">'registros: '<\/span>,k)\r\n<span style=\"color: #ff00ff\">print<\/span>(<span style=\"color: #008000\">'indices: '<\/span>,tabla.keys())\r\n<span style=\"color: #ff00ff\">print<\/span>(<span style=\"color: #008000\">'\\n Ejemplo de tabla: '<\/span>)\r\n<span style=\"color: #ff00ff\">print<\/span>(tabla.head())\r\ntabla.to_csv(arch_rssiubica)\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Se integran los archivos de Rssi y coordenadas en un solo archivo. Este proceso permite procesar Rssi vs distancias para generar el modelo de la ecuaci\u00f3n que los describe. Verificar los par\u00e1metros con los que se integran las tablas: nombres de archivos de entrada y salida, medidas. Ejemplo de resultados a obtener: registros: 57 indices: &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.espol.edu.ec\/girni\/procesa-datos-integra-tablas-rssi-distancias-y-coordenadas\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \"3.5 Procesa datos. Integra tablas Rssi, distancias y coordenadas\"<\/span><\/a><\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1463489],"tags":[20777],"class_list":["post-2739","post","type-post","status-publish","format-standard","hentry","category-localizacion-rssi-lora","tag-python"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/comments?post=2739"}],"version-history":[{"count":11,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2739\/revisions"}],"predecessor-version":[{"id":3151,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/posts\/2739\/revisions\/3151"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/media?parent=2739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/categories?post=2739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/girni\/wp-json\/wp\/v2\/tags?post=2739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}