You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemall.apache.org by my...@apache.org on 2017/04/24 11:15:39 UTC
[14/23] incubator-hivemall-site git commit: Added userguide contents
about clustering and GeoSpatial
http://git-wip-us.apache.org/repos/asf/incubator-hivemall-site/blob/06c5398a/userguide/geospatial/latlon.html
----------------------------------------------------------------------
diff --git a/userguide/geospatial/latlon.html b/userguide/geospatial/latlon.html
new file mode 100644
index 0000000..8d28e1e
--- /dev/null
+++ b/userguide/geospatial/latlon.html
@@ -0,0 +1,2201 @@
+
+<!DOCTYPE HTML>
+<html lang="" >
+ <head>
+ <meta charset="UTF-8">
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+ <title>Lat/Lon functions � Hivemall User Manual</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+ <meta name="description" content="">
+ <meta name="generator" content="GitBook 3.2.2">
+
+
+
+
+ <link rel="stylesheet" href="../gitbook/style.css">
+
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-splitter/splitter.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-etoc/plugin.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-callouts/plugin.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-toggle-chapters/toggle.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-codeblock-filename/block.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-multipart/multipart.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-katex/katex.min.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-emphasize/plugin.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
+
+
+
+ <link rel="stylesheet" href="../gitbook/gitbook-plugin-theme-api/theme-api.css">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <meta name="HandheldFriendly" content="true"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+ <meta name="apple-mobile-web-app-capable" content="yes">
+ <meta name="apple-mobile-web-app-status-bar-style" content="black">
+ <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
+ <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
+
+
+ <link rel="next" href="../spark/getting_started/" />
+
+
+ <link rel="prev" href="../clustering/lda.html" />
+
+
+ </head>
+ <body>
+
+<div class="book">
+ <div class="book-summary">
+
+
+<div id="book-search-input" role="search">
+ <input type="text" placeholder="Type to search" />
+</div>
+
+
+ <nav role="navigation">
+
+
+
+<ul class="summary">
+
+
+
+
+ <li>
+ <a href="http://hivemall.incubator.apache.org/" target="_blank" class="custom-link"><i class="fa fa-home"></i> Home</a>
+ </li>
+
+
+
+
+ <li class="divider"></li>
+
+
+
+
+ <li class="header">TABLE OF CONTENTS</li>
+
+
+
+ <li class="chapter " data-level="1.1" data-path="../">
+
+ <a href="../">
+
+
+ <b>1.1.</b>
+
+ Introduction
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.2" data-path="../getting_started/">
+
+ <a href="../getting_started/">
+
+
+ <b>1.2.</b>
+
+ Getting Started
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="1.2.1" data-path="../getting_started/installation.html">
+
+ <a href="../getting_started/installation.html">
+
+
+ <b>1.2.1.</b>
+
+ Installation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.2.2" data-path="../getting_started/permanent-functions.html">
+
+ <a href="../getting_started/permanent-functions.html">
+
+
+ <b>1.2.2.</b>
+
+ Install as permanent functions
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.2.3" data-path="../getting_started/input-format.html">
+
+ <a href="../getting_started/input-format.html">
+
+
+ <b>1.2.3.</b>
+
+ Input Format
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="1.3" data-path="../tips/">
+
+ <a href="../tips/">
+
+
+ <b>1.3.</b>
+
+ Tips for Effective Hivemall
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="1.3.1" data-path="../tips/addbias.html">
+
+ <a href="../tips/addbias.html">
+
+
+ <b>1.3.1.</b>
+
+ Explicit addBias() for better prediction
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.3.2" data-path="../tips/rand_amplify.html">
+
+ <a href="../tips/rand_amplify.html">
+
+
+ <b>1.3.2.</b>
+
+ Use rand_amplify() to better prediction results
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.3.3" data-path="../tips/rt_prediction.html">
+
+ <a href="../tips/rt_prediction.html">
+
+
+ <b>1.3.3.</b>
+
+ Real-time Prediction on RDBMS
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.3.4" data-path="../tips/ensemble_learning.html">
+
+ <a href="../tips/ensemble_learning.html">
+
+
+ <b>1.3.4.</b>
+
+ Ensemble learning for stable prediction
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.3.5" data-path="../tips/mixserver.html">
+
+ <a href="../tips/mixserver.html">
+
+
+ <b>1.3.5.</b>
+
+ Mixing models for a better prediction convergence (MIX server)
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.3.6" data-path="../tips/emr.html">
+
+ <a href="../tips/emr.html">
+
+
+ <b>1.3.6.</b>
+
+ Run Hivemall on Amazon Elastic MapReduce
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="1.4" data-path="../tips/general_tips.html">
+
+ <a href="../tips/general_tips.html">
+
+
+ <b>1.4.</b>
+
+ General Hive/Hadoop tips
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="1.4.1" data-path="../tips/rowid.html">
+
+ <a href="../tips/rowid.html">
+
+
+ <b>1.4.1.</b>
+
+ Adding rowid for each row
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.4.2" data-path="../tips/hadoop_tuning.html">
+
+ <a href="../tips/hadoop_tuning.html">
+
+
+ <b>1.4.2.</b>
+
+ Hadoop tuning for Hivemall
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="1.5" data-path="../troubleshooting/">
+
+ <a href="../troubleshooting/">
+
+
+ <b>1.5.</b>
+
+ Troubleshooting
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="1.5.1" data-path="../troubleshooting/oom.html">
+
+ <a href="../troubleshooting/oom.html">
+
+
+ <b>1.5.1.</b>
+
+ OutOfMemoryError in training
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.5.2" data-path="../troubleshooting/mapjoin_task_error.html">
+
+ <a href="../troubleshooting/mapjoin_task_error.html">
+
+
+ <b>1.5.2.</b>
+
+ SemanticException Generate Map Join Task Error: Cannot serialize object
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.5.3" data-path="../troubleshooting/asterisk.html">
+
+ <a href="../troubleshooting/asterisk.html">
+
+
+ <b>1.5.3.</b>
+
+ Asterisk argument for UDTF does not work
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.5.4" data-path="../troubleshooting/num_mappers.html">
+
+ <a href="../troubleshooting/num_mappers.html">
+
+
+ <b>1.5.4.</b>
+
+ The number of mappers is less than input splits in Hadoop 2.x
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="1.5.5" data-path="../troubleshooting/mapjoin_classcastex.html">
+
+ <a href="../troubleshooting/mapjoin_classcastex.html">
+
+
+ <b>1.5.5.</b>
+
+ Map-side Join causes ClassCastException on Tez
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+
+
+
+ <li class="header">Part II - Generic Features</li>
+
+
+
+ <li class="chapter " data-level="2.1" data-path="../misc/generic_funcs.html">
+
+ <a href="../misc/generic_funcs.html">
+
+
+ <b>2.1.</b>
+
+ List of generic Hivemall functions
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="2.2" data-path="../misc/topk.html">
+
+ <a href="../misc/topk.html">
+
+
+ <b>2.2.</b>
+
+ Efficient Top-K query processing
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="2.3" data-path="../misc/tokenizer.html">
+
+ <a href="../misc/tokenizer.html">
+
+
+ <b>2.3.</b>
+
+ English/Japanese Text Tokenizer
+
+ </a>
+
+
+
+ </li>
+
+
+
+
+ <li class="header">Part III - Feature Engineering</li>
+
+
+
+ <li class="chapter " data-level="3.1" data-path="../ft_engineering/scaling.html">
+
+ <a href="../ft_engineering/scaling.html">
+
+
+ <b>3.1.</b>
+
+ Feature Scaling
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="3.2" data-path="../ft_engineering/hashing.html">
+
+ <a href="../ft_engineering/hashing.html">
+
+
+ <b>3.2.</b>
+
+ Feature Hashing
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="3.3" data-path="../ft_engineering/tfidf.html">
+
+ <a href="../ft_engineering/tfidf.html">
+
+
+ <b>3.3.</b>
+
+ TF-IDF calculation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="3.4" data-path="../ft_engineering/ft_trans.html">
+
+ <a href="../ft_engineering/ft_trans.html">
+
+
+ <b>3.4.</b>
+
+ FEATURE TRANSFORMATION
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="3.4.1" data-path="../ft_engineering/vectorizer.html">
+
+ <a href="../ft_engineering/vectorizer.html">
+
+
+ <b>3.4.1.</b>
+
+ Vectorize Features
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="3.4.2" data-path="../ft_engineering/quantify.html">
+
+ <a href="../ft_engineering/quantify.html">
+
+
+ <b>3.4.2.</b>
+
+ Quantify non-number features
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="3.5" data-path="../ft_engineering/feature_selection.html">
+
+ <a href="../ft_engineering/feature_selection.html">
+
+
+ <b>3.5.</b>
+
+ Feature selection
+
+ </a>
+
+
+
+ </li>
+
+
+
+
+ <li class="header">Part IV - Evaluation</li>
+
+
+
+ <li class="chapter " data-level="4.1" data-path="../eval/stat_eval.html">
+
+ <a href="../eval/stat_eval.html">
+
+
+ <b>4.1.</b>
+
+ Statistical evaluation of a prediction model
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="4.1.1" data-path="../eval/auc.html">
+
+ <a href="../eval/auc.html">
+
+
+ <b>4.1.1.</b>
+
+ Area Under the ROC Curve
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="4.2" data-path="../eval/rank.html">
+
+ <a href="../eval/rank.html">
+
+
+ <b>4.2.</b>
+
+ Ranking Measures
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="4.3" data-path="../eval/datagen.html">
+
+ <a href="../eval/datagen.html">
+
+
+ <b>4.3.</b>
+
+ Data Generation
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="4.3.1" data-path="../eval/lr_datagen.html">
+
+ <a href="../eval/lr_datagen.html">
+
+
+ <b>4.3.1.</b>
+
+ Logistic Regression data generation
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+
+
+
+ <li class="header">Part V - Binary classification</li>
+
+
+
+ <li class="chapter " data-level="5.1" data-path="../binaryclass/a9a.html">
+
+ <a href="../binaryclass/a9a.html">
+
+
+ <b>5.1.</b>
+
+ a9a Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="5.1.1" data-path="../binaryclass/a9a_dataset.html">
+
+ <a href="../binaryclass/a9a_dataset.html">
+
+
+ <b>5.1.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="5.1.2" data-path="../binaryclass/a9a_lr.html">
+
+ <a href="../binaryclass/a9a_lr.html">
+
+
+ <b>5.1.2.</b>
+
+ Logistic Regression
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="5.1.3" data-path="../binaryclass/a9a_minibatch.html">
+
+ <a href="../binaryclass/a9a_minibatch.html">
+
+
+ <b>5.1.3.</b>
+
+ Mini-batch Gradient Descent
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="5.2" data-path="../binaryclass/news20.html">
+
+ <a href="../binaryclass/news20.html">
+
+
+ <b>5.2.</b>
+
+ News20 Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="5.2.1" data-path="../binaryclass/news20_dataset.html">
+
+ <a href="../binaryclass/news20_dataset.html">
+
+
+ <b>5.2.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="5.2.2" data-path="../binaryclass/news20_pa.html">
+
+ <a href="../binaryclass/news20_pa.html">
+
+
+ <b>5.2.2.</b>
+
+ Perceptron, Passive Aggressive
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="5.2.3" data-path="../binaryclass/news20_scw.html">
+
+ <a href="../binaryclass/news20_scw.html">
+
+
+ <b>5.2.3.</b>
+
+ CW, AROW, SCW
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="5.2.4" data-path="../binaryclass/news20_adagrad.html">
+
+ <a href="../binaryclass/news20_adagrad.html">
+
+
+ <b>5.2.4.</b>
+
+ AdaGradRDA, AdaGrad, AdaDelta
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="5.3" data-path="../binaryclass/kdd2010a.html">
+
+ <a href="../binaryclass/kdd2010a.html">
+
+
+ <b>5.3.</b>
+
+ KDD2010a Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="5.3.1" data-path="../binaryclass/kdd2010a_dataset.html">
+
+ <a href="../binaryclass/kdd2010a_dataset.html">
+
+
+ <b>5.3.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="5.3.2" data-path="../binaryclass/kdd2010a_scw.html">
+
+ <a href="../binaryclass/kdd2010a_scw.html">
+
+
+ <b>5.3.2.</b>
+
+ PA, CW, AROW, SCW
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="5.4" data-path="../binaryclass/kdd2010b.html">
+
+ <a href="../binaryclass/kdd2010b.html">
+
+
+ <b>5.4.</b>
+
+ KDD2010b Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="5.4.1" data-path="../binaryclass/kdd2010b_dataset.html">
+
+ <a href="../binaryclass/kdd2010b_dataset.html">
+
+
+ <b>5.4.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="5.4.2" data-path="../binaryclass/kdd2010b_arow.html">
+
+ <a href="../binaryclass/kdd2010b_arow.html">
+
+
+ <b>5.4.2.</b>
+
+ AROW
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="5.5" data-path="../binaryclass/webspam.html">
+
+ <a href="../binaryclass/webspam.html">
+
+
+ <b>5.5.</b>
+
+ Webspam Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="5.5.1" data-path="../binaryclass/webspam_dataset.html">
+
+ <a href="../binaryclass/webspam_dataset.html">
+
+
+ <b>5.5.1.</b>
+
+ Data pareparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="5.5.2" data-path="../binaryclass/webspam_scw.html">
+
+ <a href="../binaryclass/webspam_scw.html">
+
+
+ <b>5.5.2.</b>
+
+ PA1, AROW, SCW
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="5.6" data-path="../binaryclass/titanic_rf.html">
+
+ <a href="../binaryclass/titanic_rf.html">
+
+
+ <b>5.6.</b>
+
+ Kaggle Titanic Tutorial
+
+ </a>
+
+
+
+ </li>
+
+
+
+
+ <li class="header">Part VI - Multiclass classification</li>
+
+
+
+ <li class="chapter " data-level="6.1" data-path="../multiclass/news20.html">
+
+ <a href="../multiclass/news20.html">
+
+
+ <b>6.1.</b>
+
+ News20 Multiclass Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="6.1.1" data-path="../multiclass/news20_dataset.html">
+
+ <a href="../multiclass/news20_dataset.html">
+
+
+ <b>6.1.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="6.1.2" data-path="../multiclass/news20_one-vs-the-rest_dataset.html">
+
+ <a href="../multiclass/news20_one-vs-the-rest_dataset.html">
+
+
+ <b>6.1.2.</b>
+
+ Data preparation for one-vs-the-rest classifiers
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="6.1.3" data-path="../multiclass/news20_pa.html">
+
+ <a href="../multiclass/news20_pa.html">
+
+
+ <b>6.1.3.</b>
+
+ PA
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="6.1.4" data-path="../multiclass/news20_scw.html">
+
+ <a href="../multiclass/news20_scw.html">
+
+
+ <b>6.1.4.</b>
+
+ CW, AROW, SCW
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="6.1.5" data-path="../multiclass/news20_ensemble.html">
+
+ <a href="../multiclass/news20_ensemble.html">
+
+
+ <b>6.1.5.</b>
+
+ Ensemble learning
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="6.1.6" data-path="../multiclass/news20_one-vs-the-rest.html">
+
+ <a href="../multiclass/news20_one-vs-the-rest.html">
+
+
+ <b>6.1.6.</b>
+
+ one-vs-the-rest classifier
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="6.2" data-path="../multiclass/iris.html">
+
+ <a href="../multiclass/iris.html">
+
+
+ <b>6.2.</b>
+
+ Iris Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="6.2.1" data-path="../multiclass/iris_dataset.html">
+
+ <a href="../multiclass/iris_dataset.html">
+
+
+ <b>6.2.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="6.2.2" data-path="../multiclass/iris_scw.html">
+
+ <a href="../multiclass/iris_scw.html">
+
+
+ <b>6.2.2.</b>
+
+ SCW
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="6.2.3" data-path="../multiclass/iris_randomforest.html">
+
+ <a href="../multiclass/iris_randomforest.html">
+
+
+ <b>6.2.3.</b>
+
+ RandomForest
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+
+
+
+ <li class="header">Part VII - Regression</li>
+
+
+
+ <li class="chapter " data-level="7.1" data-path="../regression/e2006.html">
+
+ <a href="../regression/e2006.html">
+
+
+ <b>7.1.</b>
+
+ E2006-tfidf regression Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="7.1.1" data-path="../regression/e2006_dataset.html">
+
+ <a href="../regression/e2006_dataset.html">
+
+
+ <b>7.1.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="7.1.2" data-path="../regression/e2006_arow.html">
+
+ <a href="../regression/e2006_arow.html">
+
+
+ <b>7.1.2.</b>
+
+ Passive Aggressive, AROW
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="7.2" data-path="../regression/kddcup12tr2.html">
+
+ <a href="../regression/kddcup12tr2.html">
+
+
+ <b>7.2.</b>
+
+ KDDCup 2012 track 2 CTR prediction Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="7.2.1" data-path="../regression/kddcup12tr2_dataset.html">
+
+ <a href="../regression/kddcup12tr2_dataset.html">
+
+
+ <b>7.2.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="7.2.2" data-path="../regression/kddcup12tr2_lr.html">
+
+ <a href="../regression/kddcup12tr2_lr.html">
+
+
+ <b>7.2.2.</b>
+
+ Logistic Regression, Passive Aggressive
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="7.2.3" data-path="../regression/kddcup12tr2_lr_amplify.html">
+
+ <a href="../regression/kddcup12tr2_lr_amplify.html">
+
+
+ <b>7.2.3.</b>
+
+ Logistic Regression with Amplifier
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="7.2.4" data-path="../regression/kddcup12tr2_adagrad.html">
+
+ <a href="../regression/kddcup12tr2_adagrad.html">
+
+
+ <b>7.2.4.</b>
+
+ AdaGrad, AdaDelta
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+
+
+
+ <li class="header">Part VIII - Recommendation</li>
+
+
+
+ <li class="chapter " data-level="8.1" data-path="../recommend/cf.html">
+
+ <a href="../recommend/cf.html">
+
+
+ <b>8.1.</b>
+
+ Collaborative Filtering
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="8.1.1" data-path="../recommend/item_based_cf.html">
+
+ <a href="../recommend/item_based_cf.html">
+
+
+ <b>8.1.1.</b>
+
+ Item-based Collaborative Filtering
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="8.2" data-path="../recommend/news20.html">
+
+ <a href="../recommend/news20.html">
+
+
+ <b>8.2.</b>
+
+ News20 related article recommendation Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="8.2.1" data-path="../multiclass/news20_dataset.html">
+
+ <a href="../multiclass/news20_dataset.html">
+
+
+ <b>8.2.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="8.2.2" data-path="../recommend/news20_jaccard.html">
+
+ <a href="../recommend/news20_jaccard.html">
+
+
+ <b>8.2.2.</b>
+
+ LSH/Minhash and Jaccard Similarity
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="8.2.3" data-path="../recommend/news20_knn.html">
+
+ <a href="../recommend/news20_knn.html">
+
+
+ <b>8.2.3.</b>
+
+ LSH/Minhash and Brute-Force Search
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="8.2.4" data-path="../recommend/news20_bbit_minhash.html">
+
+ <a href="../recommend/news20_bbit_minhash.html">
+
+
+ <b>8.2.4.</b>
+
+ kNN search using b-Bits Minhash
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="8.3" data-path="../recommend/movielens.html">
+
+ <a href="../recommend/movielens.html">
+
+
+ <b>8.3.</b>
+
+ MovieLens movie recommendation Tutorial
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="8.3.1" data-path="../recommend/movielens_dataset.html">
+
+ <a href="../recommend/movielens_dataset.html">
+
+
+ <b>8.3.1.</b>
+
+ Data preparation
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="8.3.2" data-path="../recommend/movielens_mf.html">
+
+ <a href="../recommend/movielens_mf.html">
+
+
+ <b>8.3.2.</b>
+
+ Matrix Factorization
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="8.3.3" data-path="../recommend/movielens_fm.html">
+
+ <a href="../recommend/movielens_fm.html">
+
+
+ <b>8.3.3.</b>
+
+ Factorization Machine
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="8.3.4" data-path="../recommend/movielens_cv.html">
+
+ <a href="../recommend/movielens_cv.html">
+
+
+ <b>8.3.4.</b>
+
+ 10-fold Cross Validation (Matrix Factorization)
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+
+
+
+ <li class="header">Part IX - Anomaly Detection</li>
+
+
+
+ <li class="chapter " data-level="9.1" data-path="../anomaly/lof.html">
+
+ <a href="../anomaly/lof.html">
+
+
+ <b>9.1.</b>
+
+ Outlier Detection using Local Outlier Factor (LOF)
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="9.2" data-path="../anomaly/sst.html">
+
+ <a href="../anomaly/sst.html">
+
+
+ <b>9.2.</b>
+
+ Change-Point Detection using Singular Spectrum Transformation (SST)
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="9.3" data-path="../anomaly/changefinder.html">
+
+ <a href="../anomaly/changefinder.html">
+
+
+ <b>9.3.</b>
+
+ ChangeFinder: Detecting Outlier and Change-Point Simultaneously
+
+ </a>
+
+
+
+ </li>
+
+
+
+
+ <li class="header">Part X - Clustering</li>
+
+
+
+ <li class="chapter " data-level="10.1" data-path="../clustering/lda.html">
+
+ <a href="../clustering/lda.html">
+
+
+ <b>10.1.</b>
+
+ Latent Dirichlet Allocation
+
+ </a>
+
+
+
+ </li>
+
+
+
+
+ <li class="header">Part XI - GeoSpatial functions</li>
+
+
+
+ <li class="chapter active" data-level="11.1" data-path="latlon.html">
+
+ <a href="latlon.html">
+
+
+ <b>11.1.</b>
+
+ Lat/Lon functions
+
+ </a>
+
+
+
+ </li>
+
+
+
+
+ <li class="header">Part XII - Hivemall on Spark</li>
+
+
+
+ <li class="chapter " data-level="12.1" data-path="../spark/getting_started/">
+
+ <a href="../spark/getting_started/">
+
+
+ <b>12.1.</b>
+
+ Getting Started
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="12.1.1" data-path="../spark/getting_started/installation.html">
+
+ <a href="../spark/getting_started/installation.html">
+
+
+ <b>12.1.1.</b>
+
+ Installation
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="12.2" data-path="../spark/binaryclass/">
+
+ <a href="../spark/binaryclass/">
+
+
+ <b>12.2.</b>
+
+ Binary Classification
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="12.2.1" data-path="../spark/binaryclass/a9a_df.html">
+
+ <a href="../spark/binaryclass/a9a_df.html">
+
+
+ <b>12.2.1.</b>
+
+ a9a Tutorial for DataFrame
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="12.3" data-path="../spark/binaryclass/">
+
+ <a href="../spark/binaryclass/">
+
+
+ <b>12.3.</b>
+
+ Regression
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="12.3.1" data-path="../spark/regression/e2006_df.html">
+
+ <a href="../spark/regression/e2006_df.html">
+
+
+ <b>12.3.1.</b>
+
+ E2006-tfidf regression Tutorial for DataFrame
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+ <li class="chapter " data-level="12.4" data-path="../spark/misc/misc.html">
+
+ <a href="../spark/misc/misc.html">
+
+
+ <b>12.4.</b>
+
+ Generic features
+
+ </a>
+
+
+
+ <ul class="articles">
+
+
+ <li class="chapter " data-level="12.4.1" data-path="../spark/misc/topk_join.html">
+
+ <a href="../spark/misc/topk_join.html">
+
+
+ <b>12.4.1.</b>
+
+ Top-k Join processing
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="12.4.2" data-path="../spark/misc/functions.html">
+
+ <a href="../spark/misc/functions.html">
+
+
+ <b>12.4.2.</b>
+
+ Other utility functions
+
+ </a>
+
+
+
+ </li>
+
+
+ </ul>
+
+ </li>
+
+
+
+
+ <li class="header">Part XIII - External References</li>
+
+
+
+ <li class="chapter " data-level="13.1" >
+
+ <a target="_blank" href="https://github.com/maropu/hivemall-spark">
+
+
+ <b>13.1.</b>
+
+ Hivemall on Apache Spark
+
+ </a>
+
+
+
+ </li>
+
+ <li class="chapter " data-level="13.2" >
+
+ <a target="_blank" href="https://github.com/daijyc/hivemall/wiki/PigHome">
+
+
+ <b>13.2.</b>
+
+ Hivemall on Apache Pig
+
+ </a>
+
+
+
+ </li>
+
+
+
+
+ <li class="divider"></li>
+
+ <li>
+ <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
+ Published with GitBook
+ </a>
+ </li>
+</ul>
+
+
+ </nav>
+
+
+ </div>
+
+ <div class="book-body">
+
+ <div class="body-inner">
+
+
+
+<div class="book-header" role="navigation">
+
+
+ <!-- Title -->
+ <h1>
+ <i class="fa fa-circle-o-notch fa-spin"></i>
+ <a href=".." >Lat/Lon functions</a>
+ </h1>
+</div>
+
+
+
+
+ <div class="page-wrapper" tabindex="-1" role="main">
+ <div class="page-inner">
+
+<div id="book-search-results">
+ <div class="search-noresults">
+
+ <section class="normal markdown-section">
+
+ <!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<p>This page introduces Geo-spatial functions that treats latitude and longitude.</p>
+<!-- toc --><div id="toc" class="toc">
+
+<ul>
+<li><a href="#tile-number-function">Tile number function</a><ul>
+<li><a href="#usage">Usage</a></li>
+</ul>
+</li>
+<li><a href="#map-url-function">Map URL function</a><ul>
+<li><a href="#usage-1">Usage</a></li>
+</ul>
+</li>
+</ul>
+
+</div><!-- tocstop -->
+<div class="panel panel-primary"><div class="panel-heading"><h3 class="panel-title" id="note"><i class="fa fa-edit"></i> Note</h3></div><div class="panel-body"><p>This feature is supported from Hivemall v0.5-rc.1 or later.</p></div></div>
+<h1 id="tile-number-function">Tile number function</h1>
+<p><code>tile(double lat, double lon, int zoom)</code> returns a tile number in <code>xtile(lon,zoom) + ytile(lat,zoom) * 2^n</code>. The tile number is in range <code>[0,2^2z]</code>.</p>
+<p>Formulas to convert latitude and longitude into tile x,y coordinates are as follows:</p>
+<p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mtable><mtr><mtd><mrow><mi>x</mi></mrow></mtd><mtd><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">⌊</mo><mfrac><mrow><mi>l</mi><mi>o</mi><mi>n</mi><mo>+</mo><mn>1</mn><mn>8</mn><mn>0</mn></mrow><mrow><mn>3</mn><mn>6</mn><mn>0</mn></mrow></mfrac><mo>⋅</mo><msup><mn>2</mn><mi>z</mi></msup><mo fence="true">⌋</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow><mi>y</mi></mrow></mtd><mtd><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">⌊</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mrow><mi>ln</mi><mrow><mo fence="true">(</mo><mi>tan</mi><mrow><mo fence="true">(</mo><mi>l</mi><mi>a</mi><mi>t</mi><mo>⋅</mo><mfrac><mrow><mi>π</mi></mrow><mrow><mn>1</mn><mn>8</mn><mn>0</mn></mrow></mfrac><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mrow><mn>1</mn></mrow><mrow><mi>cos</mi><mrow><mo fence=
"true">(</mo><mi>l</mi><mi>a</mi><mi>t</mi><mo>⋅</mo><mfrac><mrow><mi>π</mi></mrow><mrow><mn>1</mn><mn>8</mn><mn>0</mn></mrow></mfrac><mo fence="true">)</mo></mrow></mrow></mfrac><mo fence="true">)</mo></mrow></mrow><mrow><mi>π</mi></mrow></mfrac><mo fence="true">)</mo></mrow><mo>⋅</mo><msup><mn>2</mn><mrow><mi>z</mi><mo>−</mo><mn>1</mn></mrow></msup><mo fence="true">⌋</mo></mrow></mrow></mtd></mtr></mtable></mrow><annotation encoding="application/x-tex">
+\begin{aligned}
+x &= \left\lfloor \frac{lon + 180}{360} \cdot 2^z \right\rfloor \\ \\
+y &=
+ \left\lfloor
+ \left(
+ 1 - \frac{
+ \ln \left(
+ \tan \left(
+ lat \cdot \frac{\pi}{180}
+ \right) + \frac{1}{\cos \left( lat \cdot \frac{\pi}{180} \right)}
+ \right)
+ }{\pi}
+ \right) \cdot 2^{z - 1}
+ \right\rfloor
+\end{aligned}
+</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:4.5200475em;"></span><span class="strut bottom" style="height:8.540095em;vertical-align:-4.0200475em;"></span><span class="base displaystyle textstyle uncramped"><span class="mord"><span class="mtable"><span class="col-align-r"><span class="vlist"><span style="top:-3.0700475000000003em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="mord displaystyle textstyle uncramped"><span class="mord mathit">x</span></span></span><span style="top:-1.2800175000000003em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="mord displaystyle textstyle uncramped"></span></span><span style="top:1.8700124999999996em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="mord displaystyle textstyle unc
ramped"><span class="mord mathit" style="margin-right:0.03588em;">y</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="col-align-l"><span class="vlist"><span style="top:-3.0700475000000003em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="mord displaystyle textstyle uncramped"><span class="mord displaystyle textstyle uncramped"></span><span class="mrel">=</span><span class="minner displaystyle textstyle uncramped"><span class="style-wrap reset-textstyle textstyle uncramped" style="top:0em;"><span class="delimsizing size3">⌊</span></span><span class="mord reset-textstyle displaystyle textstyle uncramped"><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.686em;"><span class
="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle cramped"><span class="mord textstyle cramped"><span class="mord mathrm">3</span><span class="mord mathrm">6</span><span class="mord mathrm">0</span></span></span></span><span style="top:-0.22999999999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle uncramped frac-line"></span></span><span style="top:-0.677em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle uncramped"><span class="mord textstyle uncramped"><span class="mord mathit" style="margin-right:0.01968em;">l</span><span class="mord mathit">o</span><span class="mord mathit">n</span><span class="mbin">+</span><span class="mord mathrm">1</span><span class="mord mathrm">8</span><span class="mord mathrm">0</span></sp
an></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span></span><span class="mbin">⋅</span><span class="mord"><span class="mord mathrm">2</span><span class="vlist"><span style="top:-0.413em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord mathit" style="margin-right:0.04398em;">z</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="style-wrap reset-textstyle textstyle uncramped" style="top:0em;"><span class="delimsizing size3">⌋</span></span></span></span></span><span style="top:1.870012
5000000005em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="mord displaystyle textstyle uncramped"><span class="mord displaystyle textstyle uncramped"></span><span class="mrel">=</span><span class="minner displaystyle textstyle uncramped"><span class="style-wrap reset-textstyle textstyle uncramped"><span class="delimsizing mult"><span class="vlist"><span style="top:1.5050149999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎣</span></span></span><span style="top:0.35001499999999997em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎢</span></span></span><span style="top:-0.250985em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span clas
s="delimsizinginner delim-size4"><span>⎢</span></span></span><span style="top:-0.851985em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎢</span></span></span><span style="top:-1.452985em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎢</span></span></span><span style="top:-2.053985em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎢</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span><span class="minner displaystyle textstyle uncramped"><span class="style-wrap reset-textstyle textstyle uncramped"><span class="delimsizing
mult"><span class="vlist"><span style="top:1.50501em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎝</span></span></span><span style="top:0.35000000000000014em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎜</span></span></span><span style="top:-0.2500099999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎜</span></span></span><span style="top:-1.4950299999999999em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎛</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">&
#x200B;</span></span>​</span></span></span></span><span class="mord mathrm">1</span><span class="mbin">−</span><span class="mord reset-textstyle displaystyle textstyle uncramped"><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.686em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle textstyle cramped"><span class="mord textstyle cramped"><span class="mord mathit" style="margin-right:0.03588em;">π</span></span></span></span><span style="top:-0.22999999999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle textstyle uncramped frac-line"></span></span><span style="top:-1.34003em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="rese
t-textstyle textstyle uncramped"><span class="mord textstyle uncramped"><span class="mop">ln</span><span class="minner textstyle uncramped"><span class="style-wrap reset-textstyle textstyle uncramped" style="top:0em;"><span class="delimsizing size3">(</span></span><span class="mop">tan</span><span class="minner textstyle uncramped"><span class="style-wrap reset-textstyle textstyle uncramped" style="top:0em;"><span class="delimsizing size1">(</span></span><span class="mord mathit" style="margin-right:0.01968em;">l</span><span class="mord mathit">a</span><span class="mord mathit">t</span><span class="mbin">⋅</span><span class="mord reset-textstyle textstyle uncramped"><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.345em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><s
pan class="mord scriptstyle cramped"><span class="mord mathrm">1</span><span class="mord mathrm">8</span><span class="mord mathrm">0</span></span></span></span><span style="top:-0.22999999999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle textstyle uncramped frac-line"></span></span><span style="top:-0.394em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord scriptstyle uncramped"><span class="mord mathit" style="margin-right:0.03588em;">π</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span></span><span class="style-wrap reset-textstyle textstyl
e uncramped" style="top:0em;"><span class="delimsizing size1">)</span></span></span><span class="mbin">+</span><span class="mord reset-textstyle textstyle uncramped"><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.5075000000000001em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle scriptstyle cramped"><span class="mord scriptstyle cramped"><span class="mop">cos</span><span class="minner scriptstyle cramped"><span class="style-wrap reset-scriptstyle textstyle uncramped" style="top:0.07500000000000001em;">(</span><span class="mord mathit" style="margin-right:0.01968em;">l</span><span class="mord mathit">a</span><span class="mord mathit">t</span><span class="mbin">⋅</span><span class="mord reset-scriptstyle scriptstyle cramped"><span class="sizing reset-size5 size5 reset-scriptstyle textstyle
uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span style="top:0.345em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-scriptstyle scriptscriptstyle cramped"><span class="mord scriptscriptstyle cramped"><span class="mord mathrm">1</span><span class="mord mathrm">8</span><span class="mord mathrm">0</span></span></span></span><span style="top:-0.22142857142857142em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-scriptstyle textstyle uncramped frac-line"></span></span><span style="top:-0.394em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-scriptstyle scriptscriptstyle cramped"><span class="mord scriptscriptstyle cramped"><span class="mord mathit" style="margin-right:0.03588em;">π</span></span></span></span><span class="baseline-fix"><sp
an class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="sizing reset-size5 size5 reset-scriptstyle textstyle uncramped nulldelimiter"></span></span><span class="style-wrap reset-scriptstyle textstyle uncramped" style="top:0.07500000000000001em;">)</span></span></span></span></span><span style="top:-0.22999999999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle textstyle uncramped frac-line"></span></span><span style="top:-0.394em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle scriptstyle uncramped"><span class="mord scriptstyle uncramped"><span class="mord mathrm">1</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span>​</spa
n></span></span><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span></span><span class="style-wrap reset-textstyle textstyle uncramped" style="top:0em;"><span class="delimsizing size3">)</span></span></span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span>​</span></span></span><span class="sizing reset-size5 size5 reset-textstyle textstyle uncramped nulldelimiter"></span></span><span class="style-wrap reset-textstyle textstyle uncramped"><span class="delimsizing mult"><span class="vlist"><span style="top:1.50501em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎠</span></span></span><span style="top:0.35000000000000014em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span
class="delimsizinginner delim-size4"><span>⎟</span></span></span><span style="top:-0.2500099999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎟</span></span></span><span style="top:-1.4950299999999999em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎞</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span><span class="mbin">⋅</span><span class="mord"><span class="mord mathrm">2</span><span class="vlist"><span style="top:-0.41300000000000003em;margin-right:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="reset-textstyle scriptstyle uncramp
ed"><span class="mord scriptstyle uncramped"><span class="mord mathit" style="margin-right:0.04398em;">z</span><span class="mbin">−</span><span class="mord mathrm">1</span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span><span class="style-wrap reset-textstyle textstyle uncramped"><span class="delimsizing mult"><span class="vlist"><span style="top:1.5050149999999998em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎦</span></span></span><span style="top:0.35001499999999997em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎥</span></span></span><span style="top:-0.250985em;"><span class="fontsize-ensurer reset-size5 size5"><span style=
"font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎥</span></span></span><span style="top:-0.851985em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎥</span></span></span><span style="top:-1.452985em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎥</span></span></span><span style="top:-2.053985em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span><span class="delimsizinginner delim-size4"><span>⎥</span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">​</span></span>​</span></span></span></span></span></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5
size5"><span style="font-size:1em;">​</span></span>​</span></span></span></span></span></span></span></span></span></p>
+<p>Refer <a href="http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames" target="_blank">this page</a> for detail. Zoom level is well described in <a href="http://wiki.openstreetmap.org/wiki/Zoom_levels" target="_blank">this page</a>.</p>
+<h3 id="usage">Usage</h3>
+<pre><code class="lang-sql">WITH data as (
+ <span class="hljs-keyword">select</span> <span class="hljs-number">51.51202</span> <span class="hljs-keyword">as</span> lat, <span class="hljs-number">0.02435</span> <span class="hljs-keyword">as</span> lon, <span class="hljs-number">17</span> <span class="hljs-keyword">as</span> zoom
+ <span class="hljs-keyword">union</span> all
+ <span class="hljs-keyword">select</span> <span class="hljs-number">51.51202</span> <span class="hljs-keyword">as</span> lat, <span class="hljs-number">0.02435</span> <span class="hljs-keyword">as</span> lon, <span class="hljs-number">4</span> <span class="hljs-keyword">as</span> zoom
+ <span class="hljs-keyword">union</span> all
+ <span class="hljs-keyword">select</span> <span class="hljs-literal">null</span> <span class="hljs-keyword">as</span> lat, <span class="hljs-number">0.02435</span> <span class="hljs-keyword">as</span> lon, <span class="hljs-number">17</span> <span class="hljs-keyword">as</span> zoom
+)
+<span class="hljs-keyword">select</span>
+ tile(lat, lon, zoom) <span class="hljs-keyword">as</span> tile
+<span class="hljs-keyword">from</span>
+ <span class="hljs-keyword">data</span>;
+</code></pre>
+<table>
+<thead>
+<tr>
+<th style="text-align:center">tile</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:center">1417478152</td>
+</tr>
+<tr>
+<td style="text-align:center">88</td>
+</tr>
+<tr>
+<td style="text-align:center">NULL</td>
+</tr>
+</tbody>
+</table>
+<h1 id="map-url-function">Map URL function</h1>
+<p><code>map_url(double lat, double lon, int zoom [, const string option])</code> function returns a tile URL of openstreetmap.com or maps.google.com.</p>
+<p>The 4th argument takes the following optional arguments:</p>
+<pre><code class="lang-sql">hive> select map_url(1,1,1,'-help');
+
+usage: map_url(double lat, double lon, int zoom [, const string option]) -
+ Returns a URL string [-help] [-t <arg>]
+ -help Show function help
+ -t,--type <arg> Map type [default: openstreetmap|osm,
+ googlemaps|google]
+</code></pre>
+<h3 id="usage">Usage</h3>
+<pre><code class="lang-sql">WITH data as (
+ <span class="hljs-keyword">select</span> <span class="hljs-number">51.51202</span> <span class="hljs-keyword">as</span> lat, <span class="hljs-number">0.02435</span> <span class="hljs-keyword">as</span> lon, <span class="hljs-number">17</span> <span class="hljs-keyword">as</span> zoom
+ <span class="hljs-keyword">union</span> all
+ <span class="hljs-keyword">select</span> <span class="hljs-number">51.51202</span> <span class="hljs-keyword">as</span> lat, <span class="hljs-number">0.02435</span> <span class="hljs-keyword">as</span> lon, <span class="hljs-number">4</span> <span class="hljs-keyword">as</span> zoom
+ <span class="hljs-keyword">union</span> all
+ <span class="hljs-keyword">select</span> <span class="hljs-literal">null</span>, <span class="hljs-number">0.02435</span>, <span class="hljs-number">17</span>
+)
+<span class="hljs-keyword">select</span>
+ map_url(lat,lon,zoom) <span class="hljs-keyword">as</span> osm_url,
+ map_url(lat,lon,zoom,<span class="hljs-string">'-type googlemaps'</span>) <span class="hljs-keyword">as</span> gmap_url
+<span class="hljs-keyword">from</span>
+ <span class="hljs-keyword">data</span>;
+</code></pre>
+<table>
+<thead>
+<tr>
+<th style="text-align:center">osm_url</th>
+<th style="text-align:center">gmap_url</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:center"><a href="http://tile.openstreetmap.org/17/65544/43582.png" target="_blank">http://tile.openstreetmap.org/17/65544/43582.png</a></td>
+<td style="text-align:center"><a href="https://www.google.com/maps/@51.51202,0.02435,17z" target="_blank">https://www.google.com/maps/@51.51202,0.02435,17z</a></td>
+</tr>
+<tr>
+<td style="text-align:center"><a href="http://tile.openstreetmap.org/4/8/5.png" target="_blank">http://tile.openstreetmap.org/4/8/5.png</a></td>
+<td style="text-align:center"><a href="https://www.google.com/maps/@51.51202,0.02435,4z" target="_blank">https://www.google.com/maps/@51.51202,0.02435,4z</a></td>
+</tr>
+<tr>
+<td style="text-align:center">NULL</td>
+<td style="text-align:center">NULL</td>
+</tr>
+</tbody>
+</table>
+<p><img src="http://tile.openstreetmap.org/17/65544/43582.png" alt="http://tile.openstreetmap.org/17/65544/43582.png" title="http://tile.openstreetmap.org/17/65544/43582.png">
+<div id="page-footer"><hr><!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<p><sub><font color="gray">
+Apache Hivemall is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+</font></sub></p>
+</div></p>
+
+
+ </section>
+
+ </div>
+ <div class="search-results">
+ <div class="has-results">
+
+ <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
+ <ul class="search-results-list"></ul>
+
+ </div>
+ <div class="no-results">
+
+ <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
+
+ </div>
+ </div>
+</div>
+
+ </div>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+ <script>
+ var gitbook = gitbook || [];
+ gitbook.push(function() {
+ gitbook.page.hasChanged({"page":{"title":"Lat/Lon functions","level":"11.1","depth":1,"next":{"title":"Getting Started","level":"12.1","depth":1,"path":"spark/getting_started/README.md","ref":"spark/getting_started/README.md","articles":[{"title":"Installation","level":"12.1.1","depth":2,"path":"spark/getting_started/installation.md","ref":"spark/getting_started/installation.md","articles":[]}]},"previous":{"title":"Latent Dirichlet Allocation","level":"10.1","depth":1,"path":"clustering/lda.md","ref":"clustering/lda.md","articles":[]},"dir":"ltr"},"config":{"plugins":["theme-api","edit-link","github","splitter","sitemap","etoc","callouts","toggle-chapters","anchorjs","codeblock-filename","expandable-chapters","multipart","codeblock-filename","katex","emphasize","localized-footer"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"empha
size":{},"callouts":{},"etoc":{"maxdepth":3,"mindepth":1,"notoc":true},"github":{"url":"https://github.com/apache/incubator-hivemall/"},"splitter":{},"search":{},"downloadpdf":{"base":"https://github.com/apache/incubator-hivemall/docs/gitbook","label":"PDF","multilingual":false},"multipart":{},"localized-footer":{"filename":"FOOTER.md"},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"katex":{},"fontsettings":{"theme":"white","family":"sans","size":2,"font":"sans"},"highlight":{},"codeblock-filename":{},"sitemap":{"hostname":"http://hivemall.incubator.apache.org/"},"theme-api":{"languages":[],"split":false,"theme":"dark"},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"edit-link":{"label":"Edit","base":"https://github.com/apache/incubator-hivemall/docs/gitbook"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"style
s/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"anchorjs":{"selector":"h1,h2,h3,*:not(.callout) > h4,h5"},"toggle-chapters":{},"expandable-chapters":{}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Hivemall User Manual","links":{"sidebar":{"<i class=\"fa fa-home\"></i> Home":"http://hivemall.incubator.apache.org/"}},"gitbook":"3.x.x","description":"User Manual for Apache Hivemall"},"file":{"path":"geospatial/latlon.md","mtime":"2017-04-24T10:16:31.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-04-24T10:44:53.699Z"},"basePath":"..","book":{"language":""}});
+ });
+ </script>
+</div>
+
+
+ <script src="../gitbook/gitbook.js"></script>
+ <script src="../gitbook/theme.js"></script>
+
+
+ <script src="../gitbook/gitbook-plugin-edit-link/plugin.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-github/plugin.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-splitter/splitter.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-etoc/plugin.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-toggle-chapters/toggle.js"></script>
+
+
+
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.1/anchor.min.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-anchorjs/anchor-style.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-search/search.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
+
+
+
+ <script src="../gitbook/gitbook-plugin-theme-api/theme-api.js"></script>
+
+
+
+ </body>
+</html>
+