diff --git a/Documentation/Examples/geoIndexFilterOptimization.generated b/Documentation/Examples/geoIndexFilterOptimization.generated
new file mode 100644
index 0000000000..2a50fb8bc8
--- /dev/null
+++ b/Documentation/Examples/geoIndexFilterOptimization.generated
@@ -0,0 +1,53 @@
+arangosh> db.geoFilter.ensureIndex({ type: "geo", fields: [ "latitude", "longitude" ] });
+{
+ "id" : "geoFilter/25953",
+ "type" : "geo2",
+ "fields" : [
+ "latitude",
+ "longitude"
+ ],
+ "constraint" : false,
+ "unique" : false,
+ "ignoreNull" : true,
+ "sparse" : true,
+ "isNewlyCreated" : true,
+ "code" : 201
+}
+arangosh> for (i = -90; i <= 90; i += 10) {
+........> for (j = -180; j <= 180; j += 10) {
+........> db.geoFilter.save({ name : "Name/" + i + "/" + j, latitude : i, longitude : j });
+........> }
+........> }
+arangosh> var query = "FOR doc in geoFilter FILTER distance(doc.latitude, doc.longitude, 0, 0) < 2000 RETURN doc"
+arangosh> db._explain(query, {}, {colors: false});
+Query string:
+ FOR doc in geoFilter FILTER distance(doc.latitude, doc.longitude, 0, 0) < 2000 RETURN doc
+
+Execution plan:
+ Id NodeType Est. Comment
+ 1 SingletonNode 1 * ROOT
+ 6 IndexNode 703 - FOR doc IN geoFilter
+ 5 ReturnNode 703 - RETURN doc
+
+Indexes used:
+ By Type Collection Unique Sparse Selectivity Fields Ranges
+ 6 geo2 geoFilter false true n/a [ `latitude`, `longitude` ] WITHIN(doc, 0, 0, 2000, false)
+
+Optimization rules applied:
+ Id RuleName
+ 1 geo-index-optimizer
+ 2 remove-unnecessary-calculations-2
+
+
+arangosh> db._query(query);
+[
+ {
+ "_key" : "27010",
+ "_id" : "geoFilter/27010",
+ "_rev" : "_UoelIj6--C",
+ "name" : "Name/0/0",
+ "latitude" : 0,
+ "longitude" : 0
+ }
+]
+[object ArangoQueryCursor, count: 1, hasMore: false]
diff --git a/Documentation/Examples/geoIndexSortOptimization.generated b/Documentation/Examples/geoIndexSortOptimization.generated
new file mode 100644
index 0000000000..45e1d275c1
--- /dev/null
+++ b/Documentation/Examples/geoIndexSortOptimization.generated
@@ -0,0 +1,86 @@
+arangosh> db.geoSort.ensureIndex({ type: "geo", fields: [ "latitude", "longitude" ] });
+{
+ "id" : "geoSort/30200",
+ "type" : "geo2",
+ "fields" : [
+ "latitude",
+ "longitude"
+ ],
+ "constraint" : false,
+ "unique" : false,
+ "ignoreNull" : true,
+ "sparse" : true,
+ "isNewlyCreated" : true,
+ "code" : 201
+}
+arangosh> for (i = -90; i <= 90; i += 10) {
+........> for (j = -180; j <= 180; j += 10) {
+........> db.geoSort.save({ name : "Name/" + i + "/" + j, latitude : i, longitude : j });
+........> }
+........> }
+arangosh> var query = "FOR doc in geoSort SORT distance(doc.latitude, doc.longitude, 0, 0) LIMIT 5 RETURN doc"
+arangosh> db._explain(query, {}, {colors: false});
+Query string:
+ FOR doc in geoSort SORT distance(doc.latitude, doc.longitude, 0, 0) LIMIT 5 RETURN doc
+
+Execution plan:
+ Id NodeType Est. Comment
+ 1 SingletonNode 1 * ROOT
+ 7 IndexNode 703 - FOR doc IN geoSort
+ 5 LimitNode 5 - LIMIT 0, 5
+ 6 ReturnNode 5 - RETURN doc
+
+Indexes used:
+ By Type Collection Unique Sparse Selectivity Fields Ranges
+ 7 geo2 geoSort false true n/a [ `latitude`, `longitude` ] NEAR(doc, 0, 0)
+
+Optimization rules applied:
+ Id RuleName
+ 1 geo-index-optimizer
+ 2 remove-unnecessary-calculations-2
+
+
+arangosh> db._query(query);
+[
+ {
+ "_key" : "31257",
+ "_id" : "geoSort/31257",
+ "_rev" : "_UoelJV6--_",
+ "name" : "Name/0/0",
+ "latitude" : 0,
+ "longitude" : 0
+ },
+ {
+ "_key" : "31146",
+ "_id" : "geoSort/31146",
+ "_rev" : "_UoelJVm--A",
+ "name" : "Name/-10/0",
+ "latitude" : -10,
+ "longitude" : 0
+ },
+ {
+ "_key" : "31254",
+ "_id" : "geoSort/31254",
+ "_rev" : "_UoelJV6---",
+ "name" : "Name/0/-10",
+ "latitude" : 0,
+ "longitude" : -10
+ },
+ {
+ "_key" : "31260",
+ "_id" : "geoSort/31260",
+ "_rev" : "_UoelJV6--A",
+ "name" : "Name/0/10",
+ "latitude" : 0,
+ "longitude" : 10
+ },
+ {
+ "_key" : "31368",
+ "_id" : "geoSort/31368",
+ "_rev" : "_UoelJWO---",
+ "name" : "Name/10/0",
+ "latitude" : 10,
+ "longitude" : 0
+ }
+]
+[object ArangoQueryCursor, count: 5, hasMore: false]