<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cristian Vargas</title>
    <description>The latest articles on DEV Community by Cristian Vargas (@cvargasgeo).</description>
    <link>https://dev.to/cvargasgeo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F580557%2Fa387b007-9270-4fd0-bb65-e20fbaf271b9.jpeg</url>
      <title>DEV Community: Cristian Vargas</title>
      <link>https://dev.to/cvargasgeo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cvargasgeo"/>
    <language>en</language>
    <item>
      <title>Answer: Impossible to get CRS with tomcat : org.opengis.referencing.NoSuchAuthorityCodeException</title>
      <dc:creator>Cristian Vargas</dc:creator>
      <pubDate>Thu, 29 Dec 2022 08:49:54 +0000</pubDate>
      <link>https://dev.to/cvargasgeo/answer-impossible-to-get-crs-with-tomcat-orgopengisreferencingnosuchauthoritycodeexception-3lcc</link>
      <guid>https://dev.to/cvargasgeo/answer-impossible-to-get-crs-with-tomcat-orgopengisreferencingnosuchauthoritycodeexception-3lcc</guid>
      <description>&lt;div class="ltag__stackexchange--container"&gt;
  &lt;div class="ltag__stackexchange--title-container"&gt;
    
      &lt;div class="ltag__stackexchange--title"&gt;
        &lt;div class="ltag__stackexchange--header"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7Gn-iPj_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackoverflow-logo-b42691ae545e4810b105ee957979a853a696085e67e43ee14c5699cf3e890fb4.svg" alt=""&gt;
          &lt;a href="https://stackoverflow.com/questions/51743860/impossible-to-get-crs-with-tomcat-org-opengis-referencing-nosuchauthoritycodee/51750691#51750691" rel="noopener noreferrer"&gt;
            &lt;span class="title-flare"&gt;answer&lt;/span&gt; re: Impossible to get CRS with tomcat : org.opengis.referencing.NoSuchAuthorityCodeException
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="ltag__stackexchange--post-metadata"&gt;
          &lt;span&gt;Aug  8 '18&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;a class="ltag__stackexchange--score-container" href="https://stackoverflow.com/questions/51743860/impossible-to-get-crs-with-tomcat-org-opengis-referencing-nosuchauthoritycodee/51750691#51750691" rel="noopener noreferrer"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y9mJpuJP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackexchange-arrow-up-eff2e2849e67d156181d258e38802c0b57fa011f74164a7f97675ca3b6ab756b.svg" alt=""&gt;
        &lt;div class="ltag__stackexchange--score-number"&gt;
          1
        &lt;/div&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wif5Zq3z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackexchange-arrow-down-4349fac0dd932d284fab7e4dd9846f19a3710558efde0d2dfd05897f3eeb9aba.svg" alt=""&gt;
      &lt;/a&gt;
    
  &lt;/div&gt;
  &lt;div class="ltag__stackexchange--body"&gt;
    
&lt;p&gt;I found a workaround even if it doesn't solve the initial issue (related to dependencies of geotools and the deployement into Tomcat)&lt;/p&gt;
&lt;p&gt;don't use gt-epsg-hsql which leads your app searching for the EPSG code to decode into the HSQL database. &lt;/p&gt;

