From 807bee9776fdaaa1bf469bfa981ef97983f9405e Mon Sep 17 00:00:00 2001 From: Alfred Melch Date: Mon, 5 Aug 2019 13:38:04 +0200 Subject: [PATCH] writing --- thesis/chapters/02.02-Dataformats.tex | 1 + thesis/chapters/03.01-benchmark.tex | 4 ++-- thesis/main.pdf | Bin 1018660 -> 1017959 bytes 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/thesis/chapters/02.02-Dataformats.tex b/thesis/chapters/02.02-Dataformats.tex index 38627fc..ccf9b4c 100644 --- a/thesis/chapters/02.02-Dataformats.tex +++ b/thesis/chapters/02.02-Dataformats.tex @@ -1,5 +1,6 @@ \subsection{Geodata formats on the Web} +\label{ch:dataformats} Here the data formats that are used through this theses will be explained. diff --git a/thesis/chapters/03.01-benchmark.tex b/thesis/chapters/03.01-benchmark.tex index fec20dc..d17738e 100644 --- a/thesis/chapters/03.01-benchmark.tex +++ b/thesis/chapters/03.01-benchmark.tex @@ -8,11 +8,11 @@ In this chapter I will explain the approach to improve the performance of a simp \label{sec:simplify.js} % Simplify.JS + turf -Simplify.js calls itself a "tiny high-performance JavaScript polyline simplification library"\footnote{\path{https://mourner.github.io/simplify-js/}}. It was extracted from Leaflet, the "leading open-source JavaScript library for mobile-friendly interactive maps"\footnote{\path{https://leafletjs.com/}}. Due to its usage in leaflet and Turf.js, a geospatial analysis library, it is the most common used library for polyline simplification. The library itself currently has 20,066 weekly downloads while the Turf.js derivate @turf/simplify has 30,389. Turf.js maintains an unmodified fork of the library in its own repository. \todo{So numbers can be added} \todo{leaflet downloads} +Simplify.js calls itself a "tiny high-performance JavaScript polyline simplification library"\footnote{\path{https://mourner.github.io/simplify-js/}}. It was extracted from Leaflet, the "leading open-source JavaScript library for mobile-friendly interactive maps"\footnote{\path{https://leafletjs.com/}}. Due to its usage in leaflet and Turf.js, a geospatial analysis library, it is the most common used library for polyline simplification. The library itself currently has 20,066 weekly downloads while the Turf.js derivate @turf/simplify has 30,389. Turf.js maintains an unmodified fork of the library in its own repository. \todo{leaflet downloads} The Douglas-Peucker algorithm is implemented with an optional radial distance preprocessing routine. This preprocessing trades performance for quality. Thus the mode for disabling this routine is called highest quality. -Interestingly the library expects coordinates to be a list of object with x and y properties. \todo{reference object vs array form} GeoJSON and TopoJSON however store coordinates in nested array form. Luckily since the library is small and written in JavaScript any skilled web developer can easily fork and modify the code for his own purpose. This is even pointed out in the source code. The fact that Turf.js, which can be seen as a convenience wrapper for processing GeoJSON data, decided to keep the library as is might indicate some benefit to this format. Listing \ref{lst:turf-transformation} shows how Turf.js calls Simplify.js. Instead of altering the source code the data is transformed back and forth between the formats on each call. It is questionable if this practice is advisable at all. +Interestingly the library expects coordinates to be a list of object with x and y properties. GeoJSON and TopoJSON however store coordinates in nested array form (see chapter \ref{ch:dataformats}). Luckily since the library is small and written in JavaScript any skilled web developer can easily fork and modify the code for his own purpose. This is even pointed out in the source code. The fact that Turf.js, which can be seen as a convenience wrapper for processing GeoJSON data, decided to keep the library as is might indicate some benefit to this format. Listing \ref{lst:turf-transformation} shows how Turf.js calls Simplify.js. Instead of altering the source code the data is transformed back and forth between the formats on each call. It is questionable if this practice is advisable at all. \lstinputlisting[ float=htbp, diff --git a/thesis/main.pdf b/thesis/main.pdf index 74308889a82ed7c6b82b0258a612b6dc8e4e8587..14d2b935e7d92d2f08789b3b1516c28760a527c3 100644 GIT binary patch delta 20474 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 delta 21154 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 YzBrhDEfFfpqN0pILZqbh%=IDv1I{I9H~;_u