49 lines
3.5 KiB
TeX
49 lines
3.5 KiB
TeX
\contentsline {section}{\numberline {1}Introduction}{1}%
|
|
\contentsline {subsection}{\numberline {1.1}Binary instruction sets on the web platform}{1}%
|
|
\contentsline {subsection}{\numberline {1.2}Performance as important factor for web applications}{1}%
|
|
\contentsline {subsection}{\numberline {1.3}Topology simplification for rendering performance}{2}%
|
|
\contentsline {subsection}{\numberline {1.4}Structure of this thesis}{2}%
|
|
\contentsline {section}{\numberline {2}Principles}{3}%
|
|
\contentsline {subsection}{\numberline {2.1}Polygon basics}{3}%
|
|
\contentsline {subsubsection}{\numberline {2.1.1}Topological aspects}{3}%
|
|
\contentsline {subsection}{\numberline {2.2}LineString simplification}{3}%
|
|
\contentsline {subsubsection}{\numberline {2.2.1}Positional errors}{3}%
|
|
\contentsline {subsubsection}{\numberline {2.2.2}Length errors}{3}%
|
|
\contentsline {subsubsection}{\numberline {2.2.3}Area Errors}{3}%
|
|
\contentsline {section}{\numberline {3}Algorithms}{4}%
|
|
\contentsline {subsection}{\numberline {3.1}n-th point algorithm}{4}%
|
|
\contentsline {subsection}{\numberline {3.2}Random-point routine}{4}%
|
|
\contentsline {subsection}{\numberline {3.3}Radial distance algorithm}{4}%
|
|
\contentsline {subsection}{\numberline {3.4}Perpendicular distance algorithm}{4}%
|
|
\contentsline {subsection}{\numberline {3.5}Reumann-Witkam simplification}{4}%
|
|
\contentsline {subsection}{\numberline {3.6}Opheim simplification}{4}%
|
|
\contentsline {subsection}{\numberline {3.7}Lang simplification}{4}%
|
|
\contentsline {subsection}{\numberline {3.8}Douglas-Peucker simplification}{4}%
|
|
\contentsline {subsubsection}{\numberline {3.8.1}with reduction parameter}{4}%
|
|
\contentsline {subsection}{\numberline {3.9}Jenks simplification}{4}%
|
|
\contentsline {subsection}{\numberline {3.10}Visvalingam-Whyatt simplification}{4}%
|
|
\contentsline {subsection}{\numberline {3.11}Zhao-Saalfeld simplification}{4}%
|
|
\contentsline {subsection}{\numberline {3.12}Summary}{4}%
|
|
\contentsline {section}{\numberline {4}WebAssembly}{5}%
|
|
\contentsline {subsection}{\numberline {4.1}Introduction to Webassembly}{5}%
|
|
\contentsline {subsubsection}{\numberline {4.1.1}Existing compilers}{5}%
|
|
\contentsline {subsubsection}{\numberline {4.1.2}Technical hurdles}{5}%
|
|
\contentsline {subsubsection}{\numberline {4.1.3}Benefits of WebAssembly}{5}%
|
|
\contentsline {subsection}{\numberline {4.2}Two test cases - performance and integration}{6}%
|
|
\contentsline {paragraph}{Performance}{6}%
|
|
\contentsline {paragraph}{Integration}{6}%
|
|
\contentsline {section}{\numberline {5}Benchmark}{7}%
|
|
\contentsline {subsection}{\numberline {5.1}State of the art: simplifyJS}{7}%
|
|
\contentsline {subsection}{\numberline {5.2}The webassembly solution}{8}%
|
|
\contentsline {subsection}{\numberline {5.3}The implementation}{10}%
|
|
\contentsline {section}{\numberline {6}Compiling an existing C++ library for use on the web}{11}%
|
|
\contentsline {subsection}{\numberline {6.1}State of the art: psimpl}{11}%
|
|
\contentsline {subsection}{\numberline {6.2}Compiling to webassembly}{11}%
|
|
\contentsline {subsubsection}{\numberline {6.2.1}Introduction to emscripten}{11}%
|
|
\contentsline {subsection}{\numberline {6.3}Preserving topology GeoJSON vs TopoJSON}{11}%
|
|
\contentsline {subsection}{\numberline {6.4}The implementation}{11}%
|
|
\contentsline {section}{\numberline {7}Results}{11}%
|
|
\contentsline {subsection}{\numberline {7.1}Benchmark results}{11}%
|
|
\contentsline {subsection}{\numberline {7.2}Comparing the results of different algorithms}{11}%
|
|
\contentsline {section}{\numberline {8}Conclusion}{12}%
|