galirema-notas

Tablero Kanban de Galirema

Procesos definidos

Planes de explotación Tratamiento de datos (Galego)

  1. Importar do DOG plan Xeral con pandoc de html a markdown
    • en galego para gwikia:
      pandoc -f html -t markdown http://www.xunta.es/dog/Publicados/2014/20141231/AnuncioG0165-231214-0001_gl.html > pexma2015-GL.md
      
    • en castelán para gmnh:
      pandoc -f html -t markdown http://www.xunta.es/dog/Publicados/2014/20141231/AnuncioG0165-231214-0001_es.html > pexma2015-ES.md
      
  2. Crear a táboa anual na base de datos muestreos.sqlite

  3. Plan Xeral 2015 edición e revisión (Editar e formatear o plan importado) GM
    1. Completar as ligazóns co dominio ](/ –> ](http://www.xunta.es/
    2. cabecera da publicación
    3. engadir as librerias dos enlaces e abreviaturas
    4. cadro do indice
    5. insertar os cadros
  4. Formatear os cadros da orden una tarea para cada cadro:
    • Formatear cadro A (AAUT): (1. formato md, 2. CSV, 3. goo-gl)
    • Formatear cadro B (BESP): (1. formato md, 2. CSV, 3. goo-gl)
    • Formatear cadro C (CLBM): (1. formato md, 2. -, 3. goo-gl)
    • Formatear cadro D (DPER): (1. formato md, 2. CSV, 3. goo-gl)
    • Formatear cadro E (ECRU): (1. formato md, 2. -, 3. goo-gl)
    • Formatear cadro F (FEQD): (1. formato md, 2. CSV, 3. goo-gl)
    • Formatear cadro G (GSOL): (1. formato md, 2. CSV, 3. goo-gl)
    • Formatear cadro H (HPEN): (1. formato md, 2. CSV, 3. goo-gl)
    • Formatear cadro I (IALG): (1. formato md, 2. CSV, 3. goo-gl)
    • Formatear cadro J (JANE): (1. formato md, 2. CSV, 3. goo-gl)
  5. Exportalos os datos dos cadro á táboa sqlite determinada pexma20XX
    "idPlanAnual"|"entidad"|"modalidade"|"especiesPlan"|"zonaTraballo"|"diasMax"|"epocaTraballo"|"puntosControl"|"tipoCode"|"conxunto"|"urlFicha"|"id_plan_explotacion"|"BMSigremar"|"idzonatra"

    • Fases del proceso: 1. cargar os datos dos cadros, 2. Completar os campos, 3. código Alfa3 das especies, 4. Construír os cadros índice
  6. A actualización do navegador Firefox da versión 34 ao 35 da un erro ó importar datos dun ficheiro csv polo que teño que convertir ese ficheiro csv a un ficheiro de ordes sql para cargar os datos. A ordes sql son do seguinte tipo:
    INSERT INTO pexma2015 (entidad,modalidade,especiesPlan,zonaTraballo,diasMax,epocaTraballo,puntosControl,tipoCode,urlFicha) VALUES(value-list);
    
  7. Comando para completar o campo “conxunto” como FALSE nos proxectos dunha soia entidade:
    UPDATE pexma2015 SET "conxunto" =  'F' WHERE "conxunto" ISNULL
    
  8. Para completar o campo “especiesPlan” Cando son cadros de unha especie (percebe “PCB”), (erizo de mar “URM”), (peneira “HLT”
    UPDATE pexma2015 SET "especiesPlan" = 'PCB' WHERE "especiesPlan" ISNULL AND "tipoCode" = "DPER";  
    UPDATE pexma2015 SET "especiesPlan" = 'URM' WHERE "especiesPlan" ISNULL AND "tipoCode" = "FEQD";  
    UPDATE pexma2015 SET "especiesPlan" = 'HLT' WHERE "especiesPlan" ISNULL AND "tipoCode" = "HPEN";  
    UPDATE pexma2015 SET "especiesPlan" = 'NOW' WHERE "especiesPlan" ISNULL AND "tipoCode" = "JANE";
    
  9. Para construir as ordes UPDATE que modifiquen o codigo do dog polo codigo alfa3 empregamos o seguinte SELECT:
    SELECT 'UPDATE pexma2015 SET "especiesPlan" = ' || RTRIM("especiesPlan"), 'WHERE "idPlanAnual" = ' || "idPlanAnual" FROM "pexma2013" WHERE "tipoCode" LIKE 'G%' ORDER BY "idPlanAnual" ASC;
    
    • Cadro A 46 (1. sql, 2. ok, 3. alfa3, 4. A,)
    • Cadro B (1. sql, 2. ok, 3. alfa3, 4. B,)
    • Cadro D (1. sql, 2. ok, 3. alfa3, 4. D,)
    • Cadro F (1. sql, 2. ok, 3. alfa3, 4. F,)
    • Cadro G (1. sql, 2. ok, 3. alfa3, 4. G,)
    • Cadro H (1. sql, 2. ok, 3. alfa3, 4. H,)
    • Cadro I (1. sql, 2. ok, 3. alfa3, 4. I,)
    • Cadro J (1. sql, 2. ok, 3. alfa3, 4. J,)

    • Consulta para facer os cadros indice de cada grupo de PLANS:
      SELECT '[' || CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual" WHEN length("idPlanAnual")= 2 THEN '0'||"idPlanAnual" ELSE "idPlanAnual"  END AS "codplan1", '](http://galiciamarinheira.drupalgardens.com/content/pexma2015' || "tipoCode" || CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual" || ')|' WHEN length("idPlanAnual")= 2 THEN '0'||"idPlanAnual" || ')|' ELSE "idPlanAnual" || ')|'  END AS "lingazon1", RTRIM("entidad") || '|' || RTRIM("modalidade") || '|' || RTRIM("especiesPlan") AS "fila plan" FROM "pexma2015" WHERE "tipoCode" LIKE 'A%' ORDER by "idPlanAnual" ASC;
      
  10. Descargar os plans anuais 2015 de pescadegalicia.com
    1. Descargar as ligazóns plans anuais de pescadegalicia os planes vixentes as con pandoc de html a markdown
      pandoc -f html -t markdown http://www.pescadegalicia.com/PlanesExp/index.htm > plans-anuais2015.md
      
      • ERROR:
        pcortes@ecopesca2:~$ pandoc -f html -t markdown http://www.pescadegalicia.com/PlanesExp/index.htm > plans-anuais2015.md  
          pandoc: Cannot decode byte '\xf3': Data.Text.Encoding.Fusion.streamUtf8: Invalid UTF-8 stream  
          pcortes@ecopesca2:~$  
          iconv -t utf-8 http://www.pescadegalicia.com/PlanesExp/index.htm | pandoc -f html -t markdown > plans-anuais2015.md | iconv -f UTF-8
        
      • O problena é que pandoc utiliza a codificación UTF-8 e a páxina utiliza a windows-1252.
        Polo que copie o código fonte e o gardei nun ficheiro de texto con gedit que por defecto o gardou en UTF-8 fixen una copia do ficheiro de texto coa extensión HTML e o procesei con pandoc, e funcionou correctamente coa orde:
        pandoc -f html -t markdown plansAnuais-2015.html > plans-anuais2015.md
        
    2. Crear os guións sh para executar a descarga
      • Cadros: A, B, C, D, E, F, G, H, I, J,
    3. crear os ligazóns cortos de cada plan anual coa ferramenta de google e gardarlos no campo
      • Cadros: A, B, C, D, E, F, G, H, I, J,
    4. Descargar os pdf de cada un dos plans anuais con un script sh co comando wget
      • Cadros: A, B, C, D, E, F, G, H, I, J,
  11. Convertir con pandoc os plans anuais de pdf a texto para facilitar o tratamento dos datos. (territorio, especies de algas, etc…), Non atopo unha maneira de usar pandoc para esta operación polo que empragaré o outro método.
    Se non funcionara fago un guion sh empregando pdftotext como facia antes.

    • Cadros: A, B, C, D, E, F, G, H, I, J,

    • Consulta para xerar o guión sh:

      SELECT 'pdftotext -layout -nopgbrk Plan2015' || "tipoCode" || CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual" WHEN length("idPlanAnual")= 2 THEN '0'||"idPlanAnual" ELSE "idPlanAnual"  END || '.pdf Plan2015' || "tipoCode" || CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual" WHEN length("idPlanAnual")= 2 THEN '0'||"idPlanAnual" ELSE "idPlanAnual"  END || '.txt' AS comando_sh FROM "pexma2015" ORDER BY "idPlanAnual";
      
  12. Xerar as fichas dos plans anuais coa consulta (o resultado facilita a entrada de datos subzonas de explotación no campo BMSigremar):
    SELECT 
    '<!--Pexma2015' || "tipoCode"  AS 'Nome da Ficha',
    CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual" WHEN length("idPlanAnual")= 2 THEN '0'||"idPlanAnual" ELSE "idPlanAnual"  END AS "codplan1", 
    '-->¿-?## Pexma 2015¿-?### ' || "tipoCode" || '¿-?# ' AS "Encabezado01",
    CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual" || ' ' WHEN length("idPlanAnual")= 2 THEN '0' ||"idPlanAnual" || ' ' ELSE "idPlanAnual" || ' '  END AS codplan2, 
    RTRIM("entidad") AS "Encabezado02",
     '¿-? ¿-?|Campo|Contenido|¿-?|:----|:--------|¿-?Código plan|' As PlanAnual,
    CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual" WHEN length("idPlanAnual")= 2 THEN '0'||"idPlanAnual" ELSE "idPlanAnual"  END AS 'codplan3', 
     '¿-?entidad|' || rtrim("entidad") AS Entidade,
     '¿-?modalidad|' || rtrim("modalidade") AS Modalidade,
     '¿-?especies|' || rtrim("especiesPlan") AS Especies,
     '¿-?zona de Trabajo |' || rtrim("zonaTraballo") || ' %%2015 ' || substr("tipoCode",1,1) AS Zona,
    CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual"||'%%' WHEN length("idPlanAnual")= 2 THEN '0' || "idPlanAnual"||'%%' ELSE "idPlanAnual"||'%%'  END AS "codplan4",
     '¿-?dias max. |' || rtrim("diasMax") AS Dias,
     '¿-?epoca de Trabajo |' || rtrim("epocaTraballo") AS Calendario,
     '¿-?puntos de Control|' || rtrim("puntosControl") AS Control,
     '¿-?Tipo de plan|' || "tipoCode" || '¿-?Conjunto|' AS Tipoplan,
     CASE WHEN UPPER("conxunto")= 'T' THEN 'SI' ELSE 'NO' END,
     '¿-?url Ficha|<' ||  "urlFicha" || '>¿-?BMSigremar|%%BANCONATURALSIGREMAR%%' AS "ShortURL-resto"
     FROM "pexma2015"
     ORDER BY "idPlanAnual";
    
    • O titulo de cada ficha xerado pola seguinte consulta:
      SELECT 'pexma2015'||"tipoCode"||CASE WHEN length("idPlanAnual")= 1 THEN '00' || "idPlanAnual" WHEN length("idPlanAnual")= 2 THEN '0'||"idPlanAnual" ELSE "idPlanAnual"  END FROM "pexma2015"  ORDER BY "idPlanAnual";
      

      no informe anterior este titulo encabeza cada ficha.

  13. Cargar el campo “BMSigremar” da táboa pexma2015 cos datos do plan anual “Ámbito do Plan” e fundamentalmente “Subzonas de explotación

    • Cadros: A, B, C, D, E, F, G, H, I, J,
  14. Revisión da sintaxe markdown e integración dos cadros construídos coa orde SELECT

Publicar a orden do plan xeral marisqueira 2015

* en GM
* en wikia
  1. Publicar cada plan en GM

    • AAUT (ok)
    • BESP (ok)
    • DPER (ok)
    • FEQU (ok)
    • GSOL (ok)
    • HPEN (ok)
    • IALG (ok)
    • JANE (ok)
  2. Publicar cada plan en wikia

    • AAUT
    • BESP
    • DPER
    • FEQU
    • GSOL
    • HPEN
    • IALG
    • JANE

Poliquetos 2015