You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sedona.apache.org by ji...@apache.org on 2022/08/01 04:49:09 UTC
[incubator-sedona-website] branch asf-site updated: Build website
This is an automated email from the ASF dual-hosted git repository.
jiayu pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-sedona-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 98ed4b1 Build website
98ed4b1 is described below
commit 98ed4b153aeefa205f0b2c9d21d8466148d44238
Author: Jia Yu <ji...@gmail.com>
AuthorDate: Sun Jul 31 21:49:05 2022 -0700
Build website
---
api/flink/Constructor/index.html | 118 ++++++++-
api/sql/Constructor/index.html | 7 +-
community/contributor/index.html | 284 +++++++++++++++++++++-
search/search_index.json | 2 +-
setup/databricks/index.html | 5 +-
sitemap.xml | 185 ++++++++-------
sitemap.xml.gz | Bin 249 -> 249 bytes
tutorial/{sql-r => python-vector-osm}/index.html | 289 ++++++++++++++---------
tutorial/sql-r/index.html | 4 +-
9 files changed, 672 insertions(+), 222 deletions(-)
diff --git a/api/flink/Constructor/index.html b/api/flink/Constructor/index.html
index 728223a..4337e94 100644
--- a/api/flink/Constructor/index.html
+++ b/api/flink/Constructor/index.html
@@ -65,7 +65,7 @@
<div data-md-component="skip">
- <a href="#st_geomfromwkt" class="md-skip">
+ <a href="#st_point" class="md-skip">
Skip to content
</a>
@@ -1880,11 +1880,29 @@
<li class="md-nav__item">
+ <a href="#st_point" class="md-nav__link">
+ ST_Point
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
<a href="#st_geomfromwkt" class="md-nav__link">
ST_GeomFromWKT
</a>
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#st_geomfromtext" class="md-nav__link">
+ ST_GeomFromText
+ </a>
+
+
</li>
<li class="md-nav__item">
@@ -1912,6 +1930,24 @@
</a>
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#st_linefromtext" class="md-nav__link">
+ ST_LineFromText
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#st_linestringfromtext" class="md-nav__link">
+ ST_LineStringFromText
+ </a>
+
+
</li>
<li class="md-nav__item">
@@ -2992,11 +3028,29 @@
<li class="md-nav__item">
+ <a href="#st_point" class="md-nav__link">
+ ST_Point
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
<a href="#st_geomfromwkt" class="md-nav__link">
ST_GeomFromWKT
</a>
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#st_geomfromtext" class="md-nav__link">
+ ST_GeomFromText
+ </a>
+
+
</li>
<li class="md-nav__item">
@@ -3024,6 +3078,24 @@
</a>
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#st_linefromtext" class="md-nav__link">
+ ST_LineFromText
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#st_linestringfromtext" class="md-nav__link">
+ ST_LineStringFromText
+ </a>
+
+
</li>
<li class="md-nav__item">
@@ -3075,6 +3147,14 @@
<h1>Constructor</h1>
+<h2 id="st_point">ST_Point<a class="headerlink" href="#st_point" title="Permanent link">¶</a></h2>
+<p>Introduction: Construct a Point from X and Y</p>
+<p>Format: <code>ST_Point (X:decimal, Y:decimal)</code></p>
+<p>Since: <code>v1.2.1</code></p>
+<p>SQL example:
+<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_Point</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">pointshape</span><span class="w"></span>
+<span class="k">FROM</span><span class="w"> </span><span class="n">pointtable</span><span class="w"></span>
+</code></pre></div></p>
<h2 id="st_geomfromwkt">ST_GeomFromWKT<a class="headerlink" href="#st_geomfromwkt" title="Permanent link">¶</a></h2>
<p>Introduction: Construct a Geometry from Wkt</p>
<p>Format:
@@ -3083,15 +3163,31 @@
<p>SQL example:
<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_GeomFromWKT</span><span class="p">(</span><span class="s1">'POINT(40.7128 -74.0060)'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">geometry</span><span class="w"></span>
</code></pre></div></p>
+<h2 id="st_geomfromtext">ST_GeomFromText<a class="headerlink" href="#st_geomfromtext" title="Permanent link">¶</a></h2>
+<p>Introduction: Construct a Geometry from Wkt. Alias of <a href="#ST_GeomFromWKT">ST_GeomFromWKT</a></p>
+<p>Format:
+<code>ST_GeomFromText (Wkt:string)</code></p>
+<p>Since: <code>v1.2.1</code></p>
+<p>SQL example:
+<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">'POINT(40.7128 -74.0060)'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">geometry</span><span class="w"></span>
+</code></pre></div></p>
<h2 id="st_geomfromwkb">ST_GeomFromWKB<a class="headerlink" href="#st_geomfromwkb" title="Permanent link">¶</a></h2>
-<p>Introduction: Construct a Geometry from WKB string</p>
+<p>Introduction: Construct a Geometry from WKB string or Binary</p>
<p>Format:
-<code>ST_GeomFromWKB (Wkb:string)</code></p>
+<code>ST_GeomFromWKB (Wkb:string)</code>
+<code>ST_GeomFromWKB (Wkb:binary)</code></p>
<p>Since: <code>v1.2.0</code></p>
<p>SQL example:
<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_GeomFromWKB</span><span class="p">(</span><span class="n">polygontable</span><span class="p">.</span><span class="n">_c0</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">polygonshape</span><span class="w"></span>
<span class="k">FROM</span><span class="w"> </span><span class="n">polygontable</span><span class="w"></span>
</code></pre></div></p>
+<p>Format:
+<code>ST_GeomFromWKB (Wkb:bytes)</code></p>
+<p>Since: <code>v1.2.1</code></p>
+<p>SQL example:
+<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_GeomFromWKB</span><span class="p">(</span><span class="n">polygontable</span><span class="p">.</span><span class="n">_c0</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">polygonshape</span><span class="w"></span>
+<span class="k">FROM</span><span class="w"> </span><span class="n">polygontable</span><span class="w"></span>
+</code></pre></div></p>
<h2 id="st_geomfromgeojson">ST_GeomFromGeoJSON<a class="headerlink" href="#st_geomfromgeojson" title="Permanent link">¶</a></h2>
<p>Introduction: Construct a Geometry from GeoJson</p>
<p>Format: <code>ST_GeomFromGeoJSON (GeoJson:string)</code></p>
@@ -3107,6 +3203,20 @@
<p>SQL example:
<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_PointFromText</span><span class="p">(</span><span class="s1">'40.7128,-74.0060'</span><span class="p">,</span><span class="w"> </span><span class="s1">','</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">pointshape</span><span class="w"></span>
</code></pre></div></p>
+<h2 id="st_linefromtext">ST_LineFromText<a class="headerlink" href="#st_linefromtext" title="Permanent link">¶</a></h2>
+<p>Introduction: Construct a LineString from Text, delimited by Delimiter (Optional)</p>
+<p>Format: <code>ST_LineFromText (Text:string, Delimiter:char)</code></p>
+<p>Since: <code>v1.2.1</code></p>
+<p>SQL example:
+<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_LineFromText</span><span class="p">(</span><span class="s1">'Linestring(1 2, 3 4)'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">line</span><span class="w"></span>
+</code></pre></div></p>
+<h2 id="st_linestringfromtext">ST_LineStringFromText<a class="headerlink" href="#st_linestringfromtext" title="Permanent link">¶</a></h2>
+<p>Introduction: Construct a LineString from Text, delimited by Delimiter (Optional). Alias of <a href="#ST_LineFromText">ST_LineFromText</a></p>
+<p>Format: <code>ST_LineStringFromText (Text:string, Delimiter:char)</code></p>
+<p>Since: <code>v1.2.1</code></p>
+<p>Spark SQL example:
+<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_LineStringFromText</span><span class="p">(</span><span class="s1">'Linestring(1 2, 3 4)'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">line</span><span class="w"></span>
+</code></pre></div></p>
<h2 id="st_polygonfromtext">ST_PolygonFromText<a class="headerlink" href="#st_polygonfromtext" title="Permanent link">¶</a></h2>
<p>Introduction: Construct a Polygon from Text, delimited by Delimiter. Path must be closed</p>
<p>Format: <code>ST_PolygonFromText (Text:string, Delimiter:char)</code></p>
@@ -3136,7 +3246,7 @@
<small>
Last update:
- <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">April 29, 2022 13:11:56</span>
+ <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">June 15, 2022 14:36:00</span>
</small>
diff --git a/api/sql/Constructor/index.html b/api/sql/Constructor/index.html
index 4a117b8..757f574 100644
--- a/api/sql/Constructor/index.html
+++ b/api/sql/Constructor/index.html
@@ -3161,9 +3161,10 @@
<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_GeomFromWKT</span><span class="p">(</span><span class="s1">'POINT(40.7128 -74.0060)'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">geometry</span><span class="w"></span>
</code></pre></div>
<h2 id="st_geomfromwkb">ST_GeomFromWKB<a class="headerlink" href="#st_geomfromwkb" title="Permanent link">¶</a></h2>
-<p>Introduction: Construct a Geometry from WKB string</p>
+<p>Introduction: Construct a Geometry from WKB string or Binary</p>
<p>Format:
-<code>ST_GeomFromWKB (Wkb:string)</code></p>
+<code>ST_GeomFromWKB (Wkb:string)</code>
+<code>ST_GeomFromWKB (Wkb:binary)</code></p>
<p>Since: <code>v1.0.0</code></p>
<p>Spark SQL example:
<div class="highlight"><pre><span></span><code><span class="k">SELECT</span><span class="w"> </span><span class="n">ST_GeomFromWKB</span><span class="p">(</span><span class="n">polygontable</span><span class="p">.</span><span class="n">_c0</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">polygonshape</span><span class="w"></span>
@@ -3304,7 +3305,7 @@ Format: <code>ST_Point (X:decimal, Y:decimal, Z:decimal)</code></p>
<small>
Last update:
- <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">April 20, 2022 18:16:58</span>
+ <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">June 8, 2022 10:58:54</span>
</small>
diff --git a/community/contributor/index.html b/community/contributor/index.html
index 91228c3..290d085 100644
--- a/community/contributor/index.html
+++ b/community/contributor/index.html
@@ -2133,8 +2133,53 @@
<li class="md-nav__item">
- <a href="#next-steps" class="md-nav__link">
- Next steps
+ <a href="#send-a-notice-to-ipmc" class="md-nav__link">
+ Send a notice to IPMC
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#send-the-invitation" class="md-nav__link">
+ Send the invitation
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#pmc-accept-and-icla-instruction" class="md-nav__link">
+ PMC Accept and ICLA instruction
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#create-asf-account" class="md-nav__link">
+ Create ASF account
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#pmc-annoucement" class="md-nav__link">
+ PMC annoucement
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#committer-done-template" class="md-nav__link">
+ Committer Done Template
</a>
@@ -3069,8 +3114,53 @@
<li class="md-nav__item">
- <a href="#next-steps" class="md-nav__link">
- Next steps
+ <a href="#send-a-notice-to-ipmc" class="md-nav__link">
+ Send a notice to IPMC
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#send-the-invitation" class="md-nav__link">
+ Send the invitation
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#pmc-accept-and-icla-instruction" class="md-nav__link">
+ PMC Accept and ICLA instruction
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#create-asf-account" class="md-nav__link">
+ Create ASF account
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#pmc-annoucement" class="md-nav__link">
+ PMC annoucement
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#committer-done-template" class="md-nav__link">
+ Committer Done Template
</a>
@@ -3198,7 +3288,7 @@
1. Call a vote (templates/committerVote.txt)
2. Close the vote. If the result is positive, invite the new committer.</p>
<h3 id="call-for-a-vote">Call for a vote<a class="headerlink" href="#call-for-a-vote" title="Permanent link">¶</a></h3>
-<p>We do the vote and discussion on the <a href="mailto:private@sedona.apache.org">private@sedona.apache.org</a> to enable a frank discussion. Please read <a href="https://community.apache.org/newcommitter.html#discussion">AS [...]
+<p>We do the vote and discussion on the <a href="mailto:private@sedona.apache.org">private@sedona.apache.org</a> to enable a frank discussion. Please read <a href="hhttps://incubator.apache.org/guides/ppmc.html">ASF Incubator [...]
<p>Let the Vote thread run for one week. A positive result is achieved by Consensus Approval: at least 3 +1 votes and no vetoes.</p>
<h4>PMC vote template</h4>
<p>This is the email to commence a vote for a new PMC candidate. New PMC members need to be voted for by the existing PMC members and subsequently approved by the Board (or Incubator PMC for incubating projects).</p>
@@ -3210,14 +3300,14 @@ Subject: [VOTE] New PMC candidate: [New PMC NAME]
Voting ends one week from today, or until at least 3 +1 votes are cast.
See voting guidelines at
-https://community.apache.org/newcommitter.html
+https://incubator.apache.org/guides/ppmc.html
</code></pre></div>
<h3 id="close-a-vote">Close a vote<a class="headerlink" href="#close-a-vote" title="Permanent link">¶</a></h3>
<p>This email ends the vote and reports the result to the project.</p>
<div class="highlight"><pre><span></span><code>To: private@sedona.apache.org
-Subject: [RESULT] [VOTE] New committer (or PMC candidate): [New PMC NAME]
+Subject: [VOTE][RESULT] New PMC candidate: [New PMC NAME]
-The vote has now closed. The results are:
+The vote has now closed: [paste the vote thread on https://lists.apache.org/list.html?private@sedona.apache.org]. The results are:
Binding Votes:
@@ -3227,15 +3317,187 @@ Binding Votes:
The vote is ***successful/not successful***
</code></pre></div>
-<h3 id="next-steps">Next steps<a class="headerlink" href="#next-steps" title="Permanent link">¶</a></h3>
-<p>Next steps include board approval, PMC invite, and PMC account set up. Please read <a href="https://community.apache.org/newcommitter.html#board-approval-of-new-pmc-member">ASF New Committer</a>.</p>
+<h3 id="send-a-notice-to-ipmc">Send a notice to IPMC<a class="headerlink" href="#send-a-notice-to-ipmc" title="Permanent link">¶</a></h3>
+<p>The nominating PPMC member should send a message to the IPMC (<a href="mailto:private@incubator.apache.org">private@incubator.apache.org</a>) with a reference to the vote result in the following f [...]
+<div class="highlight"><pre><span></span><code>To: private at incubator.apache.org
+CC: private at sedona.apache.org
+Subject: [NOTICE] New PMC NAME for Apache Sedona PPMC
+Body:
+
+New PMC NAME has been voted as a new member of the Apache Sedona PPMC. the vote thread is at: *link to the vote result thread*
+</code></pre></div>
+<p><strong>Note that there is a grace period of 72 hours from when the PPMC sends the NOTICE to the IPMC to when the PPMC should formally invite the proposed member. This is an important part of the overall process. Failure to do this can result in an embarassing situation for people involved.</strong></p>
+<h3 id="send-the-invitation">Send the invitation<a class="headerlink" href="#send-the-invitation" title="Permanent link">¶</a></h3>
+<div class="highlight"><pre><span></span><code>To: New PMC Email address
+CC: private@sedona.apache.org
+
+Dear NEW PMC NAME,
+
+In recognition of your demonstrated commitment to, and alignment with, the
+goals of the Apache Sedona project, the Sedona PPMC has voted to offer you
+membership in the Sedona PPMC ("Podling Project Management Committee").
+
+Please let us know if you accept by subscribing to the private alias [by
+sending mail to private-subscribe@sedona.apache.org], and posting
+a message to private@sedona.apache.org.
+
+The PPMC is the Incubator podling version of a project PMC ("Project
+Management Committee") that for every top-level project is tasked by the
+Apache Board of Directors with official oversight and binding votes in
+that project. When Sedona graduates from the Incubator to a top-level
+project, the project PMC is usually formed from the membership of the PPMC.
+Note that while participation in the PMC after graduation is not
+guaranteed, simply continuing your constructive and active participation
+is usually sufficient.
+
+As a PPMC member, and later as a PMC member, you are responsible for
+continuing the general project, code, and community oversight that you
+have exhibited so far. The votes of the PPMC are not legally binding;
+votes of the Incubator PMC are. However, many of the PPMC members
+are also Incubator PMC members, so they implicitly cast binding votes
+when we vote on PPMC issues. While this is an important legal
+distinction, it shouldn't enter your thinking when working on the PPMC -
+members should treat every decision as if it were legally binding for the
+ ASF. Also, in day-to-day activities, the Incubator PMC member vs PPMC
+ member distinction should be invisible -- we are peers.
+
+All PPMC members are subscribed to the project's private mail list, which
+is used to discuss issues unsuitable for an open, public forum, such as
+people issues (e.g. new committers, problematic community members, etc.),
+security issues, and the like. It can't be emphasized enough that
+care should be taken to minimize the use of the private list, discussing
+everything possible on the appropriate public list.
+
+The private PPMC list is *private* - it is strictly for the use of the
+PPMC. Messages are not to be forwarded to anyone else without the express
+permission of the PPMC. Also note that any Member of the Foundation has
+the right to review and participate in any PPMC or PMC list, as a PMC
+and PPMC are acting on behalf of the Membership.
+
+Finally, the PPMC (and assuming graduation, the PMC) is not meant to create
+a hierarchy within the committership or the community. In fact, a goal is
+to add all committers over time to the PPMC/PMC, as our belief is that those
+who do the work should get a binding vote. Therefore, in our day-to-day
+interactions with the rest of the community, we continue to interact as
+peers, where every reasonable opinion is considered, and all community
+members are invited to participate in our public voting. If there ever
+is a situation where the PMC/PPMC's view differs significantly from that
+of the rest of the community, this is a symptom of a problem that needs to
+be addressed.
+
+With the expectation of your acceptance, welcome!
+
+The Apache Sedona PPMC
+</code></pre></div>
+<h3 id="pmc-accept-and-icla-instruction">PMC Accept and ICLA instruction<a class="headerlink" href="#pmc-accept-and-icla-instruction" title="Permanent link">¶</a></h3>
+<div class="highlight"><pre><span></span><code>To: New PMC Email address
+Cc: private@sedona.apache.org
+Subject: Re: invitation to become Apache Sedona PMC
+
+Welcome. Here are the next steps in becoming a project committer. After that we will make
+an announcement to the dev@sedona.apache.org
+
+You need to send a Contributor License Agreement to the ASF.
+Normally you would send an Individual CLA. If you also make
+contributions done in work time or using work resources,
+see the Corporate CLA. Ask us if you have any issues.
+https://www.apache.org/licenses/#clas.
+
+You need to choose a preferred ASF user name and alternatives.
+In order to ensure it is available you can view a list of taken IDs at
+https://people.apache.org/committer-index.html
+
+Please notify us when you have submitted the CLA and by what means
+you did so. This will enable us to monitor its progress.
+
+We will arrange for your Apache user account when the CLA has
+been recorded.
+
+After that is done, please make followup replies to the [PROJECT]-dev list.
+We generally discuss everything there and keep the
+private@sedona.apache.org list for occasional matters which must be private.
+
+The developer section of the website describes roles within the ASF and provides other
+resources:
+ https://www.apache.org/foundation/how-it-works.html
+ https://www.apache.org/dev/
+
+The incubator also has some useful information for new committers
+in incubating projects:
+ https://incubator.apache.org/guides/committer.html
+ https://incubator.apache.org/guides/ppmc.html
+
+Just as before you became a committer, participation in any ASF community
+requires adherence to the ASF Code of Conduct:
+ https://www.apache.org/foundation/policies/conduct.html
+
+Yours,
+The Apache Sedona PMC
+</code></pre></div>
+<h3 id="create-asf-account">Create ASF account<a class="headerlink" href="#create-asf-account" title="Permanent link">¶</a></h3>
+<p>Once the ICLA has been filed, use the <a href="https://whimsy.apache.org/officers/acreq">ASF New Account Request form</a> to generate the request. Sedona mentors will request the account.</p>
+<p>Once Sedona graduates, the PMC chair will make the request.</p>
+<h3 id="pmc-annoucement">PMC annoucement<a class="headerlink" href="#pmc-annoucement" title="Permanent link">¶</a></h3>
+<p>This is the email to announce the new committer to sedona-dev once the account has been created.</p>
+<div class="highlight"><pre><span></span><code>To: dev@sedona.apache.org
+Subject: new committer: ###New PMC NAME
+
+The Podling Project Management Committee (PPMC) for Apache Sedona
+has invited New PMC NAME to become a committer and we are pleased
+to announce that they have accepted.
+
+### add specific details here ###
+
+Being a committer enables easier contribution to the
+project since there is no need to go via the patch
+submission process. This should enable better productivity.
+A PMC member helps manage and guide the direction of the project.
+</code></pre></div>
+<h3 id="committer-done-template">Committer Done Template<a class="headerlink" href="#committer-done-template" title="Permanent link">¶</a></h3>
+<p>After the committer account is established.</p>
+<div class="highlight"><pre><span></span><code>To: New PMC Email
+CC: private@sedona.apache.org
+Subject: account request: New PMC NAME
+
+New PMC NAME, as you know, the ASF Infrastructure has set up your
+committer account with the username '####'.
+
+Please follow the instructions to set up your GitHub, SSH,
+svn password, svn configuration, email forwarding, etc.
+https://www.apache.org/dev/#committers
+
+Please subscribe to the Sedona Project Management
+Committee mailing list private@sedona.apache.org.
+
+You have commit access to specific sections of the
+ASF repository, as follows:
+https://github.com/apache/incubator-sedona
+
+You need to link your ASF Account with your GitHub account.
+
+Here are the steps
+
+1. Verify you have a Github ID enabled with 2FA
+ * https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/
+2. Enter your Github ID into your Apache ID profile https://id.apache.org/
+3. Merge your Apache and GitHub accounts using
+ * GitBox (Apache Account Linking utility) https://gitbox.apache.org/setup/
+ * You should see 3 green checks in GitBox.
+ * Wait at least 30 minutes for an email inviting you to Apache GitHub Organization and accept invitation
+4. After accepting the Github Invitation verify that you are a
+member of the team https://github.com/orgs/apache/teams/sedona-committers
+
+Additionally, if you have been elected to the Sedona Podling
+ Project Mgmt. Committee (PPMC): Verify you are part of the LDAP sedona
+ ppmc https://whimsy.apache.org/roster/ppmc/sedona
+</code></pre></div>
<hr>
<div class="md-source-file">
<small>
Last update:
- <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">June 6, 2022 00:43:19</span>
+ <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">July 31, 2022 21:46:27</span>
</small>
diff --git a/search/search_index.json b/search/search_index.json
index 94fd672..a6c32c8 100644
--- a/search/search_index.json
+++ b/search/search_index.json
@@ -1 +1 @@
-{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":true,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"04/16/2022: Sedona 1.2.0-incubating is released. Sedona now supports geospatial stream processing in Apache Flink. \u00b6 11/23/2021: Sedona 1.1.1-incubating is released. It now supports Spark 3.2. \u00b6 10/06/2021: Sedona 1.1.0-incubating is released. R lang API is available on CRAN. Raster data and map algebra SQL functions are now supported. \ [...]
\ No newline at end of file
+{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":true,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"04/16/2022: Sedona 1.2.0-incubating is released. Sedona now supports geospatial stream processing in Apache Flink. \u00b6 11/23/2021: Sedona 1.1.1-incubating is released. It now supports Spark 3.2. \u00b6 10/06/2021: Sedona 1.1.0-incubating is released. R lang API is available on CRAN. Raster data and map algebra SQL functions are now supported. \ [...]
\ No newline at end of file
diff --git a/setup/databricks/index.html b/setup/databricks/index.html
index f853b40..91d4f32 100644
--- a/setup/databricks/index.html
+++ b/setup/databricks/index.html
@@ -3144,6 +3144,9 @@ spark.kryo.registrator org.apache.sedona.core.serde.SedonaKryoRegistrator
<p>From your cluster configuration (<code>Cluster</code> -> <code>Edit</code> -> <code>Configuration</code> -> <code>Advanced options</code> -> <code>Init Scripts</code>) add the newly created init script
<div class="highlight"><pre><span></span><code>dbfs:/FileStore/sedona/sedona-init.sh
</code></pre></div></p>
+<p>For enabling python support, from the Libraries tab install from PyPI
+<div class="highlight"><pre><span></span><code>apache-sedona
+</code></pre></div></p>
<p><em>Note: You need to install the Sedona libraries via init script because the libraries installed via UI are installed after the cluster has already started, and therefore the classes specified by the config <code>spark.sql.extensions</code>, <code>spark.serializer</code>, and <code>spark.kryo.registrator</code> are not available at startup time.</em></p>
<hr>
@@ -3151,7 +3154,7 @@ spark.kryo.registrator org.apache.sedona.core.serde.SedonaKryoRegistrator
<small>
Last update:
- <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">January 29, 2022 01:20:36</span>
+ <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">June 15, 2022 14:30:24</span>
</small>
diff --git a/sitemap.xml b/sitemap.xml
index 6f66990..86f810e 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,452 +2,457 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
- <lastmod>2022-06-06</lastmod>
+ <lastmod>2022-08-01</lastmod>
+ <changefreq>daily</changefreq>
+ </url>
+ <url>
+ <loc>None</loc>
+ <lastmod>2022-08-01</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index 91d6e19..eed9ba5 100644
Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ
diff --git a/tutorial/sql-r/index.html b/tutorial/python-vector-osm/index.html
similarity index 87%
copy from tutorial/sql-r/index.html
copy to tutorial/python-vector-osm/index.html
index 229015c..8061f4c 100644
--- a/tutorial/sql-r/index.html
+++ b/tutorial/python-vector-osm/index.html
@@ -15,7 +15,7 @@
- <title>R - Apache Sedona™ (incubating)</title>
+ <title>Example of spark + sedona + hdfs with slave nodes and OSM vector data consults - Apache Sedona™ (incubating)</title>
@@ -65,7 +65,7 @@
<div data-md-component="skip">
- <a href="#spatial-sql-applications-in-r-language" class="md-skip">
+ <a href="#example-of-spark-sedona-hdfs-with-slave-nodes-and-osm-vector-data-consults" class="md-skip">
Skip to content
</a>
@@ -98,7 +98,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
- R
+ Example of spark + sedona + hdfs with slave nodes and OSM vector data consults
</span>
</div>
@@ -216,8 +216,6 @@
-
-
@@ -234,7 +232,7 @@
<li class="md-tabs__item">
- <a href="../sql/" class="md-tabs__link md-tabs__link--active">
+ <a href="../sql/" class="md-tabs__link">
Programming Guides
</a>
</li>
@@ -819,14 +817,12 @@
-
-
- <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+ <li class="md-nav__item md-nav__item--nested">
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked>
+ <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
@@ -847,14 +843,12 @@
-
-
- <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+ <li class="md-nav__item md-nav__item--nested">
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_1" type="checkbox" id="__nav_4_1" checked>
+ <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_1" type="checkbox" id="__nav_4_1" >
@@ -875,14 +869,12 @@
-
-
- <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+ <li class="md-nav__item md-nav__item--nested">
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_1_1" type="checkbox" id="__nav_4_1_1" checked>
+ <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_1_1" type="checkbox" id="__nav_4_1_1" >
@@ -945,21 +937,11 @@
-
-
- <li class="md-nav__item md-nav__item--active">
-
- <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
-
-
-
-
-
- <a href="./" class="md-nav__link md-nav__link--active">
+ <li class="md-nav__item">
+ <a href="../sql-r/" class="md-nav__link">
R
</a>
-
</li>
@@ -2901,6 +2883,52 @@
+ <label class="md-nav__title" for="__toc">
+ <span class="md-nav__icon md-icon"></span>
+
+ Table of contents
+
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+ <li class="md-nav__item">
+
+ <a href="#registering-spark-session-adding-node-executor-configurations-and-sedona-registrator" class="md-nav__link">
+ Registering spark session, adding node executor configurations and sedona registrator
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#connecting-to-overpass-api-to-search-and-downloading-data-for-saving-into-hdfs" class="md-nav__link">
+ Connecting to Overpass API to search and downloading data for saving into HDFS
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#connecting-spark-sedona-with-saved-hdfs-file" class="md-nav__link">
+ Connecting spark sedona with saved hdfs file
+ </a>
+
+
+</li>
+
+ <li class="md-nav__item">
+
+ <a href="#consulting-and-organizing-data-for-analisis" class="md-nav__link">
+ Consulting and organizing data for analisis
+ </a>
+
+
+</li>
+
+ </ul>
+
</nav>
</div>
</div>
@@ -2913,68 +2941,144 @@
-<a href="https://github.com/apache/incubator-sedona/edit/master/docs/tutorial/sql-r.md" title="Edit this page" class="md-content__button md-icon">
+<a href="https://github.com/apache/incubator-sedona/edit/master/docs/tutorial/python-vector-osm.md" title="Edit this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
</a>
-<h1 id="spatial-sql-applications-in-r-language">Spatial SQL applications in R language<a class="headerlink" href="#spatial-sql-applications-in-r-language" title="Permanent link">¶</a></h1>
-<p>In <code>apache.sedona</code> , <code>sdf_register()</code>, a S3 generic from <code>sparklyr</code>
-converting a lower-level object to a Spark dataframe, can be applied to
-a <code>SpatialRDD</code> objects:</p>
-<div class="highlight"><pre><span></span><code><span class="nf">library</span><span class="p">(</span><span class="n">sparklyr</span><span class="p">)</span>
-<span class="nf">library</span><span class="p">(</span><span class="n">apache.sedona</span><span class="p">)</span>
-
-<span class="n">sc</span> <span class="o"><-</span> <span class="nf">spark_connect</span><span class="p">(</span><span class="n">master</span> <span class="o">=</span> <span class="s">"local"</span><span class="p">)</span>
-<span class="n">polygon_rdd</span> <span class="o"><-</span> <span class="nf">sedona_read_geojson</span><span class="p">(</span><span class="n">sc</span><span class="p">,</span> <span class="n">location</span> <span class="o">=</span> <span class="s">"/tmp/polygon.json"</span><span class="p">)</span>
-<span class="n">polygon_sdf</span> <span class="o"><-</span> <span class="n">polygon_rdd</span> <span class="o">%>%</span> <span class="nf">sdf_register</span><span class="p">()</span>
-
-<span class="n">polygon_sdf</span> <span class="o">%>%</span> <span class="nf">print</span><span class="p">(</span><span class="n">n</span> <span class="o">=</span> <span class="m">3</span><span class="p">)</span>
+<h1 id="example-of-spark-sedona-hdfs-with-slave-nodes-and-osm-vector-data-consults">Example of spark + sedona + hdfs with slave nodes and OSM vector data consults<a class="headerlink" href="#example-of-spark-sedona-hdfs-with-slave-nodes-and-osm-vector-data-consults" title="Permanent link">¶</a></h1>
+<div class="highlight"><pre><span></span><code>from IPython.display import display, HTML
+from pyspark.sql import SparkSession
+from pyspark import StorageLevel
+import pandas as pd
+from pyspark.sql.types import StructType, StructField,StringType, LongType, IntegerType, DoubleType, ArrayType
+from pyspark.sql.functions import regexp_replace
+from sedona.register import SedonaRegistrator
+from sedona.utils import SedonaKryoRegistrator, KryoSerializer
+from pyspark.sql.functions import col, split, expr
+from pyspark.sql.functions import udf, lit
+from sedona.utils import SedonaKryoRegistrator, KryoSerializer
+from pyspark.sql.functions import col, split, expr
+from pyspark.sql.functions import udf, lit, flatten
+from pywebhdfs.webhdfs import PyWebHdfsClient
+from datetime import date
+from pyspark.sql.functions import monotonically_increasing_id
+import json
</code></pre></div>
-<div class="codehilite"><pre><span></span><code><span class="err">##</span> <span class="err">#</span> <span class="nx">Source</span><span class="o">:</span> <span class="nx">spark</span><span class="cp"><?</span><span class="o">></span> <span class="p">[</span><span class="o">??</span> <span class="nx">x</span> <span class="mi">1</span><span class="p">]</span>
-<span class="c1">## geometry</span>
-<span class="c1">## <list></span>
-<span class="c1">## 1 <POLYGON ((-87.621765 34.873444, -87.617535 34.873369, -87.6123 34.873337, -8…</span>
-<span class="c1">## 2 <POLYGON ((-85.719017 31.297901, -85.715626 31.305203, -85.714271 31.307096, …</span>
-<span class="c1">## 3 <POLYGON ((-86.000685 34.00537, -85.998837 34.009768, -85.998012 34.010398, -…</span>
-<span class="c1">## # … with more rows</span>
+<h3 id="registering-spark-session-adding-node-executor-configurations-and-sedona-registrator">Registering spark session, adding node executor configurations and sedona registrator<a class="headerlink" href="#registering-spark-session-adding-node-executor-configurations-and-sedona-registrator" title="Permanent link">¶</a></h3>
+<div class="highlight"><pre><span></span><code>spark = SparkSession.\
+ builder.\
+ appName("Overpass-API").\
+ enableHiveSupport().\
+ master("local[*]").\
+ master("spark://spark-master:7077").\
+ config("spark.executor.memory", "15G").\
+ config("spark.driver.maxResultSize", "135G").\
+ config("spark.sql.shuffle.partitions", "500").\
+ config(' spark.sql.adaptive.coalescePartitions.enabled', True).\
+ config('spark.sql.adaptive.enabled', True).\
+ config('spark.sql.adaptive.coalescePartitions.initialPartitionNum', 125).\
+ config("spark.sql.execution.arrow.pyspark.enabled", True).\
+ config("spark.sql.execution.arrow.fallback.enabled", True).\
+ config('spark.kryoserializer.buffer.max', 2047).\
+ config("spark.serializer", KryoSerializer.getName).\
+ config("spark.kryo.registrator", SedonaKryoRegistrator.getName).\
+ config("spark.jars.packages", "org.apache.sedona:sedona-python-adapter-3.0_2.12:1.1.0-incubating,org.datasyslab:geotools-wrapper:1.1.0-25.2") .\
+ enableHiveSupport().\
+ getOrCreate()
+
+SedonaRegistrator.registerAll(spark)
+sc = spark.sparkContext
</code></pre></div>
-
-<p>The resulting Spark dataframe object can then be modified using <code>dplyr</code>
-verbs familiar to many R users. In addition, spatial UDFs supported by
-Sedona can inter-operate seamlessly with other functions supported in
-<code>sparklyr</code>’s dbplyr SQL translation env. For example, the code below
-finds the average area of all polygons in <code>polygon_sdf</code>:</p>
-<div class="highlight"><pre><span></span><code><span class="n">mean_area_sdf</span> <span class="o"><-</span> <span class="n">polygon_sdf</span> <span class="o">%>%</span>
- <span class="n">dplyr</span><span class="o">::</span><span class="nf">summarize</span><span class="p">(</span><span class="n">dplyr</span><span class="o">::</span><span class="nf">summarize</span><span class="p">(</span><span class="n">mean_area</span> <span class="o">=</span> <span class="nf">mean</span><span class="p">(</span><span class="nf">ST_Area</span><span class="p">(</span><span class="n">geometry</span><span class="p">))))</span>
-<span class="nf">print</span><span class="p">(</span><span class="n">mean_area_sdf</span><span class="p">)</span>
+<h3 id="connecting-to-overpass-api-to-search-and-downloading-data-for-saving-into-hdfs">Connecting to Overpass API to search and downloading data for saving into HDFS<a class="headerlink" href="#connecting-to-overpass-api-to-search-and-downloading-data-for-saving-into-hdfs" title="Permanent link">¶</a></h3>
+<div class="highlight"><pre><span></span><code>import requests
+import json
+
+overpass_url = "http://overpass-api.de/api/interpreter"
+overpass_query = """
+[out:json];
+area[name = "Foz do Iguaçu"];
+way(area)["highway"~""];
+out geom;
+>;
+out skel qt;
+"""
+
+response = requests.get(overpass_url,
+ params={'data': overpass_query})
+data = response.json()
+hdfs = PyWebHdfsClient(host='179.106.229.159',port='50070', user_name='root')
+file_name = "foz_roads_osm.json"
+hdfs.delete_file_dir(file_name)
+hdfs.create_file(file_name, json.dumps(data))
</code></pre></div>
-<div class="codehilite"><pre><span></span><code><span class="err">##</span> <span class="err">#</span> <span class="nx">Source</span><span class="o">:</span> <span class="nx">spark</span><span class="cp"><?</span><span class="o">></span> <span class="p">[</span><span class="o">??</span> <span class="nx">x</span> <span class="mi">1</span><span class="p">]</span>
-<span class="c1">## mean_area</span>
-<span class="c1">## <dbl></span>
-<span class="c1">## 1 0.00217</span>
+<h3 id="connecting-spark-sedona-with-saved-hdfs-file">Connecting spark sedona with saved hdfs file<a class="headerlink" href="#connecting-spark-sedona-with-saved-hdfs-file" title="Permanent link">¶</a></h3>
+<div class="highlight"><pre><span></span><code>path = "hdfs://776faf4d6a1e:8020/"+file_name
+df = spark.read.json(path, multiLine = "true")
</code></pre></div>
+<h3 id="consulting-and-organizing-data-for-analisis">Consulting and organizing data for analisis<a class="headerlink" href="#consulting-and-organizing-data-for-analisis" title="Permanent link">¶</a></h3>
+<div class="highlight"><pre><span></span><code>from pyspark.sql.functions import explode, arrays_zip
+
+df.createOrReplaceTempView("df")
+tb = spark.sql("select *, size(elements) total_nodes from df")
+tb.show(5)
+
+isolate_total_nodes = tb.select("total_nodes").toPandas()
+total_nodes = isolate_total_nodes["total_nodes"].iloc[0]
+print(total_nodes)
+
+isolate_ids = tb.select("elements.id").toPandas()
+ids = pd.DataFrame(isolate_ids["id"].iloc[0]).drop_duplicates()
+print(ids[0].iloc[1])
+
+formatted_df = tb\
+.withColumn("id", explode("elements.id"))
+
+formatted_df.show(5)
+
+formatted_df = tb\
+.withColumn("new", arrays_zip("elements.id", "elements.geometry", "elements.nodes", "elements.tags"))\
+.withColumn("new", explode("new"))
+
+formatted_df.show(5)
+
+# formatted_df.printSchema()
-<p>Once spatial objects are imported into Spark dataframes, they can also
-be easily integrated with other non-spatial attributes, e.g.,</p>
-<div class="highlight"><pre><span></span><code><span class="n">modified_polygon_sdf</span> <span class="o"><-</span> <span class="n">polygon_sdf</span> <span class="o">%>%</span>
- <span class="n">dplyr</span><span class="o">::</span><span class="nf">mutate</span><span class="p">(</span><span class="n">type</span> <span class="o">=</span> <span class="s">"polygon"</span><span class="p">)</span>
+formatted_df = formatted_df.select("new.0","new.1","new.2","new.3.maxspeed","new.3.incline","new.3.surface", "new.3.name", "total_nodes")
+formatted_df = formatted_df.withColumnRenamed("0","id").withColumnRenamed("1","geom").withColumnRenamed("2","nodes").withColumnRenamed("3","tags")
+formatted_df.createOrReplaceTempView("formatted_df")
+formatted_df.show(5)
+# TODO atualizar daqui para baixo para considerar a linha inteira na lógica
+points_tb = spark.sql("select geom, id from formatted_df where geom IS NOT NULL")
+points_tb = points_tb\
+.withColumn("new", arrays_zip("geom.lat", "geom.lon"))\
+.withColumn("new", explode("new"))
+
+points_tb = points_tb.select("new.0","new.1", "id")
+
+points_tb = points_tb.withColumnRenamed("0","lat").withColumnRenamed("1","lon")
+points_tb.printSchema()
+
+points_tb.createOrReplaceTempView("points_tb")
+
+points_tb.show(5)
+
+coordinates_tb = spark.sql("select (select collect_list(CONCAT(p1.lat,',',p1.lon)) from points_tb p1 where p1.id = p2.id group by p1.id) as coordinates, p2.id, p2.maxspeed, p2.incline, p2.surface, p2.name, p2.nodes, p2.total_nodes from formatted_df p2")
+coordinates_tb.createOrReplaceTempView("coordinates_tb")
+coordinates_tb.show(5)
+
+roads_tb = spark.sql("SELECT ST_LineStringFromText(REPLACE(REPLACE(CAST(coordinates as string),'[',''),']',''), ',') as geom, id, maxspeed, incline, surface, name, nodes, total_nodes FROM coordinates_tb WHERE coordinates IS NOT NULL")
+roads_tb.createOrReplaceTempView("roads_tb")
+roads_tb.show(5)
</code></pre></div>
-<p>Notice that all of the above can open up many interesting possiblities. For
-example, one can extract ML features from geospatial data in Spark
-dataframes, build a ML pipeline using <code>ml_*</code> family of functions in
-<code>sparklyr</code> to work with such features, and if the output of a ML model
-happens to be a geospatial object as well, one can even apply
-visualization routines in <code>apache.sedona</code> to visualize the difference
-between any predicted geometry and the corresponding ground truth.</p>
<hr>
<div class="md-source-file">
<small>
Last update:
- <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">September 28, 2021 21:57:22</span>
+ <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">July 12, 2022 17:43:23</span>
</small>
@@ -2997,41 +3101,6 @@ between any predicted geometry and the corresponding ground truth.</p>
<footer class="md-footer">
- <div class="md-footer-nav">
- <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
-
- <a href="../sql-python/" title="Python" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
- <div class="md-footer-nav__button md-icon">
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
- </div>
- <div class="md-footer-nav__title">
- <div class="md-ellipsis">
- <span class="md-footer-nav__direction">
- Previous
- </span>
- Python
- </div>
- </div>
- </a>
-
-
- <a href="../raster/" title="Raster data - Map Algebra" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
- <div class="md-footer-nav__title">
- <div class="md-ellipsis">
- <span class="md-footer-nav__direction">
- Next
- </span>
- Raster data - Map Algebra
- </div>
- </div>
- <div class="md-footer-nav__button md-icon">
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
- </div>
- </a>
-
- </nav>
- </div>
-
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-copyright">
diff --git a/tutorial/sql-r/index.html b/tutorial/sql-r/index.html
index 229015c..3e3e5e4 100644
--- a/tutorial/sql-r/index.html
+++ b/tutorial/sql-r/index.html
@@ -2947,7 +2947,7 @@ Sedona can inter-operate seamlessly with other functions supported in
<code>sparklyr</code>’s dbplyr SQL translation env. For example, the code below
finds the average area of all polygons in <code>polygon_sdf</code>:</p>
<div class="highlight"><pre><span></span><code><span class="n">mean_area_sdf</span> <span class="o"><-</span> <span class="n">polygon_sdf</span> <span class="o">%>%</span>
- <span class="n">dplyr</span><span class="o">::</span><span class="nf">summarize</span><span class="p">(</span><span class="n">dplyr</span><span class="o">::</span><span class="nf">summarize</span><span class="p">(</span><span class="n">mean_area</span> <span class="o">=</span> <span class="nf">mean</span><span class="p">(</span><span class="nf">ST_Area</span><span class="p">(</span><span class="n">geometry</span><span class="p">))))</span>
+ <span class="n">dplyr</span><span class="o">::</span><span class="nf">summarize</span><span class="p">(</span><span class="n">mean_area</span> <span class="o">=</span> <span class="nf">mean</span><span class="p">(</span><span class="nf">ST_Area</span><span class="p">(</span><span class="n">geometry</span><span class="p">)))</span>
<span class="nf">print</span><span class="p">(</span><span class="n">mean_area_sdf</span><span class="p">)</span>
</code></pre></div>
<div class="codehilite"><pre><span></span><code><span class="err">##</span> <span class="err">#</span> <span class="nx">Source</span><span class="o">:</span> <span class="nx">spark</span><span class="cp"><?</span><span class="o">></span> <span class="p">[</span><span class="o">??</span> <span class="nx">x</span> <span class="mi">1</span><span class="p">]</span>
@@ -2974,7 +2974,7 @@ between any predicted geometry and the corresponding ground truth.</p>
<small>
Last update:
- <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">September 28, 2021 21:57:22</span>
+ <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-datetime">June 30, 2022 22:46:22</span>
</small>