&lt;p&gt;Rather than using &lt;code&gt;CRS.decode(targetCrs);&lt;/code&gt;
with &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CRS.parseWKT("PROJCS[\"WGS 84 / Plate Carree&lt;/code&gt;&lt;/pre&gt;…
    
  &lt;/div&gt;
  &lt;div class="ltag__stackexchange--btn--container"&gt;
    &lt;a href="https://stackoverflow.com/questions/51743860/impossible-to-get-crs-with-tomcat-org-opengis-referencing-nosuchauthoritycodee/51750691#51750691" class="ltag__stackexchange--btn" rel="noopener noreferrer"&gt;Open Full Answer&lt;/a&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Como ⚡ publico una udf para Athena ? Parte I</title>
      <dc:creator>Cristian Vargas</dc:creator>
      <pubDate>Wed, 14 Dec 2022 22:30:01 +0000</pubDate>
      <link>https://dev.to/cvargasgeo/como-publico-una-udf-para-athena-parte-i-2kg8</link>
      <guid>https://dev.to/cvargasgeo/como-publico-una-udf-para-athena-parte-i-2kg8</guid>
      <description>&lt;p&gt;Bueno esta fue la pregunta inicial que dará origen a la siguiente aventura, suponga que en su datalake implemento un complejo pipelile de datos y se dio cuenta que en medio del proceso su motor no cuenta con una funcionalidad sql 🙇, en mi caso fue st_buffer, por cierto que en Athena si esta implementada pero en grados decimales (iuhggg), por lo que necesitábamos la preciada función en metros.&lt;br&gt;
Bueno luego de un corto googleo aparece el siguente Workshop de bastante utilidad y bien explicado:&lt;br&gt;
&lt;a href="https://catalog.us-east-1.prod.workshops.aws/workshops/9981f1a1-abdc-49b5-8387-cb01d238bb78/en-US/50-udf"&gt;Taller de Amazon Athena :: Hands on Labs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para comenzar recomienda usar Cloud9, pero es yo utilice WSL Ubuntu 22 sin mayores problemas.&lt;br&gt;
Bueno en simples pasos una vez que se configura el sam-aws-cli , credencial aws , maven y git , nos clonamos un repo el cual contiene un boilerplate con la estructura de un proyecto java 11 , que posee handler con algunos metodos a modo hello world, listo en este punto solo falta compilar el jar y ejecutar un sh para hacer un deploy de la aplicación , se necesita un permiso especial para poder hacerlo "serverlessrepo:CreateApplication" en el recurso "arn:aws:serverlessrepo:us-east-1::applications/*" &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--or3k7eik--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e749lln51rw50482o0vo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--or3k7eik--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e749lln51rw50482o0vo.png" alt="Image description" width="880" height="213"&gt;&lt;/a&gt;&lt;br&gt;
Listo se publicó la aplicación ahora qué ?, solo seguir el paso "Configuración del conector UDF" , en ese caso seguir el enlace y buscar aplicaciones privadas seleccionar "AthenaUserDefinedFunctions" y completar los datos , luego deployar , tómese una cerveza y Prepárese para probar su función UDF&lt;/p&gt;

&lt;p&gt;&lt;code&gt;USING EXTERNAL FUNCTION redact(col1 VARCHAR ) RETURNS VARCHAR &lt;br&gt;
LAMBDA 'customudf' SELECT redact('StringToBeCompressed');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Excelente nuestro hello world , próximamente en la parte II detallare el proceso para manipular datos geoespaciales y hacer el buffer con java, que esta algo fuera de mi zona de confort pero con GPT3 veremos si da alguna sorpresa.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>athena</category>
      <category>udf</category>
      <category>etl</category>
    </item>
    <item>
      <title>Answer: how to use python "get()" for keys deeper than first level of dictionary keys?</title>
      <dc:creator>Cristian Vargas</dc:creator>
      <pubDate>Wed, 02 Nov 2022 15:33:58 +0000</pubDate>
      <link>https://dev.to/cvargasgeo/answer-how-to-use-python-get-for-keys-deeper-than-first-level-of-dictionary-keys-4c8k</link>
      <guid>https://dev.to/cvargasgeo/answer-how-to-use-python-get-for-keys-deeper-than-first-level-of-dictionary-keys-4c8k</guid>
      <description>&lt;div class="ltag__stackexchange--container"&gt;
  &lt;div class="ltag__stackexchange--title-container"&gt;
    
      &lt;div class="ltag__stackexchange--title"&gt;
        &lt;div class="ltag__stackexchange--header"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7Gn-iPj_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackoverflow-logo-b42691ae545e4810b105ee957979a853a696085e67e43ee14c5699cf3e890fb4.svg" alt=""&gt;
          &lt;a href="https://stackoverflow.com/questions/37382156/how-to-use-python-get-for-keys-deeper-than-first-level-of-dictionary-keys/37382170#37382170" rel="noopener noreferrer"&gt;
            &lt;span class="title-flare"&gt;answer&lt;/span&gt; re: how to use python "get()" for keys deeper than first level of dictionary keys?
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="ltag__stackexchange--post-metadata"&gt;
          &lt;span&gt;May 23 '16&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;a class="ltag__stackexchange--score-container" href="https://stackoverflow.com/questions/37382156/how-to-use-python-get-for-keys-deeper-than-first-level-of-dictionary-keys/37382170#37382170" rel="noopener noreferrer"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y9mJpuJP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackexchange-arrow-up-eff2e2849e67d156181d258e38802c0b57fa011f74164a7f97675ca3b6ab756b.svg" alt=""&gt;
        &lt;div class="ltag__stackexchange--score-number"&gt;
          17
        &lt;/div&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wif5Zq3z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackexchange-arrow-down-4349fac0dd932d284fab7e4dd9846f19a3710558efde0d2dfd05897f3eeb9aba.svg" alt=""&gt;
      &lt;/a&gt;
    
  &lt;/div&gt;
  &lt;div class="ltag__stackexchange--body"&gt;
    
&lt;p&gt;You can pass a default value as the second argument to &lt;code&gt;dict.get()&lt;/code&gt;, like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dict.get('keyB_1', {}).get('keyB_2', {}).get('keyB_3')
&lt;/code&gt;&lt;/pre&gt;

    
  &lt;/div&gt;
  &lt;div class="ltag__stackexchange--btn--container"&gt;
    &lt;a href="https://stackoverflow.com/questions/37382156/how-to-use-python-get-for-keys-deeper-than-first-level-of-dictionary-keys/37382170#37382170" class="ltag__stackexchange--btn" rel="noopener noreferrer"&gt;Open Full Answer&lt;/a&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
  </channel>
</rss>
