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 2020/09/07 08:39:58 UTC

[incubator-sedona-website] branch asf-site updated: Initial 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 1e8dd26  Initial website
1e8dd26 is described below

commit 1e8dd26ad832dcca24ffe19858ffdacda30b5237
Author: Jia Yu <ji...@gmail.com>
AuthorDate: Mon Sep 7 01:39:42 2020 -0700

    Initial website
---
 .asf.yaml                                          |      2 +
 404.html                                           |    931 +
 api/GeoSpark-Python-API/index.html                 |    986 +
 api/GeoSpark-Scala-and-Java-API/index.html         |   1049 +
 api/sql/GeoSparkSQL-AggregateFunction/index.html   |   1097 +
 api/sql/GeoSparkSQL-Constructor/index.html         |   1317 +
 api/sql/GeoSparkSQL-Function/index.html            |   1869 +
 api/sql/GeoSparkSQL-Optimizer/index.html           |   1155 +
 api/sql/GeoSparkSQL-Overview/index.html            |   1105 +
 api/sql/GeoSparkSQL-Parameter/index.html           |   1113 +
 api/sql/GeoSparkSQL-Predicate/index.html           |   1192 +
 api/sql/GeoSparkSQL-javadoc/index.html             |   1049 +
 api/viz/Babylon-Scala-and-Java-API/index.html      |   1048 +
 api/viz/sql/index.html                             |   1288 +
 assets/images/favicon.png                          |    Bin 0 -> 521 bytes
 assets/images/icons/bitbucket.4ebea66e.svg         |     20 +
 assets/images/icons/github.a4034fb1.svg            |     18 +
 assets/images/icons/gitlab.348cdb3a.svg            |     38 +
 assets/javascripts/application.8eb9be28.js         |      1 +
 assets/javascripts/lunr/lunr.da.js                 |      1 +
 assets/javascripts/lunr/lunr.de.js                 |      1 +
 assets/javascripts/lunr/lunr.du.js                 |      1 +
 assets/javascripts/lunr/lunr.es.js                 |      1 +
 assets/javascripts/lunr/lunr.fi.js                 |      1 +
 assets/javascripts/lunr/lunr.fr.js                 |      1 +
 assets/javascripts/lunr/lunr.hu.js                 |      1 +
 assets/javascripts/lunr/lunr.it.js                 |      1 +
 assets/javascripts/lunr/lunr.jp.js                 |      1 +
 assets/javascripts/lunr/lunr.multi.js              |      1 +
 assets/javascripts/lunr/lunr.no.js                 |      1 +
 assets/javascripts/lunr/lunr.pt.js                 |      1 +
 assets/javascripts/lunr/lunr.ro.js                 |      1 +
 assets/javascripts/lunr/lunr.ru.js                 |      1 +
 assets/javascripts/lunr/lunr.stemmer.support.js    |      1 +
 assets/javascripts/lunr/lunr.sv.js                 |      1 +
 assets/javascripts/lunr/lunr.tr.js                 |      1 +
 assets/javascripts/lunr/tinyseg.js                 |      1 +
 assets/javascripts/modernizr.1aa3b519.js           |      1 +
 .../stylesheets/application-palette.6079476c.css   |      2 +
 assets/stylesheets/application.78aab2dc.css        |      2 +
 contact/index.html                                 |   1092 +
 contribute/contributor/index.html                  |   1163 +
 contribute/rule/index.html                         |   1159 +
 .../index.html                                     |   1409 +
 .../GeoSpark-All-Modules-Release-notes/index.html  |   1576 +
 download/cluster/index.html                        |   1086 +
 download/compile/index.html                        |   1090 +
 download/overview/index.html                       |   1069 +
 download/project/index.html                        |   1212 +
 download/scalashell/index.html                     |   1115 +
 download/zeppelin/index.html                       |   1195 +
 image/add-geospark-interpreter.gif                 |    Bin 0 -> 616356 bytes
 image/arealm.csv                                   | 121960 ++++++++++++++++++
 image/enable-helium.gif                            |    Bin 0 -> 275014 bytes
 image/geopandas_plot.PNG                           |    Bin 0 -> 55662 bytes
 image/geospark-stat.png                            |    Bin 0 -> 120455 bytes
 image/geospark-zeppelin-demo.json                  |      1 +
 image/icon.png                                     |    Bin 0 -> 17096 bytes
 image/sql-zeppelin.gif                             |    Bin 0 -> 1293192 bytes
 image/sql-zeppelin.png                             |    Bin 0 -> 577147 bytes
 image/viz-zeppelin.gif                             |    Bin 0 -> 2506165 bytes
 image/viz-zeppelin.png                             |    Bin 0 -> 433678 bytes
 index.html                                         |   1126 +
 publication/index.html                             |   1105 +
 search/search_index.json                           |   1784 +
 sitemap.xml                                        |    198 +
 .../index.html                                     |   1135 +
 tutorial/GeoSpark-Runnable-DEMO/index.html         |    985 +
 tutorial/benchmark/index.html                      |   1050 +
 tutorial/faq/index.html                            |    985 +
 tutorial/geospark-core-python/index.html           |   2377 +
 tutorial/geospark-sql-python/index.html            |   1890 +
 tutorial/rdd/index.html                            |   2121 +
 tutorial/sql/index.html                            |   1504 +
 tutorial/viz/index.html                            |   1437 +
 tutorial/zeppelin/index.html                       |   1116 +
 76 files changed, 169241 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..0ba12c6
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,2 @@
+publish:
+  whoami:  asf-site
\ No newline at end of file
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..cbf1ed2
--- /dev/null
+++ b/404.html
@@ -0,0 +1,931 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="/assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="/assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="/assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="/assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="/" title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="/" title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/download/zeppelin/" title="Install GeoSpark-Zeppelin" class="md-nav__link">
+      Install GeoSpark-Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/download/compile/" title="Compile the source code" class="md-nav__link">
+      Compile the source code
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      Tutorial
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        Tutorial
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/rdd/" title="Spatial RDD application" class="md-nav__link">
+      Spatial RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/sql/" title="Spatial SQL application" class="md-nav__link">
+      Spatial SQL application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/viz/" title="Visualize Spatial DataFrame" class="md-nav__link">
+      Visualize Spatial DataFrame
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/zeppelin/" title="Run GeoSpark via Zeppelin" class="md-nav__link">
+      Run GeoSpark via Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/geospark-core-python/" title="Spatial RDD in Python" class="md-nav__link">
+      Spatial RDD in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/geospark-sql-python/" title="Spatial SQL in Python" class="md-nav__link">
+      Spatial SQL in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/GeoSpark-Runnable-DEMO/" title="GeoSpark template project" class="md-nav__link">
+      GeoSpark template project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/faq/" title="Frequently Asked Questions" class="md-nav__link">
+      Frequently Asked Questions
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/Advanced-Tutorial-Tune-your-GeoSpark-Application/" title="Tune GeoSpark RDD application" class="md-nav__link">
+      Tune GeoSpark RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/tutorial/benchmark/" title="Benchmark" class="md-nav__link">
+      Benchmark
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
+    
+    <label class="md-nav__link" for="nav-4">
+      API
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        API
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-1" type="checkbox" id="nav-4-1">
+    
+    <label class="md-nav__link" for="nav-4-1">
+      GeoSpark core (RDD)
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-1">
+        GeoSpark core (RDD)
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/GeoSpark-Scala-and-Java-API/" title="Scala/Java doc" class="md-nav__link">
+      Scala/Java doc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/GeoSpark-Python-API/" title="Python doc" class="md-nav__link">
+      Python doc
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2">
+    
+    <label class="md-nav__link" for="nav-4-2">
+      GeoSpark SQL
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-2">
+        GeoSpark SQL
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/sql/GeoSparkSQL-javadoc/" title="JavaDoc" class="md-nav__link">
+      JavaDoc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/sql/GeoSparkSQL-Overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/sql/GeoSparkSQL-Constructor/" title="Constructor" class="md-nav__link">
+      Constructor
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/sql/GeoSparkSQL-Function/" title="Function" class="md-nav__link">
+      Function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/sql/GeoSparkSQL-Predicate/" title="Predicate" class="md-nav__link">
+      Predicate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/sql/GeoSparkSQL-AggregateFunction/" title="Aggregate function" class="md-nav__link">
+      Aggregate function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/sql/GeoSparkSQL-Optimizer/" title="Join query (optimizer)" class="md-nav__link">
+      Join query (optimizer)
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/sql/GeoSparkSQL-Parameter/" title="Parameter" class="md-nav__link">
+      Parameter
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-3" type="checkbox" id="nav-4-3">
+    
+    <label class="md-nav__link" for="nav-4-3">
+      GeoSpark Viz
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-3">
+        GeoSpark Viz
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/viz/sql/" title="DataFrame/SQL" class="md-nav__link">
+      DataFrame/SQL
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/api/viz/Babylon-Scala-and-Java-API/" title="RDD" class="md-nav__link">
+      RDD
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Contributing
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Contributing
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/contribute/rule/" title="Contributing rule" class="md-nav__link">
+      Contributing rule
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/contribute/contributor/" title="Contributors and committers" class="md-nav__link">
+      Contributors and committers
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="/contact/" title="Contact" class="md-nav__link">
+      Contact
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="/publication/" title="Publications" class="md-nav__link">
+      Publications
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
+    
+    <label class="md-nav__link" for="nav-8">
+      License
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-8">
+        License
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/license/License-before-1-2-0/" title="License-before-1.2.0" class="md-nav__link">
+      License-before-1.2.0
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="/license/License/" title="License" class="md-nav__link">
+      License
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+  <h1>404 - Not found</h1>
+
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="http://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+        
+  <div class="md-footer-social">
+    
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+    
+      <a href="https://github.com/DataSystemsLab/GeoSpark" class="md-footer-social__link fa fa-github"></a>
+    
+      <a href="https://twitter.com/GeoSpark_ASU" class="md-footer-social__link fa fa-twitter"></a>
+    
+  </div>
+
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="/assets/javascripts/application.8eb9be28.js"></script>
+      
+      <script>app.initialize({version:"0.17.2",url:{base:""}})</script>
+      
+    
+    
+      
+        <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64886725-1","www.public.asu.edu/~jiayu2/geospark/index.html"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName( [...]
+      
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/api/GeoSpark-Python-API/index.html b/api/GeoSpark-Python-API/index.html
new file mode 100644
index 0000000..8799153
--- /dev/null
+++ b/api/GeoSpark-Python-API/index.html
@@ -0,0 +1,986 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>Python doc - GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="../../assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="../../assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../.." title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                Python doc
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../.." title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/zeppelin/" title="Install GeoSpark-Zeppelin" class="md-nav__link">
+      Install GeoSpark-Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/compile/" title="Compile the source code" class="md-nav__link">
+      Compile the source code
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      Tutorial
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        Tutorial
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/rdd/" title="Spatial RDD application" class="md-nav__link">
+      Spatial RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/sql/" title="Spatial SQL application" class="md-nav__link">
+      Spatial SQL application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/viz/" title="Visualize Spatial DataFrame" class="md-nav__link">
+      Visualize Spatial DataFrame
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/zeppelin/" title="Run GeoSpark via Zeppelin" class="md-nav__link">
+      Run GeoSpark via Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/geospark-core-python/" title="Spatial RDD in Python" class="md-nav__link">
+      Spatial RDD in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/geospark-sql-python/" title="Spatial SQL in Python" class="md-nav__link">
+      Spatial SQL in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/GeoSpark-Runnable-DEMO/" title="GeoSpark template project" class="md-nav__link">
+      GeoSpark template project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/faq/" title="Frequently Asked Questions" class="md-nav__link">
+      Frequently Asked Questions
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/Advanced-Tutorial-Tune-your-GeoSpark-Application/" title="Tune GeoSpark RDD application" class="md-nav__link">
+      Tune GeoSpark RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/benchmark/" title="Benchmark" class="md-nav__link">
+      Benchmark
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
+    
+    <label class="md-nav__link" for="nav-4">
+      API
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        API
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-1" type="checkbox" id="nav-4-1" checked>
+    
+    <label class="md-nav__link" for="nav-4-1">
+      GeoSpark core (RDD)
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-1">
+        GeoSpark core (RDD)
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSpark-Scala-and-Java-API/" title="Scala/Java doc" class="md-nav__link">
+      Scala/Java doc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active">
+    
+    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
+    
+    
+    <a href="./" title="Python doc" class="md-nav__link md-nav__link--active">
+      Python doc
+    </a>
+    
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2">
+    
+    <label class="md-nav__link" for="nav-4-2">
+      GeoSpark SQL
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-2">
+        GeoSpark SQL
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-javadoc/" title="JavaDoc" class="md-nav__link">
+      JavaDoc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Constructor/" title="Constructor" class="md-nav__link">
+      Constructor
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Function/" title="Function" class="md-nav__link">
+      Function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Predicate/" title="Predicate" class="md-nav__link">
+      Predicate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-AggregateFunction/" title="Aggregate function" class="md-nav__link">
+      Aggregate function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Optimizer/" title="Join query (optimizer)" class="md-nav__link">
+      Join query (optimizer)
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Parameter/" title="Parameter" class="md-nav__link">
+      Parameter
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-3" type="checkbox" id="nav-4-3">
+    
+    <label class="md-nav__link" for="nav-4-3">
+      GeoSpark Viz
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-3">
+        GeoSpark Viz
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../viz/sql/" title="DataFrame/SQL" class="md-nav__link">
+      DataFrame/SQL
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../viz/Babylon-Scala-and-Java-API/" title="RDD" class="md-nav__link">
+      RDD
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Contributing
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Contributing
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../contribute/rule/" title="Contributing rule" class="md-nav__link">
+      Contributing rule
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../contribute/contributor/" title="Contributors and committers" class="md-nav__link">
+      Contributors and committers
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../contact/" title="Contact" class="md-nav__link">
+      Contact
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../publication/" title="Publications" class="md-nav__link">
+      Publications
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
+    
+    <label class="md-nav__link" for="nav-8">
+      License
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-8">
+        License
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../license/License-before-1-2-0/" title="License-before-1.2.0" class="md-nav__link">
+      License-before-1.2.0
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../license/License/" title="License" class="md-nav__link">
+      License
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+                
+                  <a href="https://github.com/DataSystemsLab/GeoSpark/edit/master/docs/api/GeoSpark-Python-API.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
+                
+                
+                  <h1>Python doc</h1>
+                
+                <p>Will be available soon.</p>
+                
+                  
+                
+              
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+    <div class="md-footer-nav">
+      <nav class="md-footer-nav__inner md-grid">
+        
+          <a href="../GeoSpark-Scala-and-Java-API/" title="Scala/Java doc" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+            </div>
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Previous
+                </span>
+                Scala/Java doc
+              </span>
+            </div>
+          </a>
+        
+        
+          <a href="../sql/GeoSparkSQL-javadoc/" title="JavaDoc" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Next
+                </span>
+                JavaDoc
+              </span>
+            </div>
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+            </div>
+          </a>
+        
+      </nav>
+    </div>
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="http://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+        
+  <div class="md-footer-social">
+    
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+    
+      <a href="https://github.com/DataSystemsLab/GeoSpark" class="md-footer-social__link fa fa-github"></a>
+    
+      <a href="https://twitter.com/GeoSpark_ASU" class="md-footer-social__link fa fa-twitter"></a>
+    
+  </div>
+
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="../../assets/javascripts/application.8eb9be28.js"></script>
+      
+      <script>app.initialize({version:"0.17.2",url:{base:"../.."}})</script>
+      
+    
+    
+      
+        <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64886725-1","www.public.asu.edu/~jiayu2/geospark/index.html"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName( [...]
+      
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/api/GeoSpark-Scala-and-Java-API/index.html b/api/GeoSpark-Scala-and-Java-API/index.html
new file mode 100644
index 0000000..3bb797f
--- /dev/null
+++ b/api/GeoSpark-Scala-and-Java-API/index.html
@@ -0,0 +1,1049 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>Scala/Java doc - GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="../../assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="../../assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+      <a href="#scala-and-java-api" tabindex="1" class="md-skip">
+        Skip to content
+      </a>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../.." title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                Scala/Java doc
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../.." title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/zeppelin/" title="Install GeoSpark-Zeppelin" class="md-nav__link">
+      Install GeoSpark-Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../download/compile/" title="Compile the source code" class="md-nav__link">
+      Compile the source code
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      Tutorial
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        Tutorial
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/rdd/" title="Spatial RDD application" class="md-nav__link">
+      Spatial RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/sql/" title="Spatial SQL application" class="md-nav__link">
+      Spatial SQL application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/viz/" title="Visualize Spatial DataFrame" class="md-nav__link">
+      Visualize Spatial DataFrame
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/zeppelin/" title="Run GeoSpark via Zeppelin" class="md-nav__link">
+      Run GeoSpark via Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/geospark-core-python/" title="Spatial RDD in Python" class="md-nav__link">
+      Spatial RDD in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/geospark-sql-python/" title="Spatial SQL in Python" class="md-nav__link">
+      Spatial SQL in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/GeoSpark-Runnable-DEMO/" title="GeoSpark template project" class="md-nav__link">
+      GeoSpark template project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/faq/" title="Frequently Asked Questions" class="md-nav__link">
+      Frequently Asked Questions
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/Advanced-Tutorial-Tune-your-GeoSpark-Application/" title="Tune GeoSpark RDD application" class="md-nav__link">
+      Tune GeoSpark RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../tutorial/benchmark/" title="Benchmark" class="md-nav__link">
+      Benchmark
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
+    
+    <label class="md-nav__link" for="nav-4">
+      API
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        API
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-1" type="checkbox" id="nav-4-1" checked>
+    
+    <label class="md-nav__link" for="nav-4-1">
+      GeoSpark core (RDD)
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-1">
+        GeoSpark core (RDD)
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active">
+    
+    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
+    
+    
+      <label class="md-nav__link md-nav__link--active" for="toc">
+        Scala/Java doc
+      </label>
+    
+    <a href="./" title="Scala/Java doc" class="md-nav__link md-nav__link--active">
+      Scala/Java doc
+    </a>
+    
+      
+<nav class="md-nav md-nav--secondary">
+  
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#scala-and-java-api" title="Scala and Java API" class="md-nav__link">
+    Scala and Java API
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+    
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSpark-Python-API/" title="Python doc" class="md-nav__link">
+      Python doc
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2">
+    
+    <label class="md-nav__link" for="nav-4-2">
+      GeoSpark SQL
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-2">
+        GeoSpark SQL
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-javadoc/" title="JavaDoc" class="md-nav__link">
+      JavaDoc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Constructor/" title="Constructor" class="md-nav__link">
+      Constructor
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Function/" title="Function" class="md-nav__link">
+      Function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Predicate/" title="Predicate" class="md-nav__link">
+      Predicate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-AggregateFunction/" title="Aggregate function" class="md-nav__link">
+      Aggregate function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Optimizer/" title="Join query (optimizer)" class="md-nav__link">
+      Join query (optimizer)
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../sql/GeoSparkSQL-Parameter/" title="Parameter" class="md-nav__link">
+      Parameter
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-3" type="checkbox" id="nav-4-3">
+    
+    <label class="md-nav__link" for="nav-4-3">
+      GeoSpark Viz
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-3">
+        GeoSpark Viz
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../viz/sql/" title="DataFrame/SQL" class="md-nav__link">
+      DataFrame/SQL
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../viz/Babylon-Scala-and-Java-API/" title="RDD" class="md-nav__link">
+      RDD
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Contributing
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Contributing
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../contribute/rule/" title="Contributing rule" class="md-nav__link">
+      Contributing rule
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../contribute/contributor/" title="Contributors and committers" class="md-nav__link">
+      Contributors and committers
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../contact/" title="Contact" class="md-nav__link">
+      Contact
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../publication/" title="Publications" class="md-nav__link">
+      Publications
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
+    
+    <label class="md-nav__link" for="nav-8">
+      License
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-8">
+        License
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../license/License-before-1-2-0/" title="License-before-1.2.0" class="md-nav__link">
+      License-before-1.2.0
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../license/License/" title="License" class="md-nav__link">
+      License
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    
+<nav class="md-nav md-nav--secondary">
+  
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#scala-and-java-api" title="Scala and Java API" class="md-nav__link">
+    Scala and Java API
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+                
+                  <a href="https://github.com/DataSystemsLab/GeoSpark/edit/master/docs/api/GeoSpark-Scala-and-Java-API.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
+                
+                
+                  <h1>Scala/Java doc</h1>
+                
+                <h2 id="scala-and-java-api">Scala and Java API<a class="headerlink" href="#scala-and-java-api" title="Permanent link">&para;</a></h2>
+<p>GeoSpark Scala and Java API: <a href="http://www.public.asu.edu/~jiayu2/geospark/javadoc/">http://www.public.asu.edu/~jiayu2/geospark/javadoc/</a></p>
+<p>The "SNAPSHOT" folder has the API for the latest GeoSpark SNAPSHOT version.</p>
+<p>Note: Scala can call Java APIs seamlessly. That means GeoSpark Scala users use the same APIs with GeoSpark Java users.</p>
+                
+                  
+                
+              
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+    <div class="md-footer-nav">
+      <nav class="md-footer-nav__inner md-grid">
+        
+          <a href="../../tutorial/benchmark/" title="Benchmark" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+            </div>
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Previous
+                </span>
+                Benchmark
+              </span>
+            </div>
+          </a>
+        
+        
+          <a href="../GeoSpark-Python-API/" title="Python doc" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Next
+                </span>
+                Python doc
+              </span>
+            </div>
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+            </div>
+          </a>
+        
+      </nav>
+    </div>
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="http://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+        
+  <div class="md-footer-social">
+    
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+    
+      <a href="https://github.com/DataSystemsLab/GeoSpark" class="md-footer-social__link fa fa-github"></a>
+    
+      <a href="https://twitter.com/GeoSpark_ASU" class="md-footer-social__link fa fa-twitter"></a>
+    
+  </div>
+
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="../../assets/javascripts/application.8eb9be28.js"></script>
+      
+      <script>app.initialize({version:"0.17.2",url:{base:"../.."}})</script>
+      
+    
+    
+      
+        <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64886725-1","www.public.asu.edu/~jiayu2/geospark/index.html"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName( [...]
+      
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/api/sql/GeoSparkSQL-AggregateFunction/index.html b/api/sql/GeoSparkSQL-AggregateFunction/index.html
new file mode 100644
index 0000000..2521d7d
--- /dev/null
+++ b/api/sql/GeoSparkSQL-AggregateFunction/index.html
@@ -0,0 +1,1097 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>Aggregate function - GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../../assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="../../../assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="../../../assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+      <a href="#st_envelope_aggr" tabindex="1" class="md-skip">
+        Skip to content
+      </a>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../../.." title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                Aggregate function
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../.." title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/zeppelin/" title="Install GeoSpark-Zeppelin" class="md-nav__link">
+      Install GeoSpark-Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/compile/" title="Compile the source code" class="md-nav__link">
+      Compile the source code
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      Tutorial
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        Tutorial
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/rdd/" title="Spatial RDD application" class="md-nav__link">
+      Spatial RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/sql/" title="Spatial SQL application" class="md-nav__link">
+      Spatial SQL application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/viz/" title="Visualize Spatial DataFrame" class="md-nav__link">
+      Visualize Spatial DataFrame
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/zeppelin/" title="Run GeoSpark via Zeppelin" class="md-nav__link">
+      Run GeoSpark via Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-core-python/" title="Spatial RDD in Python" class="md-nav__link">
+      Spatial RDD in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-sql-python/" title="Spatial SQL in Python" class="md-nav__link">
+      Spatial SQL in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/GeoSpark-Runnable-DEMO/" title="GeoSpark template project" class="md-nav__link">
+      GeoSpark template project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/faq/" title="Frequently Asked Questions" class="md-nav__link">
+      Frequently Asked Questions
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/Advanced-Tutorial-Tune-your-GeoSpark-Application/" title="Tune GeoSpark RDD application" class="md-nav__link">
+      Tune GeoSpark RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/benchmark/" title="Benchmark" class="md-nav__link">
+      Benchmark
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
+    
+    <label class="md-nav__link" for="nav-4">
+      API
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        API
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-1" type="checkbox" id="nav-4-1">
+    
+    <label class="md-nav__link" for="nav-4-1">
+      GeoSpark core (RDD)
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-1">
+        GeoSpark core (RDD)
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Scala-and-Java-API/" title="Scala/Java doc" class="md-nav__link">
+      Scala/Java doc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Python-API/" title="Python doc" class="md-nav__link">
+      Python doc
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2" checked>
+    
+    <label class="md-nav__link" for="nav-4-2">
+      GeoSpark SQL
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-2">
+        GeoSpark SQL
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-javadoc/" title="JavaDoc" class="md-nav__link">
+      JavaDoc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Constructor/" title="Constructor" class="md-nav__link">
+      Constructor
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Function/" title="Function" class="md-nav__link">
+      Function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Predicate/" title="Predicate" class="md-nav__link">
+      Predicate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active">
+    
+    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
+    
+    
+      <label class="md-nav__link md-nav__link--active" for="toc">
+        Aggregate function
+      </label>
+    
+    <a href="./" title="Aggregate function" class="md-nav__link md-nav__link--active">
+      Aggregate function
+    </a>
+    
+      
+<nav class="md-nav md-nav--secondary">
+  
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#st_envelope_aggr" title="ST_Envelope_Aggr" class="md-nav__link">
+    ST_Envelope_Aggr
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_union_aggr" title="ST_Union_Aggr" class="md-nav__link">
+    ST_Union_Aggr
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_intersection_aggr" title="ST_Intersection_Aggr" class="md-nav__link">
+    ST_Intersection_Aggr
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+    
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Optimizer/" title="Join query (optimizer)" class="md-nav__link">
+      Join query (optimizer)
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Parameter/" title="Parameter" class="md-nav__link">
+      Parameter
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-3" type="checkbox" id="nav-4-3">
+    
+    <label class="md-nav__link" for="nav-4-3">
+      GeoSpark Viz
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-3">
+        GeoSpark Viz
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/sql/" title="DataFrame/SQL" class="md-nav__link">
+      DataFrame/SQL
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/Babylon-Scala-and-Java-API/" title="RDD" class="md-nav__link">
+      RDD
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Contributing
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Contributing
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/rule/" title="Contributing rule" class="md-nav__link">
+      Contributing rule
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/contributor/" title="Contributors and committers" class="md-nav__link">
+      Contributors and committers
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../contact/" title="Contact" class="md-nav__link">
+      Contact
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../publication/" title="Publications" class="md-nav__link">
+      Publications
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
+    
+    <label class="md-nav__link" for="nav-8">
+      License
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-8">
+        License
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License-before-1-2-0/" title="License-before-1.2.0" class="md-nav__link">
+      License-before-1.2.0
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License/" title="License" class="md-nav__link">
+      License
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    
+<nav class="md-nav md-nav--secondary">
+  
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#st_envelope_aggr" title="ST_Envelope_Aggr" class="md-nav__link">
+    ST_Envelope_Aggr
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_union_aggr" title="ST_Union_Aggr" class="md-nav__link">
+    ST_Union_Aggr
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_intersection_aggr" title="ST_Intersection_Aggr" class="md-nav__link">
+    ST_Intersection_Aggr
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+                
+                  <a href="https://github.com/DataSystemsLab/GeoSpark/edit/master/docs/api/sql/GeoSparkSQL-AggregateFunction.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
+                
+                
+                  <h1>Aggregate function</h1>
+                
+                <h2 id="st_envelope_aggr">ST_Envelope_Aggr<a class="headerlink" href="#st_envelope_aggr" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the entire envelope boundary of all geometries in A</p>
+<p>Format: <code class="codehilite">ST_Envelope_Aggr (A:geometryColumn)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Envelope_Aggr</span><span class="p">(</span><span class="n">pointdf</span><span class="p">.</span><span class="n">arealandmark</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">pointdf</span>
+</pre></div></p>
+<h2 id="st_union_aggr">ST_Union_Aggr<a class="headerlink" href="#st_union_aggr" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the polygon union of all polygons in A</p>
+<p>Format: <code class="codehilite">ST_Union_Aggr (A:geometryColumn)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Union_Aggr</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">polygonshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_intersection_aggr">ST_Intersection_Aggr<a class="headerlink" href="#st_intersection_aggr" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the polygon intersection of all polygons in A</p>
+<p>Format: <code class="codehilite">ST_Intersection_Aggr (A:geometryColumn)</code></p>
+<p>Since: <code class="codehilite">v1.2.1</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Intersection_Aggr</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">polygonshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+                
+                  
+                
+              
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+    <div class="md-footer-nav">
+      <nav class="md-footer-nav__inner md-grid">
+        
+          <a href="../GeoSparkSQL-Predicate/" title="Predicate" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+            </div>
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Previous
+                </span>
+                Predicate
+              </span>
+            </div>
+          </a>
+        
+        
+          <a href="../GeoSparkSQL-Optimizer/" title="Join query (optimizer)" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Next
+                </span>
+                Join query (optimizer)
+              </span>
+            </div>
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+            </div>
+          </a>
+        
+      </nav>
+    </div>
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="http://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+        
+  <div class="md-footer-social">
+    
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+    
+      <a href="https://github.com/DataSystemsLab/GeoSpark" class="md-footer-social__link fa fa-github"></a>
+    
+      <a href="https://twitter.com/GeoSpark_ASU" class="md-footer-social__link fa fa-twitter"></a>
+    
+  </div>
+
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="../../../assets/javascripts/application.8eb9be28.js"></script>
+      
+      <script>app.initialize({version:"0.17.2",url:{base:"../../.."}})</script>
+      
+    
+    
+      
+        <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64886725-1","www.public.asu.edu/~jiayu2/geospark/index.html"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName( [...]
+      
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/api/sql/GeoSparkSQL-Constructor/index.html b/api/sql/GeoSparkSQL-Constructor/index.html
new file mode 100644
index 0000000..79c71c5
--- /dev/null
+++ b/api/sql/GeoSparkSQL-Constructor/index.html
@@ -0,0 +1,1317 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>Constructor - GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../../assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="../../../assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="../../../assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+      <a href="#st_geomfromwkt" tabindex="1" class="md-skip">
+        Skip to content
+      </a>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../../.." title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                Constructor
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../.." title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/zeppelin/" title="Install GeoSpark-Zeppelin" class="md-nav__link">
+      Install GeoSpark-Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/compile/" title="Compile the source code" class="md-nav__link">
+      Compile the source code
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      Tutorial
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        Tutorial
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/rdd/" title="Spatial RDD application" class="md-nav__link">
+      Spatial RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/sql/" title="Spatial SQL application" class="md-nav__link">
+      Spatial SQL application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/viz/" title="Visualize Spatial DataFrame" class="md-nav__link">
+      Visualize Spatial DataFrame
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/zeppelin/" title="Run GeoSpark via Zeppelin" class="md-nav__link">
+      Run GeoSpark via Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-core-python/" title="Spatial RDD in Python" class="md-nav__link">
+      Spatial RDD in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-sql-python/" title="Spatial SQL in Python" class="md-nav__link">
+      Spatial SQL in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/GeoSpark-Runnable-DEMO/" title="GeoSpark template project" class="md-nav__link">
+      GeoSpark template project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/faq/" title="Frequently Asked Questions" class="md-nav__link">
+      Frequently Asked Questions
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/Advanced-Tutorial-Tune-your-GeoSpark-Application/" title="Tune GeoSpark RDD application" class="md-nav__link">
+      Tune GeoSpark RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/benchmark/" title="Benchmark" class="md-nav__link">
+      Benchmark
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
+    
+    <label class="md-nav__link" for="nav-4">
+      API
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        API
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-1" type="checkbox" id="nav-4-1">
+    
+    <label class="md-nav__link" for="nav-4-1">
+      GeoSpark core (RDD)
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-1">
+        GeoSpark core (RDD)
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Scala-and-Java-API/" title="Scala/Java doc" class="md-nav__link">
+      Scala/Java doc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Python-API/" title="Python doc" class="md-nav__link">
+      Python doc
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2" checked>
+    
+    <label class="md-nav__link" for="nav-4-2">
+      GeoSpark SQL
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-2">
+        GeoSpark SQL
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-javadoc/" title="JavaDoc" class="md-nav__link">
+      JavaDoc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active">
+    
+    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
+    
+    
+      <label class="md-nav__link md-nav__link--active" for="toc">
+        Constructor
+      </label>
+    
+    <a href="./" title="Constructor" class="md-nav__link md-nav__link--active">
+      Constructor
+    </a>
+    
+      
+<nav class="md-nav md-nav--secondary">
+  
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#st_geomfromwkt" title="ST_GeomFromWKT" class="md-nav__link">
+    ST_GeomFromWKT
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_geomfromwkb" title="ST_GeomFromWKB" class="md-nav__link">
+    ST_GeomFromWKB
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_geomfromgeojson" title="ST_GeomFromGeoJSON" class="md-nav__link">
+    ST_GeomFromGeoJSON
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#read-esri-shapefile" title="Read ESRI Shapefile" class="md-nav__link">
+    Read ESRI Shapefile
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_point" title="ST_Point" class="md-nav__link">
+    ST_Point
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_pointfromtext" title="ST_PointFromText" class="md-nav__link">
+    ST_PointFromText
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_polygonfromtext" title="ST_PolygonFromText" class="md-nav__link">
+    ST_PolygonFromText
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_linestringfromtext" title="ST_LineStringFromText" class="md-nav__link">
+    ST_LineStringFromText
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_polygonfromenvelope" title="ST_PolygonFromEnvelope" class="md-nav__link">
+    ST_PolygonFromEnvelope
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_circle" title="ST_Circle" class="md-nav__link">
+    ST_Circle
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+    
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Function/" title="Function" class="md-nav__link">
+      Function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Predicate/" title="Predicate" class="md-nav__link">
+      Predicate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-AggregateFunction/" title="Aggregate function" class="md-nav__link">
+      Aggregate function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Optimizer/" title="Join query (optimizer)" class="md-nav__link">
+      Join query (optimizer)
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Parameter/" title="Parameter" class="md-nav__link">
+      Parameter
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-3" type="checkbox" id="nav-4-3">
+    
+    <label class="md-nav__link" for="nav-4-3">
+      GeoSpark Viz
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-3">
+        GeoSpark Viz
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/sql/" title="DataFrame/SQL" class="md-nav__link">
+      DataFrame/SQL
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/Babylon-Scala-and-Java-API/" title="RDD" class="md-nav__link">
+      RDD
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Contributing
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Contributing
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/rule/" title="Contributing rule" class="md-nav__link">
+      Contributing rule
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/contributor/" title="Contributors and committers" class="md-nav__link">
+      Contributors and committers
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../contact/" title="Contact" class="md-nav__link">
+      Contact
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../publication/" title="Publications" class="md-nav__link">
+      Publications
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
+    
+    <label class="md-nav__link" for="nav-8">
+      License
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-8">
+        License
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License-before-1-2-0/" title="License-before-1.2.0" class="md-nav__link">
+      License-before-1.2.0
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License/" title="License" class="md-nav__link">
+      License
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    
+<nav class="md-nav md-nav--secondary">
+  
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#st_geomfromwkt" title="ST_GeomFromWKT" class="md-nav__link">
+    ST_GeomFromWKT
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_geomfromwkb" title="ST_GeomFromWKB" class="md-nav__link">
+    ST_GeomFromWKB
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_geomfromgeojson" title="ST_GeomFromGeoJSON" class="md-nav__link">
+    ST_GeomFromGeoJSON
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#read-esri-shapefile" title="Read ESRI Shapefile" class="md-nav__link">
+    Read ESRI Shapefile
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_point" title="ST_Point" class="md-nav__link">
+    ST_Point
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_pointfromtext" title="ST_PointFromText" class="md-nav__link">
+    ST_PointFromText
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_polygonfromtext" title="ST_PolygonFromText" class="md-nav__link">
+    ST_PolygonFromText
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_linestringfromtext" title="ST_LineStringFromText" class="md-nav__link">
+    ST_LineStringFromText
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_polygonfromenvelope" title="ST_PolygonFromEnvelope" class="md-nav__link">
+    ST_PolygonFromEnvelope
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_circle" title="ST_Circle" class="md-nav__link">
+    ST_Circle
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+                
+                  <a href="https://github.com/DataSystemsLab/GeoSpark/edit/master/docs/api/sql/GeoSparkSQL-Constructor.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
+                
+                
+                  <h1>Constructor</h1>
+                
+                <div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>UUIDs ensure the shape uniqueness of a geometry. It can be any strings. This is only needed when you want to convert an Spatial DataFrame to an Spatial RDD and let each geometry carry some non-spatial attributes (e.g., price, age, ...).</p>
+</div>
+<h2 id="st_geomfromwkt">ST_GeomFromWKT<a class="headerlink" href="#st_geomfromwkt" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a Geometry from Wkt. Unlimited UUID strings can be appended.</p>
+<p>Format:
+<code class="codehilite">ST_GeomFromWKT (Wkt:string, UUID1, UUID2, ...)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_GeomFromWKT</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="k">AS</span> <span class="n">polygonshape</span>
+<span class="k">FROM</span> <span class="n">polygontable</span>
+</pre></div></p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_GeomFromWKT</span><span class="p">(</span><span class="s1">&#39;POINT(40.7128,-74.0060)&#39;</span><span class="p">)</span> <span class="k">AS</span> <span class="n">geometry</span>
+</pre></div>
+
+<h2 id="st_geomfromwkb">ST_GeomFromWKB<a class="headerlink" href="#st_geomfromwkb" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a Geometry from WKB string. Unlimited UUID strings can be appended.</p>
+<p>Format:
+<code class="codehilite">ST_GeomFromWKB (Wkb:string, UUID1, UUID2, ...)</code></p>
+<p>Since: <code class="codehilite">v1.2.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</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="k">AS</span> <span class="n">polygonshape</span>
+<span class="k">FROM</span> <span class="n">polygontable</span>
+</pre></div></p>
+<h2 id="st_geomfromgeojson">ST_GeomFromGeoJSON<a class="headerlink" href="#st_geomfromgeojson" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a Geometry from GeoJson. Unlimited UUID strings can be appended.</p>
+<p>Format: <code class="codehilite">ST_GeomFromGeoJSON (GeoJson:string, UUID1, UUID2, ...)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">var</span> <span class="n">polygonJsonDf</span> <span class="k">=</span> <span class="n">sparkSession</span><span class="o">.</span><span class="n">read</span><span class="o">.</span><span class="n">format</span><span class="o">(</span><span class="s">&quot;csv&quot;</span><span class="o">).</span><span class="n">option</span><span class="o">(</span><span class="s">&quot;delimiter&quot;</span><span class="o">,</span><span class="s [...]
+<span class="n">polygonJsonDf</span><span class="o">.</span><span class="n">createOrReplaceTempView</span><span class="o">(</span><span class="s">&quot;polygontable&quot;</span><span class="o">)</span>
+<span class="n">polygonJsonDf</span><span class="o">.</span><span class="n">show</span><span class="o">()</span>
+<span class="k">var</span> <span class="n">polygonDf</span> <span class="k">=</span> <span class="n">sparkSession</span><span class="o">.</span><span class="n">sql</span><span class="o">(</span>
+        <span class="s">&quot;&quot;&quot;</span>
+<span class="s">          | SELECT ST_GeomFromGeoJSON(polygontable._c0) AS countyshape</span>
+<span class="s">          | FROM polygontable</span>
+<span class="s">        &quot;&quot;&quot;</span><span class="o">.</span><span class="n">stripMargin</span><span class="o">)</span>
+<span class="n">polygonDf</span><span class="o">.</span><span class="n">show</span><span class="o">()</span>
+</pre></div></p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>The way that GeoSparkSQL reads GeoJSON is different from that in SparkSQL</p>
+</div>
+<h2 id="read-esri-shapefile">Read ESRI Shapefile<a class="headerlink" href="#read-esri-shapefile" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a DataFrame from a Shapefile</p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>SparkSQL example:</p>
+<div class="codehilite"><pre><span></span><span class="k">var</span> <span class="n">spatialRDD</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">SpatialRDD</span><span class="o">[</span><span class="kt">Geometry</span><span class="o">]</span>
+<span class="n">spatialRDD</span><span class="o">.</span><span class="n">rawSpatialRDD</span> <span class="k">=</span> <span class="nc">ShapefileReader</span><span class="o">.</span><span class="n">readToGeometryRDD</span><span class="o">(</span><span class="n">sparkSession</span><span class="o">.</span><span class="n">sparkContext</span><span class="o">,</span> <span class="n">shapefileInputLocation</span><span class="o">)</span>
+<span class="k">var</span> <span class="n">rawSpatialDf</span> <span class="k">=</span> <span class="nc">Adapter</span><span class="o">.</span><span class="n">toDf</span><span class="o">(</span><span class="n">spatialRDD</span><span class="o">,</span><span class="n">sparkSession</span><span class="o">)</span>
+<span class="n">rawSpatialDf</span><span class="o">.</span><span class="n">createOrReplaceTempView</span><span class="o">(</span><span class="s">&quot;rawSpatialDf&quot;</span><span class="o">)</span>
+<span class="k">var</span> <span class="n">spatialDf</span> <span class="k">=</span> <span class="n">sparkSession</span><span class="o">.</span><span class="n">sql</span><span class="o">(</span><span class="s">&quot;&quot;&quot;</span>
+<span class="s">          | ST_GeomFromWKT(rddshape), _c1, _c2</span>
+<span class="s">          | FROM rawSpatialDf</span>
+<span class="s">        &quot;&quot;&quot;</span><span class="o">.</span><span class="n">stripMargin</span><span class="o">)</span>
+<span class="n">spatialDf</span><span class="o">.</span><span class="n">show</span><span class="o">()</span>
+<span class="n">spatialDf</span><span class="o">.</span><span class="n">printSchema</span><span class="o">()</span>
+</pre></div>
+
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The file extensions of .shp, .shx, .dbf must be in lowercase. Assume you have a shape file called <mark>myShapefile</mark>, the file structure should be like this:
+<div class="codehilite"><pre><span></span>- shapefile1
+- shapefile2
+- myshapefile
+    - myshapefile.shp
+    - myshapefile.shx
+    - myshapefile.dbf
+    - myshapefile...
+    - ...
+</pre></div></p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Please make sure you use <mark>ST_GeomFromWKT</mark> to create Geometry type column otherwise that column cannot be used in GeoSparkSQL.</p>
+</div>
+<p>If the file you are reading contains non-ASCII characters you'll need to explicitly set the encoding
+via <code class="codehilite">geospark.global.charset</code> system property before the call to <code class="codehilite">ShapefileReader.readToGeometryRDD</code>.</p>
+<p>Example:</p>
+<div class="codehilite"><pre><span></span><span class="nc">System</span><span class="o">.</span><span class="n">setProperty</span><span class="o">(</span><span class="s">&quot;geospark.global.charset&quot;</span><span class="o">,</span> <span class="s">&quot;utf8&quot;</span><span class="o">)</span>
+</pre></div>
+
+<h2 id="st_point">ST_Point<a class="headerlink" href="#st_point" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a Point from X and Y. Unlimited UUID strings can be appended.</p>
+<p>Format: <code class="codehilite">ST_Point (X:decimal, Y:decimal, UUID1, UUID2, ...)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Point</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">pointtable</span><span class="p">.</span><span class="n">_c0</span> <span class="k">AS</span> <span class="nb">Decimal</span><span class="p">(</span><span class="mi">24</span><span class="p">,</span><span class="mi">20</span><span class="p">)),</span> <span class="k">CAST</span><span class="p">(</ [...]
+<span class="k">FROM</span> <span class="n">pointtable</span>
+</pre></div></p>
+<h2 id="st_pointfromtext">ST_PointFromText<a class="headerlink" href="#st_pointfromtext" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a Point from Text, delimited by Delimiter. Unlimited UUID strings can be appended.</p>
+<p>Format: <code class="codehilite">ST_PointFromText (Text:string, Delimiter:char, UUID1, UUID2, ...)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_PointFromText</span><span class="p">(</span><span class="n">pointtable</span><span class="p">.</span><span class="n">_c0</span><span class="p">,</span><span class="s1">&#39;,&#39;</span><span class="p">)</span> <span class="k">AS</span> <span class="n">pointshape</span>
+<span class="k">FROM</span> <span class="n">pointtable</span>
+</pre></div></p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_PointFromText</span><span class="p">(</span><span class="s1">&#39;40.7128,-74.0060&#39;</span><span class="p">,</span> <span class="s1">&#39;,&#39;</span><span class="p">)</span> <span class="k">AS</span> <span class="n">pointshape</span>
+</pre></div>
+
+<h2 id="st_polygonfromtext">ST_PolygonFromText<a class="headerlink" href="#st_polygonfromtext" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a Polygon from Text, delimited by Delimiter. Path must be closed. Unlimited UUID strings can be appended.</p>
+<p>Format: <code class="codehilite">ST_PolygonFromText (Text:string, Delimiter:char, UUID1, UUID2, ...)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_PolygonFromText</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="s1">&#39;,&#39;</span><span class="p">)</span> <span class="k">AS</span> <span class="n">polygonshape</span>
+<span class="k">FROM</span> <span class="n">polygontable</span>
+</pre></div></p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_PolygonFromText</span><span class="p">(</span><span class="s1">&#39;-74.0428197,40.6867969,-74.0421975,40.6921336,-74.0508020,40.6912794,-74.0428197,40.6867969&#39;</span><span class="p">,</span> <span class="s1">&#39;,&#39;</span><span class="p">)</span> <span class="k">AS</span> <span class="n">polygonshape</span>
+</pre></div>
+
+<h2 id="st_linestringfromtext">ST_LineStringFromText<a class="headerlink" href="#st_linestringfromtext" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a LineString from Text, delimited by Delimiter. Unlimited UUID strings can be appended.</p>
+<p>Format: <code class="codehilite">ST_LineStringFromText (Text:string, Delimiter:char, UUID1, UUID2, ...)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_LineStringFromText</span><span class="p">(</span><span class="n">linestringtable</span><span class="p">.</span><span class="n">_c0</span><span class="p">,</span><span class="s1">&#39;,&#39;</span><span class="p">)</span> <span class="k">AS</span> <span class="n">linestringshape</span>
+<span class="k">FROM</span> <span class="n">linestringtable</span>
+</pre></div></p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_LineStringFromText</span><span class="p">(</span><span class="s1">&#39;-74.0428197,40.6867969,-74.0421975,40.6921336,-74.0508020,40.6912794&#39;</span><span class="p">,</span> <span class="s1">&#39;,&#39;</span><span class="p">)</span> <span class="k">AS</span> <span class="n">linestringshape</span>
+</pre></div>
+
+<h2 id="st_polygonfromenvelope">ST_PolygonFromEnvelope<a class="headerlink" href="#st_polygonfromenvelope" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a Polygon from MinX, MinY, MaxX, MaxY. Unlimited UUID strings can be appended.</p>
+<p>Format: <code class="codehilite">ST_PolygonFromEnvelope (MinX:decimal, MinY:decimal, MaxX:decimal, MaxY:decimal, UUID1, UUID2, ...)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">pointdf</span>
+<span class="k">WHERE</span> <span class="n">ST_Contains</span><span class="p">(</span><span class="n">ST_PolygonFromEnvelope</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="mi">100</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="mi">1000</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="mi">1100</span><span cla [...]
+</pre></div></p>
+<h2 id="st_circle">ST_Circle<a class="headerlink" href="#st_circle" title="Permanent link">&para;</a></h2>
+<p>Introduction: Construct a Circle from A with a Radius.</p>
+<p>Format: <code class="codehilite">ST_Circle (A:Geometry, Radius:decimal)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code> - <code class="codehilite">v1.1.3</code></p>
+<p>Spark SQL example:</p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Circle</span><span class="p">(</span><span class="n">pointdf</span><span class="p">.</span><span class="n">pointshape</span><span class="p">,</span> <span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">pointdf</span>
+</pre></div>
+
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>GeoSpark doesn't control the radius's unit (degree or meter). It is same with the geometry. To change the geometry's unit, please transform the coordinate reference system. See <a href="../GeoSparkSQL-Function/#st_transform">ST_Transform</a>.</p>
+</div>
+                
+                  
+                
+              
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+    <div class="md-footer-nav">
+      <nav class="md-footer-nav__inner md-grid">
+        
+          <a href="../GeoSparkSQL-Overview/" title="Quick start" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+            </div>
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Previous
+                </span>
+                Quick start
+              </span>
+            </div>
+          </a>
+        
+        
+          <a href="../GeoSparkSQL-Function/" title="Function" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Next
+                </span>
+                Function
+              </span>
+            </div>
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+            </div>
+          </a>
+        
+      </nav>
+    </div>
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="http://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+        
+  <div class="md-footer-social">
+    
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+    
+      <a href="https://github.com/DataSystemsLab/GeoSpark" class="md-footer-social__link fa fa-github"></a>
+    
+      <a href="https://twitter.com/GeoSpark_ASU" class="md-footer-social__link fa fa-twitter"></a>
+    
+  </div>
+
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="../../../assets/javascripts/application.8eb9be28.js"></script>
+      
+      <script>app.initialize({version:"0.17.2",url:{base:"../../.."}})</script>
+      
+    
+    
+      
+        <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64886725-1","www.public.asu.edu/~jiayu2/geospark/index.html"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName( [...]
+      
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/api/sql/GeoSparkSQL-Function/index.html b/api/sql/GeoSparkSQL-Function/index.html
new file mode 100644
index 0000000..15569de
--- /dev/null
+++ b/api/sql/GeoSparkSQL-Function/index.html
@@ -0,0 +1,1869 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>Function - GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../../assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="../../../assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="../../../assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+      <a href="#st_distance" tabindex="1" class="md-skip">
+        Skip to content
+      </a>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../../.." title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                Function
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../.." title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/zeppelin/" title="Install GeoSpark-Zeppelin" class="md-nav__link">
+      Install GeoSpark-Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/compile/" title="Compile the source code" class="md-nav__link">
+      Compile the source code
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      Tutorial
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        Tutorial
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/rdd/" title="Spatial RDD application" class="md-nav__link">
+      Spatial RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/sql/" title="Spatial SQL application" class="md-nav__link">
+      Spatial SQL application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/viz/" title="Visualize Spatial DataFrame" class="md-nav__link">
+      Visualize Spatial DataFrame
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/zeppelin/" title="Run GeoSpark via Zeppelin" class="md-nav__link">
+      Run GeoSpark via Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-core-python/" title="Spatial RDD in Python" class="md-nav__link">
+      Spatial RDD in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-sql-python/" title="Spatial SQL in Python" class="md-nav__link">
+      Spatial SQL in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/GeoSpark-Runnable-DEMO/" title="GeoSpark template project" class="md-nav__link">
+      GeoSpark template project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/faq/" title="Frequently Asked Questions" class="md-nav__link">
+      Frequently Asked Questions
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/Advanced-Tutorial-Tune-your-GeoSpark-Application/" title="Tune GeoSpark RDD application" class="md-nav__link">
+      Tune GeoSpark RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/benchmark/" title="Benchmark" class="md-nav__link">
+      Benchmark
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
+    
+    <label class="md-nav__link" for="nav-4">
+      API
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        API
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-1" type="checkbox" id="nav-4-1">
+    
+    <label class="md-nav__link" for="nav-4-1">
+      GeoSpark core (RDD)
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-1">
+        GeoSpark core (RDD)
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Scala-and-Java-API/" title="Scala/Java doc" class="md-nav__link">
+      Scala/Java doc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Python-API/" title="Python doc" class="md-nav__link">
+      Python doc
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2" checked>
+    
+    <label class="md-nav__link" for="nav-4-2">
+      GeoSpark SQL
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-2">
+        GeoSpark SQL
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-javadoc/" title="JavaDoc" class="md-nav__link">
+      JavaDoc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Constructor/" title="Constructor" class="md-nav__link">
+      Constructor
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active">
+    
+    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
+    
+    
+      <label class="md-nav__link md-nav__link--active" for="toc">
+        Function
+      </label>
+    
+    <a href="./" title="Function" class="md-nav__link md-nav__link--active">
+      Function
+    </a>
+    
+      
+<nav class="md-nav md-nav--secondary">
+  
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#st_distance" title="ST_Distance" class="md-nav__link">
+    ST_Distance
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_convexhull" title="ST_ConvexHull" class="md-nav__link">
+    ST_ConvexHull
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_envelope" title="ST_Envelope" class="md-nav__link">
+    ST_Envelope
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_length" title="ST_Length" class="md-nav__link">
+    ST_Length
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_area" title="ST_Area" class="md-nav__link">
+    ST_Area
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_centroid" title="ST_Centroid" class="md-nav__link">
+    ST_Centroid
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_transform" title="ST_Transform" class="md-nav__link">
+    ST_Transform
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_intersection" title="ST_Intersection" class="md-nav__link">
+    ST_Intersection
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_isvalid" title="ST_IsValid" class="md-nav__link">
+    ST_IsValid
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_makevalid" title="ST_MakeValid" class="md-nav__link">
+    ST_MakeValid
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_precisionreduce" title="ST_PrecisionReduce" class="md-nav__link">
+    ST_PrecisionReduce
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_issimple" title="ST_IsSimple" class="md-nav__link">
+    ST_IsSimple
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_buffer" title="ST_Buffer" class="md-nav__link">
+    ST_Buffer
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_astext" title="ST_AsText" class="md-nav__link">
+    ST_AsText
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_asgeojson" title="ST_AsGeoJSON" class="md-nav__link">
+    ST_AsGeoJSON
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_npoints" title="ST_NPoints" class="md-nav__link">
+    ST_NPoints
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_simplifypreservetopology" title="ST_SimplifyPreserveTopology" class="md-nav__link">
+    ST_SimplifyPreserveTopology
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_geometrytype" title="ST_GeometryType" class="md-nav__link">
+    ST_GeometryType
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_linemerge" title="ST_LineMerge" class="md-nav__link">
+    ST_LineMerge
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_azimuth" title="ST_Azimuth" class="md-nav__link">
+    ST_Azimuth
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_x" title="ST_X" class="md-nav__link">
+    ST_X
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_y" title="ST_Y" class="md-nav__link">
+    ST_Y
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_startpoint" title="ST_StartPoint" class="md-nav__link">
+    ST_StartPoint
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_endpoint" title="ST_EndPoint" class="md-nav__link">
+    ST_EndPoint
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_boundary" title="ST_Boundary" class="md-nav__link">
+    ST_Boundary
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_exteriorring" title="ST_ExteriorRing" class="md-nav__link">
+    ST_ExteriorRing
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_geometryn" title="ST_GeometryN" class="md-nav__link">
+    ST_GeometryN
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_interiorringn" title="ST_InteriorRingN" class="md-nav__link">
+    ST_InteriorRingN
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_dump" title="ST_Dump" class="md-nav__link">
+    ST_Dump
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_dumppoints" title="ST_DumpPoints" class="md-nav__link">
+    ST_DumpPoints
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_isclosed" title="ST_IsClosed" class="md-nav__link">
+    ST_IsClosed
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_numinteriorrings" title="ST_NumInteriorRings" class="md-nav__link">
+    ST_NumInteriorRings
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_addpoint" title="ST_AddPoint" class="md-nav__link">
+    ST_AddPoint
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_removepoint" title="ST_RemovePoint" class="md-nav__link">
+    ST_RemovePoint
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_isring" title="ST_IsRing" class="md-nav__link">
+    ST_IsRing
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_numgeometries" title="ST_NumGeometries" class="md-nav__link">
+    ST_NumGeometries
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+    
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Predicate/" title="Predicate" class="md-nav__link">
+      Predicate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-AggregateFunction/" title="Aggregate function" class="md-nav__link">
+      Aggregate function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Optimizer/" title="Join query (optimizer)" class="md-nav__link">
+      Join query (optimizer)
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Parameter/" title="Parameter" class="md-nav__link">
+      Parameter
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-3" type="checkbox" id="nav-4-3">
+    
+    <label class="md-nav__link" for="nav-4-3">
+      GeoSpark Viz
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-3">
+        GeoSpark Viz
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/sql/" title="DataFrame/SQL" class="md-nav__link">
+      DataFrame/SQL
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/Babylon-Scala-and-Java-API/" title="RDD" class="md-nav__link">
+      RDD
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Contributing
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Contributing
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/rule/" title="Contributing rule" class="md-nav__link">
+      Contributing rule
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/contributor/" title="Contributors and committers" class="md-nav__link">
+      Contributors and committers
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../contact/" title="Contact" class="md-nav__link">
+      Contact
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../publication/" title="Publications" class="md-nav__link">
+      Publications
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
+    
+    <label class="md-nav__link" for="nav-8">
+      License
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-8">
+        License
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License-before-1-2-0/" title="License-before-1.2.0" class="md-nav__link">
+      License-before-1.2.0
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License/" title="License" class="md-nav__link">
+      License
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    
+<nav class="md-nav md-nav--secondary">
+  
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#st_distance" title="ST_Distance" class="md-nav__link">
+    ST_Distance
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_convexhull" title="ST_ConvexHull" class="md-nav__link">
+    ST_ConvexHull
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_envelope" title="ST_Envelope" class="md-nav__link">
+    ST_Envelope
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_length" title="ST_Length" class="md-nav__link">
+    ST_Length
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_area" title="ST_Area" class="md-nav__link">
+    ST_Area
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_centroid" title="ST_Centroid" class="md-nav__link">
+    ST_Centroid
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_transform" title="ST_Transform" class="md-nav__link">
+    ST_Transform
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_intersection" title="ST_Intersection" class="md-nav__link">
+    ST_Intersection
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_isvalid" title="ST_IsValid" class="md-nav__link">
+    ST_IsValid
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_makevalid" title="ST_MakeValid" class="md-nav__link">
+    ST_MakeValid
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_precisionreduce" title="ST_PrecisionReduce" class="md-nav__link">
+    ST_PrecisionReduce
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_issimple" title="ST_IsSimple" class="md-nav__link">
+    ST_IsSimple
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_buffer" title="ST_Buffer" class="md-nav__link">
+    ST_Buffer
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_astext" title="ST_AsText" class="md-nav__link">
+    ST_AsText
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_asgeojson" title="ST_AsGeoJSON" class="md-nav__link">
+    ST_AsGeoJSON
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_npoints" title="ST_NPoints" class="md-nav__link">
+    ST_NPoints
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_simplifypreservetopology" title="ST_SimplifyPreserveTopology" class="md-nav__link">
+    ST_SimplifyPreserveTopology
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_geometrytype" title="ST_GeometryType" class="md-nav__link">
+    ST_GeometryType
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_linemerge" title="ST_LineMerge" class="md-nav__link">
+    ST_LineMerge
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_azimuth" title="ST_Azimuth" class="md-nav__link">
+    ST_Azimuth
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_x" title="ST_X" class="md-nav__link">
+    ST_X
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_y" title="ST_Y" class="md-nav__link">
+    ST_Y
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_startpoint" title="ST_StartPoint" class="md-nav__link">
+    ST_StartPoint
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_endpoint" title="ST_EndPoint" class="md-nav__link">
+    ST_EndPoint
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_boundary" title="ST_Boundary" class="md-nav__link">
+    ST_Boundary
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_exteriorring" title="ST_ExteriorRing" class="md-nav__link">
+    ST_ExteriorRing
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_geometryn" title="ST_GeometryN" class="md-nav__link">
+    ST_GeometryN
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_interiorringn" title="ST_InteriorRingN" class="md-nav__link">
+    ST_InteriorRingN
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_dump" title="ST_Dump" class="md-nav__link">
+    ST_Dump
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_dumppoints" title="ST_DumpPoints" class="md-nav__link">
+    ST_DumpPoints
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_isclosed" title="ST_IsClosed" class="md-nav__link">
+    ST_IsClosed
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_numinteriorrings" title="ST_NumInteriorRings" class="md-nav__link">
+    ST_NumInteriorRings
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_addpoint" title="ST_AddPoint" class="md-nav__link">
+    ST_AddPoint
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_removepoint" title="ST_RemovePoint" class="md-nav__link">
+    ST_RemovePoint
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_isring" title="ST_IsRing" class="md-nav__link">
+    ST_IsRing
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#st_numgeometries" title="ST_NumGeometries" class="md-nav__link">
+    ST_NumGeometries
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+                
+                  <a href="https://github.com/DataSystemsLab/GeoSpark/edit/master/docs/api/sql/GeoSparkSQL-Function.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
+                
+                
+                  <h1>Function</h1>
+                
+                <h2 id="st_distance">ST_Distance<a class="headerlink" href="#st_distance" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the Euclidean distance between A and B</p>
+<p>Format: <code class="codehilite">ST_Distance (A:geometry, B:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Distance</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">,</span> <span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_convexhull">ST_ConvexHull<a class="headerlink" href="#st_convexhull" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the Convex Hull of polgyon A</p>
+<p>Format: <code class="codehilite">ST_ConvexHull (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_ConvexHull</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_envelope">ST_Envelope<a class="headerlink" href="#st_envelope" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the envelop boundary of A</p>
+<p>Format: <code class="codehilite">ST_Envelope (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:</p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Envelope</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div>
+
+<h2 id="st_length">ST_Length<a class="headerlink" href="#st_length" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the perimeter of A</p>
+<p>Format: ST_Length (A:geometry)</p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Length</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_area">ST_Area<a class="headerlink" href="#st_area" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the area of A</p>
+<p>Format: <code class="codehilite">ST_Area (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Area</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_centroid">ST_Centroid<a class="headerlink" href="#st_centroid" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the centroid point of A</p>
+<p>Format: <code class="codehilite">ST_Centroid (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Centroid</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_transform">ST_Transform<a class="headerlink" href="#st_transform" title="Permanent link">&para;</a></h2>
+<p>Introduction:</p>
+<p>Transform the Spatial Reference System / Coordinate Reference System of A, from SourceCRS to TargetCRS</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>By default, <mark>ST_Transform</mark> assumes Longitude/Latitude is your coordinate X/Y. If this is not the case, set UseLongitudeLatitudeOrder as "false".</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If <mark>ST_Transform</mark> throws an Exception called "Bursa wolf parameters required", you need to disable the error notification in ST_Transform. You can append a boolean value at the end.</p>
+</div>
+<p>Format: <code class="codehilite">ST_Transform (A:geometry, SourceCRS:string, TargetCRS:string, [Optional] UseLongitudeLatitudeOrder:Boolean, [Optional] DisableError)</code></p>
+<p>Since: <code class="codehilite">v1.0.0</code></p>
+<p>Spark SQL example (simple):
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Transform</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">,</span> <span class="s1">&#39;epsg:4326&#39;</span><span class="p">,</span><span class="s1">&#39;epsg:3857&#39;</span><span class="p">)</span> 
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<p>Spark SQL example (with optional parameters):
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Transform</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">,</span> <span class="s1">&#39;epsg:4326&#39;</span><span class="p">,</span><span class="s1">&#39;epsg:3857&#39;</span><span class="p">,</span><span class="k">true</span><span class="p">,</span> <span class="k">false</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The detailed EPSG information can be searched on <a href="https://epsg.io/">EPSG.io</a>.</p>
+</div>
+<h2 id="st_intersection">ST_Intersection<a class="headerlink" href="#st_intersection" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the intersection geometry of A and B</p>
+<p>Format: <code class="codehilite">ST_Intersection (A:geometry, B:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.1.0</code></p>
+<p>Spark SQL example:</p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Intersection</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">,</span> <span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div>
+
+<h2 id="st_isvalid">ST_IsValid<a class="headerlink" href="#st_isvalid" title="Permanent link">&para;</a></h2>
+<p>Introduction: Test if a geometry is well formed</p>
+<p>Format: <code class="codehilite">ST_IsValid (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.2.0</code></p>
+<p>Spark SQL example:</p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_IsValid</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div>
+
+<h2 id="st_makevalid">ST_MakeValid<a class="headerlink" href="#st_makevalid" title="Permanent link">&para;</a></h2>
+<p>Introduction: Given an invalid polygon or multipolygon and removeHoles boolean flag,
+ create a valid representation of the geometry.</p>
+<p>Format: <code class="codehilite">ST_MakeValid (A:geometry, removeHoles:Boolean)</code></p>
+<p>Since: <code class="codehilite">v1.2.0</code></p>
+<p>Spark SQL example:</p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">geometryValid</span><span class="p">.</span><span class="n">polygon</span>
+<span class="k">FROM</span> <span class="k">table</span>
+<span class="k">LATERAL</span> <span class="k">VIEW</span> <span class="n">ST_MakeValid</span><span class="p">(</span><span class="n">polygon</span><span class="p">,</span> <span class="k">false</span><span class="p">)</span> <span class="n">geometryValid</span> <span class="k">AS</span> <span class="n">polygon</span>
+</pre></div>
+
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Might return multiple polygons from a only one invalid polygon
+That's the reason why we need to use the LATERAL VIEW expression</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Throws an exception if the geometry isn't polygon or multipolygon</p>
+</div>
+<h2 id="st_precisionreduce">ST_PrecisionReduce<a class="headerlink" href="#st_precisionreduce" title="Permanent link">&para;</a></h2>
+<p>Introduction: Reduce the decimals places in the coordinates of the geometry to the given number of decimal places. The last decimal place will be rounded.</p>
+<p>Format: <code class="codehilite">ST_PrecisionReduce (A:geometry, B:int)</code></p>
+<p>Since: <code class="codehilite">v1.2.0</code></p>
+<p>Spark SQL example:</p>
+<p><div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_PrecisionReduce</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">,</span> <span class="mi">9</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div>
+The new coordinates will only have 9 decimal places.</p>
+<h2 id="st_issimple">ST_IsSimple<a class="headerlink" href="#st_issimple" title="Permanent link">&para;</a></h2>
+<p>Introduction: Test if geometry's only self-intersections are at boundary points.</p>
+<p>Format: <code class="codehilite">ST_IsSimple (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.2.0</code></p>
+<p>Spark SQL example:</p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_IsSimple</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div>
+
+<h2 id="st_buffer">ST_Buffer<a class="headerlink" href="#st_buffer" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns a geometry/geography that represents all points whose distance from this Geometry/geography is less than or equal to distance.</p>
+<p>Format: <code class="codehilite">ST_Buffer (A:geometry, buffer: Double)</code></p>
+<p>Since: <code class="codehilite">v1.2.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Buffer</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_astext">ST_AsText<a class="headerlink" href="#st_astext" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the Well-Known Text string representation of a geometry</p>
+<p>Format: <code class="codehilite">ST_AsText (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.2.0</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_AsText</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_asgeojson">ST_AsGeoJSON<a class="headerlink" href="#st_asgeojson" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the <a href="https://geojson.org/">GeoJSON</a> string representation of a geometry</p>
+<p>Format: <code class="codehilite">ST_AsGeoJSON (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_AsGeoJSON</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_npoints">ST_NPoints<a class="headerlink" href="#st_npoints" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return points of the geometry</p>
+<p>Since: <code class="codehilite">v1.2.1</code></p>
+<p>Format: <code class="codehilite">ST_NPoints (A:geometry)</code></p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_NPoints</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div>
+
+<h2 id="st_simplifypreservetopology">ST_SimplifyPreserveTopology<a class="headerlink" href="#st_simplifypreservetopology" title="Permanent link">&para;</a></h2>
+<p>Introduction: Simplifies a geometry and ensures that the result is a valid geometry having the same dimension and number of components as the input,
+              and with the components having the same topological relationship.</p>
+<p>Since: <code class="codehilite">v1.2.1</code></p>
+<p>Format: <code class="codehilite">ST_SimplifyPreserveTopology (A:geometry, distanceTolerance: Double)</code></p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_SimplifyPreserveTopology</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">,</span> <span class="mi">10</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div>
+
+<h2 id="st_geometrytype">ST_GeometryType<a class="headerlink" href="#st_geometrytype" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns the type of the geometry as a string. EG: 'ST_Linestring', 'ST_Polygon' etc.</p>
+<p>Format: <code class="codehilite">ST_GeometryType (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.2.1</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_GeometryType</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">countyshape</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">polygondf</span>
+</pre></div></p>
+<h2 id="st_linemerge">ST_LineMerge<a class="headerlink" href="#st_linemerge" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns a LineString formed by sewing together the constituent line work of a MULTILINESTRING.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Only works for MULTILINESTRING. Using other geometry will return a GEOMETRYCOLLECTION EMPTY. If the MultiLineString can't be merged, the original MULTILINESTRING is returned.</p>
+</div>
+<p>Format: <code class="codehilite">ST_LineMerge (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_LineMerge</span><span class="p">(</span><span class="n">geometry</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">df</span>
+</pre></div>
+
+<h2 id="st_azimuth">ST_Azimuth<a class="headerlink" href="#st_azimuth" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns Azimuth for two given points in radians null otherwise.</p>
+<p>Format: <code class="codehilite">ST_Azimuth(pointA: Point, pointB: Point)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Azimuth</span><span class="p">(</span><span class="n">ST_POINT</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span> <span class="mi">25</span><span class="p">.</span><span class="mi">0</span><span class="p">),</span> <span class="n">ST_POINT</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span> <s [...]
+</pre></div></p>
+<p>Output: <code class="codehilite">3.141592653589793</code></p>
+<h2 id="st_x">ST_X<a class="headerlink" href="#st_x" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns X Coordinate of given Point null otherwise.</p>
+<p>Format: <code class="codehilite">ST_X(pointA: Point)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_X</span><span class="p">(</span><span class="n">ST_POINT</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span> <span class="mi">25</span><span class="p">.</span><span class="mi">0</span><span class="p">))</span>
+</pre></div>
+Output: <code class="codehilite">0.0</code></p>
+<h2 id="st_y">ST_Y<a class="headerlink" href="#st_y" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns Y Coordinate of given Point, null otherwise.</p>
+<p>Format: <code class="codehilite">ST_Y(pointA: Point)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Y</span><span class="p">(</span><span class="n">ST_POINT</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span> <span class="mi">25</span><span class="p">.</span><span class="mi">0</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">25.0</code></p>
+<h2 id="st_startpoint">ST_StartPoint<a class="headerlink" href="#st_startpoint" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns first point of given linestring.</p>
+<p>Format: <code class="codehilite">ST_StartPoint(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_StartPoint</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;LINESTRING(100 150,50 60, 70 80, 160 170)&#39;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">POINT(100 150)</code></p>
+<h2 id="st_endpoint">ST_EndPoint<a class="headerlink" href="#st_endpoint" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns last point of given linestring.</p>
+<p>Format: <code class="codehilite">ST_EndPoint(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_EndPoint</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;LINESTRING(100 150,50 60, 70 80, 160 170)&#39;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">POINT(160 170)</code></p>
+<h2 id="st_boundary">ST_Boundary<a class="headerlink" href="#st_boundary" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns the closure of the combinatorial boundary of this Geometry.</p>
+<p>Format: <code class="codehilite">ST_Boundary(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Boundary</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;POLYGON((1 1,0 0, -1 1, 1 1))&#39;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">LINESTRING (1 1, 0 0, -1 1, 1 1)</code></p>
+<h2 id="st_exteriorring">ST_ExteriorRing<a class="headerlink" href="#st_exteriorring" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns a line string representing the exterior ring of the POLYGON geometry. Return NULL if the geometry is not a polygon.</p>
+<p>Format: <code class="codehilite">ST_ExteriorRing(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_ExteriorRing</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;POLYGON((0 0 1, 1 1 1, 1 2 1, 1 1 1, 0 0 1))&#39;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">LINESTRING (0 0, 1 1, 1 2, 1 1, 0 0)</code></p>
+<h2 id="st_geometryn">ST_GeometryN<a class="headerlink" href="#st_geometryn" title="Permanent link">&para;</a></h2>
+<p>Introduction: Return the 1-based Nth geometry if the geometry is a GEOMETRYCOLLECTION, (MULTI)POINT, (MULTI)LINESTRING, MULTICURVE or (MULTI)POLYGON Otherwise, return null</p>
+<p>Format: <code class="codehilite">ST_GeometryN(geom: geometry, n: Int)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_GeometryN</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;MULTIPOINT((1 2), (3 4), (5 6), (8 9))&#39;</span><span class="p">),</span> <span class="mi">1</span><span class="p">)</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">POINT (3 4)</code></p>
+<h2 id="st_interiorringn">ST_InteriorRingN<a class="headerlink" href="#st_interiorringn" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns the Nth interior linestring ring of the polygon geometry. Returns NULL if the geometry is not a polygon or the given N is out of range</p>
+<p>Format: <code class="codehilite">ST_InteriorRingN(geom: geometry, n: Int)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_InteriorRingN</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;POLYGON((0 0, 0 5, 5 5, 5 0, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1), (1 3, 2 3, 2 4, 1 4, 1 3), (3 3, 4 3, 4 4, 3 4, 3 3))&#39;</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">LINESTRING (1 1, 2 1, 2 2, 1 2, 1 1)</code></p>
+<h2 id="st_dump">ST_Dump<a class="headerlink" href="#st_dump" title="Permanent link">&para;</a></h2>
+<p>Introduction: It expands the geometries. If the geometry is simple (Point, Polygon Linestring etc.) it returns the geometry
+itself, if the geometry is collection or multi it returns record for each of collection components.</p>
+<p>Format: <code class="codehilite">ST_Dump(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_Dump</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;MULTIPOINT ((10 40), (40 30), (20 20), (30 10))&#39;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: [POINT (10 40), POINT (40 30), POINT (20 20), POINT (30 10)]</p>
+<h2 id="st_dumppoints">ST_DumpPoints<a class="headerlink" href="#st_dumppoints" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns list of Points which geometry consists of.</p>
+<p>Format: <code class="codehilite">ST_DumpPoints(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_DumpPoints</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;LINESTRING (0 0, 1 1, 1 0)&#39;</span><span class="p">))</span> 
+</pre></div></p>
+<p>Output: <code class="codehilite">[POINT (0 0), POINT (0 1), POINT (1 1), POINT (1 0), POINT (0 0)]</code></p>
+<h2 id="st_isclosed">ST_IsClosed<a class="headerlink" href="#st_isclosed" title="Permanent link">&para;</a></h2>
+<p>Introduction: RETURNS true if the LINESTRING start and end point are the same.</p>
+<p>Format: <code class="codehilite">ST_IsClosed(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_IsClosed</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;LINESTRING(0 0, 1 1, 1 0)&#39;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">false</code></p>
+<h2 id="st_numinteriorrings">ST_NumInteriorRings<a class="headerlink" href="#st_numinteriorrings" title="Permanent link">&para;</a></h2>
+<p>Introduction: RETURNS number of interior rings of polygon geometries.</p>
+<p>Format: <code class="codehilite">ST_NumInteriorRings(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_NumInteriorRings</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="s1">&#39;POLYGON ((0 0, 0 5, 5 5, 5 0, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1))&#39;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">1</code></p>
+<h2 id="st_addpoint">ST_AddPoint<a class="headerlink" href="#st_addpoint" title="Permanent link">&para;</a></h2>
+<p>Introduction: RETURN Linestring with additional point at the given index, if position is not available the point will be added at the end of line.</p>
+<p>Format: <code class="codehilite">ST_AddPoint(geom: geometry, point: geometry, position: integer)</code></p>
+<p>Format: <code class="codehilite">ST_AddPoint(geom: geometry, point: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_AddPoint</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="ss">&quot;LINESTRING(0 0, 1 1, 1 0)&quot;</span><span class="p">),</span> <span class="n">ST_GeomFromText</span><span class="p">(</span><span class="ss">&quot;Point(21 52)&quot;</span><span class="p">),</span> <span class="mi">1</span><span class="p">)</span>
+
+<span class="k">SELECT</span> <span class="n">ST_AddPoint</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="ss">&quot;Linestring(0 0, 1 1, 1 0)&quot;</span><span class="p">),</span> <span class="n">ST_GeomFromText</span><span class="p">(</span><span class="ss">&quot;Point(21 52)&quot;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output:
+<div class="codehilite"><pre><span></span>LINESTRING(0 0, 21 52, 1 1, 1 0)
+LINESTRING(0 0, 1 1, 1 0, 21 52)
+</pre></div></p>
+<h2 id="st_removepoint">ST_RemovePoint<a class="headerlink" href="#st_removepoint" title="Permanent link">&para;</a></h2>
+<p>Introduction: RETURN Line with removed point at given index, position can be omitted and then last one will be removed.</p>
+<p>Format: <code class="codehilite">ST_RemovePoint(geom: geometry, position: integer)</code></p>
+<p>Format: <code class="codehilite">ST_RemovePoint(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_RemovePoint</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="ss">&quot;LINESTRING(0 0, 1 1, 1 0)&quot;</span><span class="p">),</span> <span class="mi">1</span><span class="p">)</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">LINESTRING(0 0, 1 0)</code></p>
+<h2 id="st_isring">ST_IsRing<a class="headerlink" href="#st_isring" title="Permanent link">&para;</a></h2>
+<p>Introduction: RETURN true if LINESTRING is ST_IsClosed and ST_IsSimple.</p>
+<p>Format: <code class="codehilite">ST_IsRing(geom: geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<p>Spark SQL example:
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_IsRing</span><span class="p">(</span><span class="n">ST_GeomFromText</span><span class="p">(</span><span class="ss">&quot;LINESTRING(0 0, 0 1, 1 1, 1 0, 0 0)&quot;</span><span class="p">))</span>
+</pre></div></p>
+<p>Output: <code class="codehilite">true</code></p>
+<h2 id="st_numgeometries">ST_NumGeometries<a class="headerlink" href="#st_numgeometries" title="Permanent link">&para;</a></h2>
+<p>Introduction: Returns the number of Geometries. If geometry is a GEOMETRYCOLLECTION (or MULTI*) return the number of geometries, for single geometries will return 1.</p>
+<p>Format: <code class="codehilite">ST_NumGeometries (A:geometry)</code></p>
+<p>Since: <code class="codehilite">v1.3.2</code></p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="n">ST_NumGeometries</span><span class="p">(</span><span class="n">df</span><span class="p">.</span><span class="n">geometry</span><span class="p">)</span>
+<span class="k">FROM</span> <span class="n">df</span>
+</pre></div>
+                
+                  
+                
+              
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+    <div class="md-footer-nav">
+      <nav class="md-footer-nav__inner md-grid">
+        
+          <a href="../GeoSparkSQL-Constructor/" title="Constructor" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+            </div>
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Previous
+                </span>
+                Constructor
+              </span>
+            </div>
+          </a>
+        
+        
+          <a href="../GeoSparkSQL-Predicate/" title="Predicate" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Next
+                </span>
+                Predicate
+              </span>
+            </div>
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+            </div>
+          </a>
+        
+      </nav>
+    </div>
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="http://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+        
+  <div class="md-footer-social">
+    
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+    
+      <a href="https://github.com/DataSystemsLab/GeoSpark" class="md-footer-social__link fa fa-github"></a>
+    
+      <a href="https://twitter.com/GeoSpark_ASU" class="md-footer-social__link fa fa-twitter"></a>
+    
+  </div>
+
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="../../../assets/javascripts/application.8eb9be28.js"></script>
+      
+      <script>app.initialize({version:"0.17.2",url:{base:"../../.."}})</script>
+      
+    
+    
+      
+        <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64886725-1","www.public.asu.edu/~jiayu2/geospark/index.html"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName( [...]
+      
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/api/sql/GeoSparkSQL-Optimizer/index.html b/api/sql/GeoSparkSQL-Optimizer/index.html
new file mode 100644
index 0000000..91e9081
--- /dev/null
+++ b/api/sql/GeoSparkSQL-Optimizer/index.html
@@ -0,0 +1,1155 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>Join query (optimizer) - GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../../assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="../../../assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="../../../assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+      <a href="#geosparksql-query-optimizer" tabindex="1" class="md-skip">
+        Skip to content
+      </a>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../../.." title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                Join query (optimizer)
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../.." title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/zeppelin/" title="Install GeoSpark-Zeppelin" class="md-nav__link">
+      Install GeoSpark-Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/compile/" title="Compile the source code" class="md-nav__link">
+      Compile the source code
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      Tutorial
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        Tutorial
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/rdd/" title="Spatial RDD application" class="md-nav__link">
+      Spatial RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/sql/" title="Spatial SQL application" class="md-nav__link">
+      Spatial SQL application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/viz/" title="Visualize Spatial DataFrame" class="md-nav__link">
+      Visualize Spatial DataFrame
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/zeppelin/" title="Run GeoSpark via Zeppelin" class="md-nav__link">
+      Run GeoSpark via Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-core-python/" title="Spatial RDD in Python" class="md-nav__link">
+      Spatial RDD in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-sql-python/" title="Spatial SQL in Python" class="md-nav__link">
+      Spatial SQL in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/GeoSpark-Runnable-DEMO/" title="GeoSpark template project" class="md-nav__link">
+      GeoSpark template project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/faq/" title="Frequently Asked Questions" class="md-nav__link">
+      Frequently Asked Questions
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/Advanced-Tutorial-Tune-your-GeoSpark-Application/" title="Tune GeoSpark RDD application" class="md-nav__link">
+      Tune GeoSpark RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/benchmark/" title="Benchmark" class="md-nav__link">
+      Benchmark
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
+    
+    <label class="md-nav__link" for="nav-4">
+      API
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        API
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-1" type="checkbox" id="nav-4-1">
+    
+    <label class="md-nav__link" for="nav-4-1">
+      GeoSpark core (RDD)
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-1">
+        GeoSpark core (RDD)
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Scala-and-Java-API/" title="Scala/Java doc" class="md-nav__link">
+      Scala/Java doc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Python-API/" title="Python doc" class="md-nav__link">
+      Python doc
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2" checked>
+    
+    <label class="md-nav__link" for="nav-4-2">
+      GeoSpark SQL
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-2">
+        GeoSpark SQL
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-javadoc/" title="JavaDoc" class="md-nav__link">
+      JavaDoc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Constructor/" title="Constructor" class="md-nav__link">
+      Constructor
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Function/" title="Function" class="md-nav__link">
+      Function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Predicate/" title="Predicate" class="md-nav__link">
+      Predicate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-AggregateFunction/" title="Aggregate function" class="md-nav__link">
+      Aggregate function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active">
+    
+    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
+    
+      
+    
+    
+      <label class="md-nav__link md-nav__link--active" for="toc">
+        Join query (optimizer)
+      </label>
+    
+    <a href="./" title="Join query (optimizer)" class="md-nav__link md-nav__link--active">
+      Join query (optimizer)
+    </a>
+    
+      
+<nav class="md-nav md-nav--secondary">
+  
+  
+    
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#range-join" title="Range join" class="md-nav__link">
+    Range join
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#distance-join" title="Distance join" class="md-nav__link">
+    Distance join
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#predicate-pushdown" title="Predicate pushdown" class="md-nav__link">
+    Predicate pushdown
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+    
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Parameter/" title="Parameter" class="md-nav__link">
+      Parameter
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-3" type="checkbox" id="nav-4-3">
+    
+    <label class="md-nav__link" for="nav-4-3">
+      GeoSpark Viz
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-3">
+        GeoSpark Viz
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/sql/" title="DataFrame/SQL" class="md-nav__link">
+      DataFrame/SQL
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/Babylon-Scala-and-Java-API/" title="RDD" class="md-nav__link">
+      RDD
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Contributing
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Contributing
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/rule/" title="Contributing rule" class="md-nav__link">
+      Contributing rule
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/contributor/" title="Contributors and committers" class="md-nav__link">
+      Contributors and committers
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../contact/" title="Contact" class="md-nav__link">
+      Contact
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../publication/" title="Publications" class="md-nav__link">
+      Publications
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
+    
+    <label class="md-nav__link" for="nav-8">
+      License
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-8">
+        License
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License-before-1-2-0/" title="License-before-1.2.0" class="md-nav__link">
+      License-before-1.2.0
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License/" title="License" class="md-nav__link">
+      License
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    
+<nav class="md-nav md-nav--secondary">
+  
+  
+    
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#range-join" title="Range join" class="md-nav__link">
+    Range join
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#distance-join" title="Distance join" class="md-nav__link">
+    Distance join
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#predicate-pushdown" title="Predicate pushdown" class="md-nav__link">
+    Predicate pushdown
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+                
+                  <a href="https://github.com/DataSystemsLab/GeoSpark/edit/master/docs/api/sql/GeoSparkSQL-Optimizer.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
+                
+                
+                <h1 id="geosparksql-query-optimizer">GeoSparkSQL query optimizer<a class="headerlink" href="#geosparksql-query-optimizer" title="Permanent link">&para;</a></h1>
+<p>GeoSpark Spatial operators fully supports Apache SparkSQL query optimizer. It has the following query optimization features:</p>
+<ul>
+<li>Automatically optimizes range join query and distance join query.</li>
+<li>Automatically performs predicate pushdown.</li>
+</ul>
+<h2 id="range-join">Range join<a class="headerlink" href="#range-join" title="Permanent link">&para;</a></h2>
+<p>Introduction: Find geometries from A and geometries from B such that each geometry pair satisfies a certain predicate. Most predicates supported by GeoSparkSQL can trigger a range join.</p>
+<p>Spark SQL Example:</p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">polygondf</span><span class="p">,</span> <span class="n">pointdf</span>
+<span class="k">WHERE</span> <span class="n">ST_Contains</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">polygonshape</span><span class="p">,</span><span class="n">pointdf</span><span class="p">.</span><span class="n">pointshape</span><span class="p">)</span>
+</pre></div>
+
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">polygondf</span><span class="p">,</span> <span class="n">pointdf</span>
+<span class="k">WHERE</span> <span class="n">ST_Intersects</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">polygonshape</span><span class="p">,</span><span class="n">pointdf</span><span class="p">.</span><span class="n">pointshape</span><span class="p">)</span>
+</pre></div>
+
+<p><div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">pointdf</span><span class="p">,</span> <span class="n">polygondf</span>
+<span class="k">WHERE</span> <span class="n">ST_Within</span><span class="p">(</span><span class="n">pointdf</span><span class="p">.</span><span class="n">pointshape</span><span class="p">,</span> <span class="n">polygondf</span><span class="p">.</span><span class="n">polygonshape</span><span class="p">)</span>
+</pre></div>
+Spark SQL Physical plan:
+<div class="codehilite"><pre><span></span><span class="o">==</span> <span class="nv">Physical</span> <span class="nv">Plan</span> <span class="o">==</span>
+<span class="nv">RangeJoin</span> <span class="s s-Atom">polygonshape#</span><span class="mi">20</span><span class="s s-Atom">:</span> <span class="s s-Atom">geometry</span><span class="p">,</span> <span class="s s-Atom">pointshape#</span><span class="mi">43</span><span class="s s-Atom">:</span> <span class="s s-Atom">geometry</span><span class="p">,</span> <span class="nf">false</span>
+<span class="o">:-</span> <span class="nv">Project</span> <span class="p">[</span><span class="nf">st_polygonfromenvelope</span><span class="p">(</span><span class="nf">cast</span><span class="p">(</span><span class="k">_</span><span class="s s-Atom">c0#</span><span class="mi">0</span> <span class="s s-Atom">as</span> <span class="nf">decimal</span><span class="p">(</span><span class="mi">24</span><span class="p">,</span><span class="mi">20</span><span class="p">)),</span> <span class="n [...]
+<span class="s s-Atom">:</span>  <span class="s s-Atom">+-</span> <span class="o">*</span><span class="nv">FileScan</span> <span class="s s-Atom">csv</span>
+<span class="s s-Atom">+-</span> <span class="nv">Project</span> <span class="p">[</span><span class="nf">st_point</span><span class="p">(</span><span class="nf">cast</span><span class="p">(</span><span class="k">_</span><span class="s s-Atom">c0#</span><span class="mi">31</span> <span class="s s-Atom">as</span> <span class="nf">decimal</span><span class="p">(</span><span class="mi">24</span><span class="p">,</span><span class="mi">20</span><span class="p">)),</span> <span class="nf">cas [...]
+   <span class="s s-Atom">+-</span> <span class="o">*</span><span class="nv">FileScan</span> <span class="s s-Atom">csv</span>
+</pre></div></p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>All join queries in GeoSparkSQL are inner joins</p>
+</div>
+<h2 id="distance-join">Distance join<a class="headerlink" href="#distance-join" title="Permanent link">&para;</a></h2>
+<p>Introduction: Find geometries from A and geometries from B such that the internal Euclidean distance of each geometry pair is less or equal than a certain distance</p>
+<p>Spark SQL Example:</p>
+<p><em>Only consider <mark>fully within a certain distance</mark></em>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">pointdf1</span><span class="p">,</span> <span class="n">pointdf2</span>
+<span class="k">WHERE</span> <span class="n">ST_Distance</span><span class="p">(</span><span class="n">pointdf1</span><span class="p">.</span><span class="n">pointshape1</span><span class="p">,</span><span class="n">pointdf2</span><span class="p">.</span><span class="n">pointshape2</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span>
+</pre></div></p>
+<p><em>Consider <mark>intersects within a certain distance</mark></em>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">pointdf1</span><span class="p">,</span> <span class="n">pointdf2</span>
+<span class="k">WHERE</span> <span class="n">ST_Distance</span><span class="p">(</span><span class="n">pointdf1</span><span class="p">.</span><span class="n">pointshape1</span><span class="p">,</span><span class="n">pointdf2</span><span class="p">.</span><span class="n">pointshape2</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="mi">2</span>
+</pre></div></p>
+<p>Spark SQL Physical plan:
+<div class="codehilite"><pre><span></span><span class="o">==</span> <span class="nv">Physical</span> <span class="nv">Plan</span> <span class="o">==</span>
+<span class="nv">DistanceJoin</span> <span class="s s-Atom">pointshape1#</span><span class="mi">12</span><span class="s s-Atom">:</span> <span class="s s-Atom">geometry</span><span class="p">,</span> <span class="s s-Atom">pointshape2#</span><span class="mi">33</span><span class="s s-Atom">:</span> <span class="s s-Atom">geometry</span><span class="p">,</span> <span class="mf">2.0</span><span class="p">,</span> <span class="nf">true</span>
+<span class="o">:-</span> <span class="nv">Project</span> <span class="p">[</span><span class="nf">st_point</span><span class="p">(</span><span class="nf">cast</span><span class="p">(</span><span class="k">_</span><span class="s s-Atom">c0#</span><span class="mi">0</span> <span class="s s-Atom">as</span> <span class="nf">decimal</span><span class="p">(</span><span class="mi">24</span><span class="p">,</span><span class="mi">20</span><span class="p">)),</span> <span class="nf">cast</span> [...]
+<span class="s s-Atom">:</span>  <span class="s s-Atom">+-</span> <span class="o">*</span><span class="nv">FileScan</span> <span class="s s-Atom">csv</span>
+<span class="s s-Atom">+-</span> <span class="nv">Project</span> <span class="p">[</span><span class="nf">st_point</span><span class="p">(</span><span class="nf">cast</span><span class="p">(</span><span class="k">_</span><span class="s s-Atom">c0#</span><span class="mi">21</span> <span class="s s-Atom">as</span> <span class="nf">decimal</span><span class="p">(</span><span class="mi">24</span><span class="p">,</span><span class="mi">20</span><span class="p">)),</span> <span class="nf">cas [...]
+   <span class="s s-Atom">+-</span> <span class="o">*</span><span class="nv">FileScan</span> <span class="s s-Atom">csv</span>
+</pre></div></p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>GeoSpark doesn't control the distance's unit (degree or meter). It is same with the geometry. To change the geometry's unit, please transform the coordinate reference system. See <a href="../GeoSparkSQL-Function/#st_transform">ST_Transform</a>.</p>
+</div>
+<h2 id="predicate-pushdown">Predicate pushdown<a class="headerlink" href="#predicate-pushdown" title="Permanent link">&para;</a></h2>
+<p>Introduction: Given a join query and a predicate in the same WHERE clause, first executes the Predicate as a filter, then executes the join query*</p>
+<p>Spark SQL Example:</p>
+<div class="codehilite"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">polygondf</span><span class="p">,</span> <span class="n">pointdf</span> 
+<span class="k">WHERE</span> <span class="n">ST_Contains</span><span class="p">(</span><span class="n">polygondf</span><span class="p">.</span><span class="n">polygonshape</span><span class="p">,</span><span class="n">pointdf</span><span class="p">.</span><span class="n">pointshape</span><span class="p">)</span>
+<span class="k">AND</span> <span class="n">ST_Contains</span><span class="p">(</span><span class="n">ST_PolygonFromEnvelope</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="mi">101</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="mi">501</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="mi">601</span><span class=" [...]
+</pre></div>
+
+<p>Spark SQL Physical plan:</p>
+<div class="codehilite"><pre><span></span><span class="o">==</span> <span class="nv">Physical</span> <span class="nv">Plan</span> <span class="o">==</span>
+<span class="nv">RangeJoin</span> <span class="s s-Atom">polygonshape#</span><span class="mi">20</span><span class="s s-Atom">:</span> <span class="s s-Atom">geometry</span><span class="p">,</span> <span class="s s-Atom">pointshape#</span><span class="mi">43</span><span class="s s-Atom">:</span> <span class="s s-Atom">geometry</span><span class="p">,</span> <span class="nf">false</span>
+<span class="o">:-</span> <span class="nv">Project</span> <span class="p">[</span><span class="nf">st_polygonfromenvelope</span><span class="p">(</span><span class="nf">cast</span><span class="p">(</span><span class="k">_</span><span class="s s-Atom">c0#</span><span class="mi">0</span> <span class="s s-Atom">as</span> <span class="nf">decimal</span><span class="p">(</span><span class="mi">24</span><span class="p">,</span><span class="mi">20</span><span class="p">)),</span> <span class="n [...]
+<span class="s s-Atom">:</span>  <span class="s s-Atom">+-</span> <span class="nv">Filter</span>  <span class="s s-Atom">**org</span><span class="p">.</span><span class="s s-Atom">apache</span><span class="p">.</span><span class="s s-Atom">spark</span><span class="p">.</span><span class="s s-Atom">sql</span><span class="p">.</span><span class="s s-Atom">geosparksql</span><span class="p">.</span><span class="s s-Atom">expressions</span><span class="p">.</span><span class="nv">ST_Contains< [...]
+<span class="s s-Atom">:</span>     <span class="s s-Atom">+-</span> <span class="o">*</span><span class="nv">FileScan</span> <span class="s s-Atom">csv</span>
+<span class="s s-Atom">+-</span> <span class="nv">Project</span> <span class="p">[</span><span class="nf">st_point</span><span class="p">(</span><span class="nf">cast</span><span class="p">(</span><span class="k">_</span><span class="s s-Atom">c0#</span><span class="mi">31</span> <span class="s s-Atom">as</span> <span class="nf">decimal</span><span class="p">(</span><span class="mi">24</span><span class="p">,</span><span class="mi">20</span><span class="p">)),</span> <span class="nf">cas [...]
+   <span class="s s-Atom">+-</span> <span class="o">*</span><span class="nv">FileScan</span> <span class="s s-Atom">csv</span>
+</pre></div>
+                
+                  
+                
+              
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+    <div class="md-footer-nav">
+      <nav class="md-footer-nav__inner md-grid">
+        
+          <a href="../GeoSparkSQL-AggregateFunction/" title="Aggregate function" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+            </div>
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Previous
+                </span>
+                Aggregate function
+              </span>
+            </div>
+          </a>
+        
+        
+          <a href="../GeoSparkSQL-Parameter/" title="Parameter" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Next
+                </span>
+                Parameter
+              </span>
+            </div>
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+            </div>
+          </a>
+        
+      </nav>
+    </div>
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="http://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+        
+  <div class="md-footer-social">
+    
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+    
+      <a href="https://github.com/DataSystemsLab/GeoSpark" class="md-footer-social__link fa fa-github"></a>
+    
+      <a href="https://twitter.com/GeoSpark_ASU" class="md-footer-social__link fa fa-twitter"></a>
+    
+  </div>
+
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="../../../assets/javascripts/application.8eb9be28.js"></script>
+      
+      <script>app.initialize({version:"0.17.2",url:{base:"../../.."}})</script>
+      
+    
+    
+      
+        <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64886725-1","www.public.asu.edu/~jiayu2/geospark/index.html"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName( [...]
+      
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/api/sql/GeoSparkSQL-Overview/index.html b/api/sql/GeoSparkSQL-Overview/index.html
new file mode 100644
index 0000000..2bd0408
--- /dev/null
+++ b/api/sql/GeoSparkSQL-Overview/index.html
@@ -0,0 +1,1105 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>Quick start - GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../../assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="../../../assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="../../../assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+      <a href="#introduction" tabindex="1" class="md-skip">
+        Skip to content
+      </a>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../../.." title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                Quick start
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../.." title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/zeppelin/" title="Install GeoSpark-Zeppelin" class="md-nav__link">
+      Install GeoSpark-Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/compile/" title="Compile the source code" class="md-nav__link">
+      Compile the source code
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      Tutorial
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        Tutorial
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/rdd/" title="Spatial RDD application" class="md-nav__link">
+      Spatial RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/sql/" title="Spatial SQL application" class="md-nav__link">
+      Spatial SQL application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/viz/" title="Visualize Spatial DataFrame" class="md-nav__link">
+      Visualize Spatial DataFrame
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/zeppelin/" title="Run GeoSpark via Zeppelin" class="md-nav__link">
+      Run GeoSpark via Zeppelin
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-core-python/" title="Spatial RDD in Python" class="md-nav__link">
+      Spatial RDD in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/geospark-sql-python/" title="Spatial SQL in Python" class="md-nav__link">
+      Spatial SQL in Python
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/GeoSpark-Runnable-DEMO/" title="GeoSpark template project" class="md-nav__link">
+      GeoSpark template project
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/faq/" title="Frequently Asked Questions" class="md-nav__link">
+      Frequently Asked Questions
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/Advanced-Tutorial-Tune-your-GeoSpark-Application/" title="Tune GeoSpark RDD application" class="md-nav__link">
+      Tune GeoSpark RDD application
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../tutorial/benchmark/" title="Benchmark" class="md-nav__link">
+      Benchmark
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4" checked>
+    
+    <label class="md-nav__link" for="nav-4">
+      API
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        API
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-1" type="checkbox" id="nav-4-1">
+    
+    <label class="md-nav__link" for="nav-4-1">
+      GeoSpark core (RDD)
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-1">
+        GeoSpark core (RDD)
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Scala-and-Java-API/" title="Scala/Java doc" class="md-nav__link">
+      Scala/Java doc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../GeoSpark-Python-API/" title="Python doc" class="md-nav__link">
+      Python doc
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2" checked>
+    
+    <label class="md-nav__link" for="nav-4-2">
+      GeoSpark SQL
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-2">
+        GeoSpark SQL
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-javadoc/" title="JavaDoc" class="md-nav__link">
+      JavaDoc
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active">
+    
+    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
+    
+      
+    
+    
+      <label class="md-nav__link md-nav__link--active" for="toc">
+        Quick start
+      </label>
+    
+    <a href="./" title="Quick start" class="md-nav__link md-nav__link--active">
+      Quick start
+    </a>
+    
+      
+<nav class="md-nav md-nav--secondary">
+  
+  
+    
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#function-list" title="Function list" class="md-nav__link">
+    Function list
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#quick-start" title="Quick start" class="md-nav__link">
+    Quick start
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+    
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Constructor/" title="Constructor" class="md-nav__link">
+      Constructor
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Function/" title="Function" class="md-nav__link">
+      Function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Predicate/" title="Predicate" class="md-nav__link">
+      Predicate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-AggregateFunction/" title="Aggregate function" class="md-nav__link">
+      Aggregate function
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Optimizer/" title="Join query (optimizer)" class="md-nav__link">
+      Join query (optimizer)
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../GeoSparkSQL-Parameter/" title="Parameter" class="md-nav__link">
+      Parameter
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-3" type="checkbox" id="nav-4-3">
+    
+    <label class="md-nav__link" for="nav-4-3">
+      GeoSpark Viz
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+      <label class="md-nav__title" for="nav-4-3">
+        GeoSpark Viz
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/sql/" title="DataFrame/SQL" class="md-nav__link">
+      DataFrame/SQL
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../viz/Babylon-Scala-and-Java-API/" title="RDD" class="md-nav__link">
+      RDD
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Contributing
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Contributing
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/rule/" title="Contributing rule" class="md-nav__link">
+      Contributing rule
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../contribute/contributor/" title="Contributors and committers" class="md-nav__link">
+      Contributors and committers
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../contact/" title="Contact" class="md-nav__link">
+      Contact
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../../publication/" title="Publications" class="md-nav__link">
+      Publications
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
+    
+    <label class="md-nav__link" for="nav-8">
+      License
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-8">
+        License
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License-before-1-2-0/" title="License-before-1.2.0" class="md-nav__link">
+      License-before-1.2.0
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../license/License/" title="License" class="md-nav__link">
+      License
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    
+<nav class="md-nav md-nav--secondary">
+  
+  
+    
+  
+  
+    <label class="md-nav__title" for="toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#function-list" title="Function list" class="md-nav__link">
+    Function list
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#quick-start" title="Quick start" class="md-nav__link">
+    Quick start
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+                
+                  <a href="https://github.com/DataSystemsLab/GeoSpark/edit/master/docs/api/sql/GeoSparkSQL-Overview.md" title="Edit this page" class="md-icon md-content__icon">&#xE3C9;</a>
+                
+                
+                <h1 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">&para;</a></h1>
+<h2 id="function-list">Function list<a class="headerlink" href="#function-list" title="Permanent link">&para;</a></h2>
+<p>GeoSparkSQL supports SQL/MM Part3 Spatial SQL Standard. It includes four kinds of SQL operators as follows. All these operators can be directly called through:
+<div class="codehilite"><pre><span></span><span class="k">var</span> <span class="n">myDataFrame</span> <span class="k">=</span> <span class="n">sparkSession</span><span class="o">.</span><span class="n">sql</span><span class="o">(</span><span class="s">&quot;YOUR_SQL&quot;</span><span class="o">)</span>
+</pre></div></p>
+<ul>
+<li>Constructor: Construct a Geometry given an input string or coordinates<ul>
+<li>Example: ST_GeomFromWKT (string). Create a Geometry from a WKT String.</li>
+<li>Documentation: <a href="../GeoSparkSQL-Constructor">Here</a></li>
+</ul>
+</li>
+<li>Function: Execute a function on the given column or columns<ul>
+<li>Example: ST_Distance (A, B). Given two Geometry A and B, return the Euclidean distance of A and B.</li>
+<li>Documentation: <a href="../GeoSparkSQL-Function">Here</a></li>
+</ul>
+</li>
+<li>Aggregate function: Return the aggregated value on the given column<ul>
+<li>Example: ST_Envelope_Aggr (Geometry column). Given a Geometry column, calculate the entire envelope boundary of this column.</li>
+<li>Documentation: <a href="../GeoSparkSQL-AggregateFunction">Here</a></li>
+</ul>
+</li>
+<li>Predicate: Execute a logic judgement on the given columns and return true or false<ul>
+<li>Example: ST_Contains (A, B). Check if A fully contains B. Return "True" if yes, else return "False".</li>
+<li>Documentation: <a href="../GeoSparkSQL-Predicate">Here</a></li>
+</ul>
+</li>
+</ul>
+<p>GeoSparkSQL supports SparkSQL query optimizer, documentation is <a href="../GeoSparkSQL-Optimizer">Here</a></p>
+<h2 id="quick-start">Quick start<a class="headerlink" href="#quick-start" title="Permanent link">&para;</a></h2>
+<p>The detailed explanation is here <a href="../../../tutorial/sql/">Write a SQL/DataFrame application</a>.</p>
+<ol>
+<li>Add GeoSpark-core and GeoSparkSQL into your project POM.xml or build.sbt</li>
+<li>Declare your Spark Session
+<div class="codehilite"><pre><span></span><span class="n">sparkSession</span> <span class="k">=</span> <span class="nc">SparkSession</span><span class="o">.</span><span class="n">builder</span><span class="o">().</span>
+      <span class="n">config</span><span class="o">(</span><span class="s">&quot;spark.serializer&quot;</span><span class="o">,</span><span class="n">classOf</span><span class="o">[</span><span class="kt">KryoSerializer</span><span class="o">].</span><span class="n">getName</span><span class="o">).</span>
+      <span class="n">config</span><span class="o">(</span><span class="s">&quot;spark.kryo.registrator&quot;</span><span class="o">,</span> <span class="n">classOf</span><span class="o">[</span><span class="kt">GeoSparkKryoRegistrator</span><span class="o">].</span><span class="n">getName</span><span class="o">).</span>
+      <span class="n">master</span><span class="o">(</span><span class="s">&quot;local[*]&quot;</span><span class="o">).</span><span class="n">appName</span><span class="o">(</span><span class="s">&quot;myGeoSparkSQLdemo&quot;</span><span class="o">).</span><span class="n">getOrCreate</span><span class="o">()</span>
+</pre></div></li>
+<li>Add the following line after your SparkSession declaration:
+<div class="codehilite"><pre><span></span><span class="nc">GeoSparkSQLRegistrator</span><span class="o">.</span><span class="n">registerAll</span><span class="o">(</span><span class="n">sparkSession</span><span class="o">)</span>
+</pre></div></li>
+</ol>
+                
+                  
+                
+              
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+    <div class="md-footer-nav">
+      <nav class="md-footer-nav__inner md-grid">
+        
+          <a href="../GeoSparkSQL-javadoc/" title="JavaDoc" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+            </div>
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Previous
+                </span>
+                JavaDoc
+              </span>
+            </div>
+          </a>
+        
+        
+          <a href="../GeoSparkSQL-Constructor/" title="Constructor" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Next
+                </span>
+                Constructor
+              </span>
+            </div>
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+            </div>
+          </a>
+        
+      </nav>
+    </div>
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="http://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+        
+  <div class="md-footer-social">
+    
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+    
+      <a href="https://github.com/DataSystemsLab/GeoSpark" class="md-footer-social__link fa fa-github"></a>
+    
+      <a href="https://twitter.com/GeoSpark_ASU" class="md-footer-social__link fa fa-twitter"></a>
+    
+  </div>
+
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="../../../assets/javascripts/application.8eb9be28.js"></script>
+      
+      <script>app.initialize({version:"0.17.2",url:{base:"../../.."}})</script>
+      
+    
+    
+      
+        <script>!function(e,a,t,n,o,c,i){e.GoogleAnalyticsObject=o,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=1*new Date,c=a.createElement(t),i=a.getElementsByTagName(t)[0],c.async=1,c.src="https://www.google-analytics.com/analytics.js",i.parentNode.insertBefore(c,i)}(window,document,"script",0,"ga"),ga("create","UA-64886725-1","www.public.asu.edu/~jiayu2/geospark/index.html"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName( [...]
+      
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/api/sql/GeoSparkSQL-Parameter/index.html b/api/sql/GeoSparkSQL-Parameter/index.html
new file mode 100644
index 0000000..1c9f38e
--- /dev/null
+++ b/api/sql/GeoSparkSQL-Parameter/index.html
@@ -0,0 +1,1113 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-0.17.2, mkdocs-material-2.7.1">
+    
+    
+      
+        <title>Parameter - GeoSpark</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../../assets/stylesheets/application.78aab2dc.css">
+      
+        <link rel="stylesheet" href="../../../assets/stylesheets/application-palette.6079476c.css">
+      
+    
+    
+      <script src="../../../assets/javascripts/modernizr.1aa3b519.js"></script>
+    
+    
+      <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+      
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+    
+    
+    
+  </head>
+  
+    
+    
+    <body dir="ltr" data-md-color-primary="cyan" data-md-color-accent="pink">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+          <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
+    viewBox="0 0 416 448" id="github">
+  <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
+        8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
+        18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
+        19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
+        18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
+        304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
+        2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
+        38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
+        37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
+        82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
+        1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
+        0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
+        30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
+        46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
+        99.5z" />
+</svg>
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
+    
+      <a href="#usage" tabindex="1" class="md-skip">
+        Skip to content
+      </a>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../../.." title="GeoSpark" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            
+              <span class="md-header-nav__topic">
+                GeoSpark
+              </span>
+              <span class="md-header-nav__topic">
+                Parameter
+              </span>
+            
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          
+            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
+            
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+          
+        
+      </div>
+      
+        <div class="md-flex__cell md-flex__cell--shrink">
+          <div class="md-header-nav__source">
+            
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+          </div>
+        </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="drawer">
+    <span class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </span>
+    GeoSpark
+  </label>
+  
+    <div class="md-nav__source">
+      
+
+
+  
+
+
+  <a href="https://github.com/DataSystemsLab/GeoSpark/" title="Go to repository" class="md-source" data-md-source="github">
+    
+      <div class="md-source__icon">
+        <svg viewBox="0 0 24 24" width="24" height="24">
+          <use xlink:href="#github" width="24" height="24"></use>
+        </svg>
+      </div>
+    
+    <div class="md-source__repository">
+      GitHub
+    </div>
+  </a>
+
+    </div>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../../.." title="Home" class="md-nav__link">
+      Home
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
+    
+    <label class="md-nav__link" for="nav-2">
+      Download
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Download
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/overview/" title="Quick start" class="md-nav__link">
+      Quick start
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Release-notes/" title="Release notes" class="md-nav__link">
+      Release notes
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/GeoSpark-All-Modules-Maven-Central-Coordinates/" title="Maven Central coordinate" class="md-nav__link">
+      Maven Central coordinate
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/cluster/" title="Set up Spark cluser" class="md-nav__link">
+      Set up Spark cluser
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/scalashell/" title="Spark Scala shell" class="md-nav__link">
+      Spark Scala shell
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../../download/project/" title="Self-contained project" class="md-nav__link">
+      Self-contained project
+    </a>
... 159828 lines suppressed ...