Skip to content

Commit

Permalink
Posts scraped and committed via a GitHub Action.
Browse files Browse the repository at this point in the history
  • Loading branch information
Xpirix authored and github-actions[bot] committed Dec 29, 2024
1 parent 6d4f6a3 commit f0f1c11
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 8 deletions.
6 changes: 3 additions & 3 deletions content/posts/linvestissement-open-source-doslandia.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ author: "QGIS Oslandia"
tags: ["news", "contribution", "investment", "lsci", "opensource", "pureplayer", "qdeeplandia", "qgis", "qwc2", "totalopenstation"]
---

<div class="wpb_row vc_row-fluid vc_row standard_section " id="fws_677096af7e441" style="padding-top: 0px; padding-bottom: 0px;"><div class="row-bg-wrap"><div class="inner-wrap"> <div class="row-bg "></div></div> </div><div class="col span_12 dark left">
<div class="wpb_row vc_row-fluid vc_row standard_section " id="fws_67713b8e80ce0" style="padding-top: 0px; padding-bottom: 0px;"><div class="row-bg-wrap"><div class="inner-wrap"> <div class="row-bg "></div></div> </div><div class="col span_12 dark left">
<div class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding">
<div class="vc_column-inner">
<div class="wpb_wrapper">
Expand Down Expand Up @@ -43,7 +43,7 @@ tags: ["news", "contribution", "investment", "lsci", "opensource", "pureplayer",
</div>
</div>
</div></div>
<div class="wpb_row vc_row-fluid vc_row standard_section " id="fws_677096af7ecb6" style="padding-top: 0px; padding-bottom: 0px;"><div class="row-bg-wrap"><div class="inner-wrap"> <div class="row-bg "></div></div> </div><div class="col span_12 dark left">
<div class="wpb_row vc_row-fluid vc_row standard_section " id="fws_67713b8e813d4" style="padding-top: 0px; padding-bottom: 0px;"><div class="row-bg-wrap"><div class="inner-wrap"> <div class="row-bg "></div></div> </div><div class="col span_12 dark left">
<div class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding">
<div class="vc_column-inner">
<div class="wpb_wrapper">
Expand All @@ -56,7 +56,7 @@ tags: ["news", "contribution", "investment", "lsci", "opensource", "pureplayer",
</div>
</div>
</div></div>
<div class="wpb_row vc_row-fluid vc_row standard_section " id="fws_677096af7edbd" style="padding-top: 0px; padding-bottom: 0px;"><div class="row-bg-wrap"><div class="inner-wrap"> <div class="row-bg "></div></div> </div><div class="col span_12 dark left">
<div class="wpb_row vc_row-fluid vc_row standard_section " id="fws_67713b8e8154c" style="padding-top: 0px; padding-bottom: 0px;"><div class="row-bg-wrap"><div class="inner-wrap"> <div class="row-bg "></div></div> </div><div class="col span_12 dark left">
<div class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding">
<div class="vc_column-inner">
<div class="wpb_wrapper">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ author: "QGIS Oslandia"
tags: ["gis", "non classé", "qgis", "postgis", "water"]
---

<div class="wpb_row vc_row-fluid vc_row standard_section " id="fws_677096af855ba" style="padding-top: 0px; padding-bottom: 0px;"><div class="row-bg-wrap"><div class="inner-wrap"> <div class="row-bg "></div></div> </div><div class="col span_12 dark left">
<div class="wpb_row vc_row-fluid vc_row standard_section " id="fws_67713b8e880fe" style="padding-top: 0px; padding-bottom: 0px;"><div class="row-bg-wrap"><div class="inner-wrap"> <div class="row-bg "></div></div> </div><div class="col span_12 dark left">
<div class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding">
<div class="vc_column-inner">
<div class="wpb_wrapper">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,50 @@ tags: ["big data", "movement data in gis", "movingpandas", "spatio-temporal data



<p>written together with my fellow co-authors and EMERALDS project team member Argyrios Kyrgiazos.</p>
<p>written together with my fellow&nbsp;co-authors and EMERALDS project team member Argyrios Kyrgiazos.</p>



<p>For the technically inclined, the highlight are the presented <strong>UDFs in Snowflake</strong> to process and transform the trajectory data.</p>
<figure class="wp-block-image size-large"><a href="https://carto.com/blog/urban-mobility-insights-with-movingpandas-carto-in-snowflake"><img alt="" class="wp-image-9334" height="537" src="https://anitagraser.com/wp-content/uploads/2024/12/image.png?w=1024" width="1024" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://carto.com/blog/urban-mobility-insights-with-movingpandas-carto-in-snowflake"><img alt="" class="wp-image-9334" height="537" src="https://anitagraser.com/wp-content/uploads/2024/12/image.png?w=1024" width="1024" /></a></figure>
<p>For the technically inclined, the highlight are the presented <strong>UDFs in Snowflake</strong> to process and transform the trajectory data. For example, here&#8217;s a TemporalSplitter UDF: </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: sql; title: ; notranslate">
CREATE OR REPLACE FUNCTION CARTO_DATABASE.CARTO.TemporalSplitter(geom ARRAY, t ARRAY, mode STRING)
RETURNS ARRAY
LANGUAGE PYTHON
RUNTIME_VERSION = 3.11
PACKAGES = (&#039;numpy&#039;,&#039;pandas&#039;, &#039;geopandas&#039;,&#039;movingpandas&#039;, &#039;shapely&#039;)
HANDLER = &#039;udf&#039;
AS $$
import numpy as np
import pandas as pd
import geopandas as gpd
import movingpandas as mpd
import shapely
from shapely.geometry import shape, mapping, Point, Polygon
from shapely.validation import make_valid
from datetime import datetime, timedelta

def udf(geom, t, mode):
valid_df = pd.DataFrame(geom, columns=&#91;&#039;geometry&#039;])
valid_df&#91;&#039;t&#039;] = pd.to_datetime(t)
valid_df&#91;&#039;geometry&#039;] = valid_df&#91;&#039;geometry&#039;].apply(lambda x:shapely.wkt.loads(x))
gdf = gpd.GeoDataFrame(valid_df, geometry=&#039;geometry&#039;, crs=&#039;epsg:4326&#039;)
gdf = gdf.set_index(&#039;t&#039;)
traj = mpd.Trajectory(gdf, 1)
traj_sm = mpd.TemporalSplitter(traj).split(mode=mode)
if len(traj_sm.trajectories)&gt;0:
res = traj_sm.to_point_gdf()
res&#91;&#039;geometry&#039;] = res&#91;&#039;geometry&#039;].apply(lambda x: shapely.wkt.dumps(x))
return res.reset_index().values
else:
return &#91;]
$$;
</pre></div>
<p>You can find the full code here: <a href="https://github.com/anitagraser/carto-research-public/tree/master/movingpandas_carto_in_snowflake">https://github.com/anitagraser/carto-research-public/tree/master/movingpandas_carto_in_snowflake</a> </p>
2 changes: 1 addition & 1 deletion content/posts/v3.4.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ tags: []
---

<h2>Changes</h2>
<p><a href="https://private-user-images.githubusercontent.com/1728657/365079545-5d60f6c7-a166-4460-9c64-23fc64be7978.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzU0MzIxNTcsIm5iZiI6MTczNTQzMTg1NywicGF0aCI6Ii8xNzI4NjU3LzM2NTA3OTU0NS01ZDYwZjZjNy1hMTY2LTQ0NjAtOWM2NC0yM2ZjNjRiZTc5NzgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjlUMDAyNDE3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9M2JlMGIwZGNkYmVhMzc5N2I1Y2NiZDIwMTBmZTJmMTAyNDMwNjM4NDhiNzg4MjU0ZDIwNGNjN2U5OGQ4NDUxNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.Ni8Bzuez4O9nodBvAxaj5p-e2BeZOQFG6gvMcNmWWSA" rel="noopener noreferrer" target="_blank"><img alt="34" src="https://private-user-images.githubusercontent.com/1728657/365079545-5d60f6c7-a166-4460-9c64-23fc64be7978.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzU0MzIxNTcsIm5iZiI6MTczNTQzMTg1NywicGF0aCI6Ii8xNzI4NjU3LzM2NTA3OTU0NS01ZDYwZjZjNy1hMTY2LTQ0NjAtOWM2NC0yM2ZjNjRiZTc5NzgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjlUMDAyNDE3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9M2JlMGIwZGNkYmVhMzc5N2I1Y2NiZDIwMTBmZTJmMTAyNDMwNjM4NDhiNzg4MjU0ZDIwNGNjN2U5OGQ4NDUxNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.Ni8Bzuez4O9nodBvAxaj5p-e2BeZOQFG6gvMcNmWWSA" /></a></p>
<p><a href="https://private-user-images.githubusercontent.com/1728657/365079545-5d60f6c7-a166-4460-9c64-23fc64be7978.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzU0NzQzNjQsIm5iZiI6MTczNTQ3NDA2NCwicGF0aCI6Ii8xNzI4NjU3LzM2NTA3OTU0NS01ZDYwZjZjNy1hMTY2LTQ0NjAtOWM2NC0yM2ZjNjRiZTc5NzgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjlUMTIwNzQ0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZGVhNDA1MmFjM2ZkNWQyNGRjMDhkNzg5M2YyMzVhNDg0OGM5YWZlZDFkYmM2MDI0MDAzNjhlNTFjNTNmMjM1NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.W-fFZ9IpJMdD97nC5yxC9y2yf9vLmuWNGFgsndCFkGg" rel="noopener noreferrer" target="_blank"><img alt="34" src="https://private-user-images.githubusercontent.com/1728657/365079545-5d60f6c7-a166-4460-9c64-23fc64be7978.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzU0NzQzNjQsIm5iZiI6MTczNTQ3NDA2NCwicGF0aCI6Ii8xNzI4NjU3LzM2NTA3OTU0NS01ZDYwZjZjNy1hMTY2LTQ0NjAtOWM2NC0yM2ZjNjRiZTc5NzgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTIyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEyMjlUMTIwNzQ0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZGVhNDA1MmFjM2ZkNWQyNGRjMDhkNzg5M2YyMzVhNDg0OGM5YWZlZDFkYmM2MDI0MDAzNjhlNTFjNTNmMjM1NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.W-fFZ9IpJMdD97nC5yxC9y2yf9vLmuWNGFgsndCFkGg" /></a></p>
<h3>🚀 Features</h3>
<ul>
<li>A nifty processing toolbox has been added into QField, with countless algorithms available to edit features and geometries while in the field</li>
Expand Down

0 comments on commit f0f1c11

Please sign in to comment.