├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ └── documentation-report.md └── workflows │ ├── build-test.yml │ └── build.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE.txt ├── README.md ├── docs ├── docs │ └── api │ │ ├── META-INF │ │ └── MANIFEST.MF │ │ ├── allclasses-index.html │ │ ├── allclasses.html │ │ ├── allpackages-index.html │ │ ├── constant-values.html │ │ ├── deprecated-list.html │ │ ├── element-list │ │ ├── help-doc.html │ │ ├── index-all.html │ │ ├── index.html │ │ ├── jquery │ │ ├── external │ │ │ └── jquery │ │ │ │ └── jquery.js │ │ ├── images │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ ├── ui-bg_glass_65_dadada_1x400.png │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_888888_256x240.png │ │ │ └── ui-icons_cd0a0a_256x240.png │ │ ├── jquery-3.5.1.js │ │ ├── jquery-ui.css │ │ ├── jquery-ui.js │ │ ├── jquery-ui.min.css │ │ ├── jquery-ui.min.js │ │ ├── jquery-ui.structure.css │ │ ├── jquery-ui.structure.min.css │ │ ├── jszip-utils │ │ │ └── dist │ │ │ │ ├── jszip-utils-ie.js │ │ │ │ ├── jszip-utils-ie.min.js │ │ │ │ ├── jszip-utils.js │ │ │ │ └── jszip-utils.min.js │ │ └── jszip │ │ │ └── dist │ │ │ ├── jszip.js │ │ │ └── jszip.min.js │ │ ├── member-search-index.js │ │ ├── member-search-index.zip │ │ ├── mil │ │ └── nga │ │ │ └── sf │ │ │ └── wkb │ │ │ ├── GeometryCodes.html │ │ │ ├── GeometryReader.html │ │ │ ├── GeometryTypeInfo.html │ │ │ ├── GeometryWriter.html │ │ │ ├── class-use │ │ │ ├── GeometryCodes.html │ │ │ ├── GeometryReader.html │ │ │ ├── GeometryTypeInfo.html │ │ │ └── GeometryWriter.html │ │ │ ├── package-summary.html │ │ │ ├── package-tree.html │ │ │ └── package-use.html │ │ ├── overview-tree.html │ │ ├── package-search-index.js │ │ ├── package-search-index.zip │ │ ├── resources │ │ ├── glass.png │ │ └── x.png │ │ ├── script.js │ │ ├── search.js │ │ ├── stylesheet.css │ │ ├── type-search-index.js │ │ └── type-search-index.zip ├── index.html └── stylesheets │ ├── github-light.css │ ├── normalize.css │ └── stylesheet.css ├── pom.xml └── src ├── main └── java │ └── mil │ └── nga │ └── sf │ └── wkb │ ├── GeometryCodes.java │ ├── GeometryReader.java │ ├── GeometryTypeInfo.java │ └── GeometryWriter.java └── test └── java └── mil └── nga └── sf └── wkb ├── ReadmeTest.java ├── WKBTest.java └── WKBTestUtils.java /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Report an issue 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | Please fill out as much known and relevant information as possible. 11 | 12 | #### Version Information: 13 | 14 | * SF WKB Java Version: 15 | * SF WKB Java Source: (e.g. Central Repository, Release, Source Code Build) 16 | * IDE Name & Version: 17 | * Maven Version: (mvn -version) 18 | * Java Version: (java -version) 19 | * Platform & OS: 20 | * Other Relevant Libraries: 21 | 22 | #### Expected Results: 23 | 24 | * What did you expect to happen? 25 | 26 | #### Observed Results: 27 | 28 | * What happened instead? 29 | * How often does this occur? 30 | 31 | #### Output: 32 | 33 | * Any logs, errors, or output messages? 34 | 35 | #### Steps to Reproduce: 36 | 37 | 1. Step One 38 | 2. Step Two 39 | 3. ... 40 | 41 | #### Relevant Code: 42 | 43 | ```java 44 | // Code to reproduce the problem? 45 | ``` 46 | 47 | #### Test Files: 48 | 49 | * Links to any files needed for testing? 50 | 51 | #### Additional Information: 52 | 53 | * Any additional configuration, data, or information that might help with the issue? 54 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | 2 | blank_issues_enabled: false 3 | contact_links: 4 | - name: Discussions 5 | url: https://github.com/ngageoint/simple-features-wkb-java/discussions 6 | about: Questions, Feature Requests, Feedback, Conversations 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Documentation report 3 | about: Report a documentation issue 4 | title: '' 5 | labels: documentation 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the documentation issue** 11 | A clear and concise description of what the issue is. 12 | 13 | **Additional context** 14 | Add any other context about the issue here. 15 | -------------------------------------------------------------------------------- /.github/workflows/build-test.yml: -------------------------------------------------------------------------------- 1 | name: Build & Test 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | 9 | jobs: 10 | 11 | build: 12 | 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - name: Checkout Repository 17 | uses: actions/checkout@v3 18 | - name: Set up JDK 11 19 | uses: actions/setup-java@v3 20 | with: 21 | distribution: 'temurin' 22 | java-version: 11 23 | - name: Build & Test 24 | run: mvn clean package 25 | - name: Copy Release Artifacts 26 | run: | 27 | mkdir target/release 28 | cp pom.xml target/*.jar target/release/ 29 | - name: Upload Artifacts 30 | uses: actions/upload-artifact@v1 31 | with: 32 | name: simple-features-wkb 33 | path: target/release 34 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | branches-ignore: 6 | - master 7 | 8 | jobs: 9 | 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - name: Determine Simple Features Repository 16 | uses: frabert/replace-string-action@master 17 | id: sf-repository 18 | with: 19 | pattern: 'wkb-' 20 | string: "${{ github.repository }}" 21 | replace-with: '' 22 | - name: Checkout Simple Features Repository 23 | uses: actions/checkout@v3 24 | with: 25 | repository: ${{ steps.sf-repository.outputs.replaced }} 26 | ref: ${{ github.ref }} 27 | path: simple-features-java 28 | - name: set up JDK 11 29 | uses: actions/setup-java@v3 30 | with: 31 | distribution: 'temurin' 32 | java-version: 11 33 | - name: Build & Install Simple Features 34 | run: mvn -f simple-features-java clean install -DskipTests 35 | - name: Checkout Repository 36 | uses: actions/checkout@v3 37 | - name: Build 38 | run: mvn clean package -DskipTests 39 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | /bin/ 3 | 4 | # IntelliJ 5 | .idea 6 | *.iml 7 | 8 | # Eclipse Core 9 | .project 10 | .settings/ 11 | 12 | # JDT-specific (Eclipse Java Development Tools) 13 | .classpath 14 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | All notable changes to this project will be documented in this file. 3 | Adheres to [Semantic Versioning](http://semver.org/). 4 | 5 | --- 6 | 7 | ## 2.2.4 (TBD) 8 | 9 | * TBD 10 | 11 | ## [2.2.3](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.2.3) (04-03-2024) 12 | 13 | * simple-features-java version 2.2.2 14 | 15 | ## [2.2.2](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.2.2) (01-20-2023) 16 | 17 | * simple-features-java version 2.2.1 18 | 19 | ## [2.2.1](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.2.1) (01-13-2023) 20 | 21 | * MultiLineString with CircularStrings byte encoding fix to use MultiCurve 22 | 23 | ## [2.2.0](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.2.0) (09-21-2022) 24 | 25 | * simple-features-java version 2.2.0 26 | 27 | ## [2.1.0](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.1.0) (07-11-2022) 28 | 29 | * simple-features-java version 2.1.0 30 | 31 | ## [2.0.6](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.0.6) (04-18-2022) 32 | 33 | * simple-features-java version 2.0.6 34 | 35 | ## [2.0.5](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.0.5) (02-03-2022) 36 | 37 | * simple-features-java version 2.0.5 38 | * Java 11 39 | 40 | ## [2.0.4](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.0.4) (03-03-2021) 41 | 42 | * simple-features-java version 2.0.4 43 | * Geometry reader/writer instance methods 44 | 45 | ## [2.0.3](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.0.3) (07-13-2020) 46 | 47 | * simple-features-java version 2.0.3 48 | * Geometry reader/writer shortcut support directly between bytes and geometries 49 | * Geometry Filter support 50 | * Geometry Code retrieval method by geometry type, has z, and has m 51 | 52 | ## [2.0.2](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.0.2) (07-08-2019) 53 | 54 | * simple-features-java version 2.0.2 55 | 56 | ## [2.0.1](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.0.1) (04-01-2019) 57 | 58 | * simple-features-java version 2.0.1 59 | * Eclipse project cleanup 60 | 61 | ## [2.0.0](https://github.com/ngageoint/simple-features-wkb-java/releases/tag/2.0.0) (05-17-2018) 62 | 63 | * Simple Features refactor, geopackage-wkb-java refactored to be simple-features-wkb-java 64 | * "Wkb" prefix dropped from the Geometry Reader and Writer classes 65 | * Common simple features code moved to new dependency, [simple-features-java](https://github.com/ngageoint/simple-features-java). Requires package name changes. 66 | * Geometry Codes WKB utility class 67 | 68 | ## [1.0.6](https://github.com/ngageoint/geopackage-wkb-java/releases/tag/1.0.6) (05-02-2018) 69 | 70 | * MultiCurve and MultiSurface read support 71 | * MultiCurve and MultiSurface write support as Extended Geometry Collections 72 | * Geometry Collection utility methods for collection type checks and conversions 73 | * Handle reading 2.5D geometry type codes 74 | 75 | ## [1.0.5](https://github.com/ngageoint/geopackage-wkb-java/releases/tag/1.0.5) (02-13-2018) 76 | 77 | * Additional Curve Polygon support 78 | * Geometry utilities: pointInPolygon, pointOnPolygonEdge, closedPolygon, pointOnLine, and pointOnPath 79 | * Shamos-Hoey simple polygon detection 80 | 81 | ## [1.0.4](https://github.com/ngageoint/geopackage-wkb-java/releases/tag/1.0.4) (11-20-2017) 82 | 83 | * Douglas Peucker algorithm for geometry simplification 84 | * maven-gpg-plugin version 1.6 85 | 86 | ## [1.0.3](https://github.com/ngageoint/geopackage-wkb-java/releases/tag/1.0.3) (06-12-2017) 87 | 88 | * Shortcut default constructors for Geometry objects without z or m values 89 | * Geometry utilities including centroid, minimize for antimeridian support, and normalize 90 | * Geometry copy methods and constructors 91 | 92 | ## [1.0.2](https://github.com/ngageoint/geopackage-wkb-java/releases/tag/1.0.2) (04-18-2016) 93 | 94 | * Geometry to JSON Compatible object utility 95 | 96 | ## [1.0.1](https://github.com/ngageoint/geopackage-wkb-java/releases/tag/1.0.1) (11-20-2015) 97 | 98 | * Added tests - [Issue #6](https://github.com/ngageoint/geopackage-wkb-java/issues/6) 99 | 100 | ## [1.0.0](https://github.com/ngageoint/geopackage-wkb-java/releases/tag/1.0.0) (09-15-2015) 101 | 102 | * Initial Release 103 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Bit Systems 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Simple Features WKB Java 2 | 3 | #### Simple Features Well Known Binary Lib #### 4 | 5 | The Simple Features Libraries were developed at the [National Geospatial-Intelligence Agency (NGA)](http://www.nga.mil/) in collaboration with [BIT Systems](https://www.caci.com/bit-systems/). The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the [MIT license](http://choosealicense.com/licenses/mit/). 6 | 7 | ### Pull Requests ### 8 | If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license. 9 | 10 | Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license. 11 | 12 | ### About ### 13 | 14 | [Simple Features WKB](http://ngageoint.github.io/simple-features-wkb-java/) is a Java library for writing and reading [Simple Feature](https://github.com/ngageoint/simple-features-java) Geometries to and from Well-Known Binary. 15 | 16 | ### Usage ### 17 | 18 | View the latest [Javadoc](http://ngageoint.github.io/simple-features-wkb-java/docs/api/) 19 | 20 | #### Read #### 21 | 22 | ```java 23 | 24 | // byte[] bytes = ... 25 | 26 | Geometry geometry = GeometryReader.readGeometry(bytes); 27 | GeometryType geometryType = geometry.getGeometryType(); 28 | 29 | ``` 30 | 31 | #### Write #### 32 | 33 | ```java 34 | 35 | // Geometry geometry = ... 36 | 37 | byte[] bytes = GeometryWriter.writeGeometry(geometry); 38 | 39 | ``` 40 | 41 | ### Installation ### 42 | 43 | Pull from the [Maven Central Repository](http://search.maven.org/#artifactdetails|mil.nga.sf|sf-wkb|2.2.3|jar) (JAR, POM, Source, Javadoc) 44 | 45 | ```xml 46 | 47 | 48 | mil.nga.sf 49 | sf-wkb 50 | 2.2.3 51 | 52 | 53 | ``` 54 | 55 | ### Build ### 56 | 57 | [![Build & Test](https://github.com/ngageoint/simple-features-wkb-java/workflows/Build%20&%20Test/badge.svg)](https://github.com/ngageoint/simple-features-wkb-java/actions/workflows/build-test.yml) 58 | 59 | Build this repository using Eclipse and/or Maven: 60 | 61 | mvn clean install 62 | 63 | ### Remote Dependencies ### 64 | 65 | * [Simple Features](https://github.com/ngageoint/simple-features-java) (The MIT License (MIT)) - Simple Features Lib 66 | -------------------------------------------------------------------------------- /docs/docs/api/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Created-By: Maven Javadoc Plugin 3.6.3 3 | Build-Jdk-Spec: 11 4 | 5 | -------------------------------------------------------------------------------- /docs/docs/api/allclasses-index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

All Classes

97 |
98 |
99 | 135 |
136 |
137 | 183 | 184 | 185 | -------------------------------------------------------------------------------- /docs/docs/api/allclasses.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 |

All Classes

22 |
23 | 29 |
30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/docs/api/allpackages-index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Packages (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

All Packages

97 |
98 |
99 | 116 |
117 |
118 | 164 | 165 | 166 | -------------------------------------------------------------------------------- /docs/docs/api/constant-values.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Constant Field Values (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Constant Field Values

97 |
98 |

Contents

99 |
100 |
101 |
102 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /docs/docs/api/deprecated-list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Deprecated List (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Deprecated API

97 |

Contents

98 |
99 |
100 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /docs/docs/api/element-list: -------------------------------------------------------------------------------- 1 | mil.nga.sf.wkb 2 | -------------------------------------------------------------------------------- /docs/docs/api/help-doc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | API Help (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

How This API Document Is Organized

97 |
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
98 |
99 |
100 | 223 |
224 | This help file applies to API documentation generated by the standard doclet.
225 |
226 | 272 | 273 | 274 | -------------------------------------------------------------------------------- /docs/docs/api/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Simple Features Well-Known Binary 2.2.3 API 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 |
17 | 20 |

mil/nga/sf/wkb/package-summary.html

21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-bg_glass_65_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-bg_glass_65_dadada_1x400.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/jquery/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /docs/docs/api/jquery/jquery-ui.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.12.1 - 2018-12-06 2 | * http://jqueryui.com 3 | * Includes: core.css, autocomplete.css, menu.css, theme.css 4 | * To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgImgOpacityContent=75&bgImgOpacityHeader=75&cornerRadiusShadow=8px&offsetLeftShadow=-8px&offsetTopShadow=-8px&thicknessShadow=8px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=%23aaaaaa&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=%23aaaaaa&iconColorError=%23cd0a0a&fcError=%23cd0a0a&borderColorError=%23cd0a0a&bgTextureError=glass&bgColorError=%23fef1ec&iconColorHighlight=%232e83ff&fcHighlight=%23363636&borderColorHighlight=%23fcefa1&bgTextureHighlight=glass&bgColorHighlight=%23fbf9ee&iconColorActive=%23454545&fcActive=%23212121&borderColorActive=%23aaaaaa&bgTextureActive=glass&bgColorActive=%23dadada&iconColorHover=%23454545&fcHover=%23212121&borderColorHover=%23999999&bgTextureHover=glass&bgColorHover=%23dadada&iconColorDefault=%23888888&fcDefault=%23555555&borderColorDefault=%23d3d3d3&bgTextureDefault=glass&bgColorDefault=%23e6e6e6&iconColorContent=%23222222&fcContent=%23222222&borderColorContent=%23aaaaaa&bgTextureContent=flat&bgColorContent=%23ffffff&iconColorHeader=%23222222&fcHeader=%23222222&borderColorHeader=%23aaaaaa&bgTextureHeader=highlight_soft&bgColorHeader=%23cccccc&cornerRadius=4px&fwDefault=normal&fsDefault=1.1em&ffDefault=Verdana%2CArial%2Csans-serif 5 | * Copyright jQuery Foundation and other contributors; Licensed MIT */ 6 | 7 | .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #d3d3d3}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #d3d3d3;background:#e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #999;background:#dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#212121;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #aaa;background:#dadada url("images/ui-bg_glass_65_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-icon-background,.ui-state-active .ui-icon-background{border:#aaa;background-color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-checked{border:1px solid #fcefa1;background:#fbf9ee}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_888888_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:-8px -8px 8px #aaa;box-shadow:-8px -8px 8px #aaa} -------------------------------------------------------------------------------- /docs/docs/api/jquery/jquery-ui.structure.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI CSS Framework 1.12.1 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | * 9 | * http://api.jqueryui.com/category/theming/ 10 | */ 11 | /* Layout helpers 12 | ----------------------------------*/ 13 | .ui-helper-hidden { 14 | display: none; 15 | } 16 | .ui-helper-hidden-accessible { 17 | border: 0; 18 | clip: rect(0 0 0 0); 19 | height: 1px; 20 | margin: -1px; 21 | overflow: hidden; 22 | padding: 0; 23 | position: absolute; 24 | width: 1px; 25 | } 26 | .ui-helper-reset { 27 | margin: 0; 28 | padding: 0; 29 | border: 0; 30 | outline: 0; 31 | line-height: 1.3; 32 | text-decoration: none; 33 | font-size: 100%; 34 | list-style: none; 35 | } 36 | .ui-helper-clearfix:before, 37 | .ui-helper-clearfix:after { 38 | content: ""; 39 | display: table; 40 | border-collapse: collapse; 41 | } 42 | .ui-helper-clearfix:after { 43 | clear: both; 44 | } 45 | .ui-helper-zfix { 46 | width: 100%; 47 | height: 100%; 48 | top: 0; 49 | left: 0; 50 | position: absolute; 51 | opacity: 0; 52 | filter:Alpha(Opacity=0); /* support: IE8 */ 53 | } 54 | 55 | .ui-front { 56 | z-index: 100; 57 | } 58 | 59 | 60 | /* Interaction Cues 61 | ----------------------------------*/ 62 | .ui-state-disabled { 63 | cursor: default !important; 64 | pointer-events: none; 65 | } 66 | 67 | 68 | /* Icons 69 | ----------------------------------*/ 70 | .ui-icon { 71 | display: inline-block; 72 | vertical-align: middle; 73 | margin-top: -.25em; 74 | position: relative; 75 | text-indent: -99999px; 76 | overflow: hidden; 77 | background-repeat: no-repeat; 78 | } 79 | 80 | .ui-widget-icon-block { 81 | left: 50%; 82 | margin-left: -8px; 83 | display: block; 84 | } 85 | 86 | /* Misc visuals 87 | ----------------------------------*/ 88 | 89 | /* Overlays */ 90 | .ui-widget-overlay { 91 | position: fixed; 92 | top: 0; 93 | left: 0; 94 | width: 100%; 95 | height: 100%; 96 | } 97 | .ui-autocomplete { 98 | position: absolute; 99 | top: 0; 100 | left: 0; 101 | cursor: default; 102 | } 103 | .ui-menu { 104 | list-style: none; 105 | padding: 0; 106 | margin: 0; 107 | display: block; 108 | outline: 0; 109 | } 110 | .ui-menu .ui-menu { 111 | position: absolute; 112 | } 113 | .ui-menu .ui-menu-item { 114 | margin: 0; 115 | cursor: pointer; 116 | /* support: IE10, see #8844 */ 117 | list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); 118 | } 119 | .ui-menu .ui-menu-item-wrapper { 120 | position: relative; 121 | padding: 3px 1em 3px .4em; 122 | } 123 | .ui-menu .ui-menu-divider { 124 | margin: 5px 0; 125 | height: 0; 126 | font-size: 0; 127 | line-height: 0; 128 | border-width: 1px 0 0 0; 129 | } 130 | .ui-menu .ui-state-focus, 131 | .ui-menu .ui-state-active { 132 | margin: -1px; 133 | } 134 | 135 | /* icon support */ 136 | .ui-menu-icons { 137 | position: relative; 138 | } 139 | .ui-menu-icons .ui-menu-item-wrapper { 140 | padding-left: 2em; 141 | } 142 | 143 | /* left-aligned */ 144 | .ui-menu .ui-icon { 145 | position: absolute; 146 | top: 0; 147 | bottom: 0; 148 | left: .2em; 149 | margin: auto 0; 150 | } 151 | 152 | /* right-aligned */ 153 | .ui-menu .ui-menu-icon { 154 | left: auto; 155 | right: 0; 156 | } 157 | -------------------------------------------------------------------------------- /docs/docs/api/jquery/jquery-ui.structure.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.12.1 - 2018-12-06 2 | * http://jqueryui.com 3 | * Copyright jQuery Foundation and other contributors; Licensed MIT */ 4 | 5 | .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} -------------------------------------------------------------------------------- /docs/docs/api/jquery/jszip-utils/dist/jszip-utils-ie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | JSZipUtils - A collection of cross-browser utilities to go along with JSZip. 4 | 5 | 6 | (c) 2014 Stuart Knightley, David Duponchel 7 | Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. 8 | 9 | */ 10 | ;(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o\r\n"+ 18 | "\r\n"; 32 | 33 | // inject VBScript 34 | document.write(IEBinaryToArray_ByteStr_Script); 35 | 36 | global.JSZipUtils._getBinaryFromXHR = function (xhr) { 37 | var binary = xhr.responseBody; 38 | var byteMapping = {}; 39 | for ( var i = 0; i < 256; i++ ) { 40 | for ( var j = 0; j < 256; j++ ) { 41 | byteMapping[ String.fromCharCode( i + (j << 8) ) ] = 42 | String.fromCharCode(i) + String.fromCharCode(j); 43 | } 44 | } 45 | var rawBytes = IEBinaryToArray_ByteStr(binary); 46 | var lastChr = IEBinaryToArray_ByteStr_Last(binary); 47 | return rawBytes.replace(/[\s\S]/g, function( match ) { 48 | return byteMapping[match]; 49 | }) + lastChr; 50 | }; 51 | 52 | // enforcing Stuk's coding style 53 | // vim: set shiftwidth=4 softtabstop=4: 54 | 55 | },{}]},{},[1]) 56 | ; 57 | -------------------------------------------------------------------------------- /docs/docs/api/jquery/jszip-utils/dist/jszip-utils-ie.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | JSZipUtils - A collection of cross-browser utilities to go along with JSZip. 4 | 5 | 6 | (c) 2014 Stuart Knightley, David Duponchel 7 | Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. 8 | 9 | */ 10 | !function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g\r\n";document.write(b),a.JSZipUtils._getBinaryFromXHR=function(a){for(var b=a.responseBody,c={},d=0;256>d;d++)for(var e=0;256>e;e++)c[String.fromCharCode(d+(e<<8))]=String.fromCharCode(d)+String.fromCharCode(e);var f=IEBinaryToArray_ByteStr(b),g=IEBinaryToArray_ByteStr_Last(b);return f.replace(/[\s\S]/g,function(a){return c[a]})+g}},{}]},{},[1]); 11 | -------------------------------------------------------------------------------- /docs/docs/api/jquery/jszip-utils/dist/jszip-utils.js: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | JSZipUtils - A collection of cross-browser utilities to go along with JSZip. 4 | 5 | 6 | (c) 2014 Stuart Knightley, David Duponchel 7 | Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. 8 | 9 | */ 10 | !function(e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):"undefined"!=typeof window?window.JSZipUtils=e():"undefined"!=typeof global?global.JSZipUtils=e():"undefined"!=typeof self&&(self.JSZipUtils=e())}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 5 | 6 | (c) 2014 Stuart Knightley, David Duponchel 7 | Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown. 8 | 9 | */ 10 | !function(a){"object"==typeof exports?module.exports=a():"function"==typeof define&&define.amd?define(a):"undefined"!=typeof window?window.JSZipUtils=a():"undefined"!=typeof global?global.JSZipUtils=a():"undefined"!=typeof self&&(self.JSZipUtils=a())}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g)","url":"read(java.lang.Class)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"read(GeometryFilter, Class)","url":"read(mil.nga.sf.util.filter.GeometryFilter,java.lang.Class)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"read(GeometryFilter, GeometryType, Class)","url":"read(mil.nga.sf.util.filter.GeometryFilter,mil.nga.sf.GeometryType,java.lang.Class)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"read(GeometryFilter)","url":"read(mil.nga.sf.util.filter.GeometryFilter)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCircularString(boolean, boolean)","url":"readCircularString(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCircularString(ByteReader, boolean, boolean)","url":"readCircularString(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCircularString(ByteReader, GeometryFilter, boolean, boolean)","url":"readCircularString(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCircularString(GeometryFilter, boolean, boolean)","url":"readCircularString(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCompoundCurve(boolean, boolean)","url":"readCompoundCurve(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCompoundCurve(ByteReader, boolean, boolean)","url":"readCompoundCurve(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCompoundCurve(ByteReader, GeometryFilter, boolean, boolean)","url":"readCompoundCurve(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCompoundCurve(GeometryFilter, boolean, boolean)","url":"readCompoundCurve(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCurvePolygon(boolean, boolean)","url":"readCurvePolygon(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCurvePolygon(ByteReader, boolean, boolean)","url":"readCurvePolygon(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCurvePolygon(ByteReader, GeometryFilter, boolean, boolean)","url":"readCurvePolygon(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readCurvePolygon(GeometryFilter, boolean, boolean)","url":"readCurvePolygon(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(byte[], Class)","url":"readGeometry(byte[],java.lang.Class)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(byte[], GeometryFilter, Class)","url":"readGeometry(byte[],mil.nga.sf.util.filter.GeometryFilter,java.lang.Class)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(byte[], GeometryFilter)","url":"readGeometry(byte[],mil.nga.sf.util.filter.GeometryFilter)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(byte[])"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(ByteReader, Class)","url":"readGeometry(mil.nga.sf.util.ByteReader,java.lang.Class)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(ByteReader, GeometryFilter, Class)","url":"readGeometry(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,java.lang.Class)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(ByteReader, GeometryFilter, GeometryType, Class)","url":"readGeometry(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,mil.nga.sf.GeometryType,java.lang.Class)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(ByteReader, GeometryFilter)","url":"readGeometry(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometry(ByteReader)","url":"readGeometry(mil.nga.sf.util.ByteReader)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometryCollection(boolean, boolean)","url":"readGeometryCollection(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometryCollection(ByteReader, boolean, boolean)","url":"readGeometryCollection(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometryCollection(ByteReader, GeometryFilter, boolean, boolean)","url":"readGeometryCollection(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometryCollection(GeometryFilter, boolean, boolean)","url":"readGeometryCollection(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometryType()"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readGeometryType(ByteReader)","url":"readGeometryType(mil.nga.sf.util.ByteReader)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readLineString(boolean, boolean)","url":"readLineString(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readLineString(ByteReader, boolean, boolean)","url":"readLineString(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readLineString(ByteReader, GeometryFilter, boolean, boolean)","url":"readLineString(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readLineString(GeometryFilter, boolean, boolean)","url":"readLineString(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiLineString(boolean, boolean)","url":"readMultiLineString(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiLineString(ByteReader, boolean, boolean)","url":"readMultiLineString(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiLineString(ByteReader, GeometryFilter, boolean, boolean)","url":"readMultiLineString(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiLineString(GeometryFilter, boolean, boolean)","url":"readMultiLineString(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiPoint(boolean, boolean)","url":"readMultiPoint(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiPoint(ByteReader, boolean, boolean)","url":"readMultiPoint(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiPoint(ByteReader, GeometryFilter, boolean, boolean)","url":"readMultiPoint(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiPoint(GeometryFilter, boolean, boolean)","url":"readMultiPoint(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiPolygon(boolean, boolean)","url":"readMultiPolygon(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiPolygon(ByteReader, boolean, boolean)","url":"readMultiPolygon(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiPolygon(ByteReader, GeometryFilter, boolean, boolean)","url":"readMultiPolygon(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readMultiPolygon(GeometryFilter, boolean, boolean)","url":"readMultiPolygon(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPoint(boolean, boolean)","url":"readPoint(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPoint(ByteReader, boolean, boolean)","url":"readPoint(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPolygon(boolean, boolean)","url":"readPolygon(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPolygon(ByteReader, boolean, boolean)","url":"readPolygon(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPolygon(ByteReader, GeometryFilter, boolean, boolean)","url":"readPolygon(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPolygon(GeometryFilter, boolean, boolean)","url":"readPolygon(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPolyhedralSurface(boolean, boolean)","url":"readPolyhedralSurface(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPolyhedralSurface(ByteReader, boolean, boolean)","url":"readPolyhedralSurface(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPolyhedralSurface(ByteReader, GeometryFilter, boolean, boolean)","url":"readPolyhedralSurface(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readPolyhedralSurface(GeometryFilter, boolean, boolean)","url":"readPolyhedralSurface(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readTIN(boolean, boolean)","url":"readTIN(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readTIN(ByteReader, boolean, boolean)","url":"readTIN(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readTIN(ByteReader, GeometryFilter, boolean, boolean)","url":"readTIN(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readTIN(GeometryFilter, boolean, boolean)","url":"readTIN(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readTriangle(boolean, boolean)","url":"readTriangle(boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readTriangle(ByteReader, boolean, boolean)","url":"readTriangle(mil.nga.sf.util.ByteReader,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readTriangle(ByteReader, GeometryFilter, boolean, boolean)","url":"readTriangle(mil.nga.sf.util.ByteReader,mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryReader","l":"readTriangle(GeometryFilter, boolean, boolean)","url":"readTriangle(mil.nga.sf.util.filter.GeometryFilter,boolean,boolean)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"write(Geometry)","url":"write(mil.nga.sf.Geometry)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeCircularString(ByteWriter, CircularString)","url":"writeCircularString(mil.nga.sf.util.ByteWriter,mil.nga.sf.CircularString)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeCircularString(CircularString)","url":"writeCircularString(mil.nga.sf.CircularString)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeCompoundCurve(ByteWriter, CompoundCurve)","url":"writeCompoundCurve(mil.nga.sf.util.ByteWriter,mil.nga.sf.CompoundCurve)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeCompoundCurve(CompoundCurve)","url":"writeCompoundCurve(mil.nga.sf.CompoundCurve)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeCurvePolygon(ByteWriter, CurvePolygon)","url":"writeCurvePolygon(mil.nga.sf.util.ByteWriter,mil.nga.sf.CurvePolygon)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeCurvePolygon(CurvePolygon)","url":"writeCurvePolygon(mil.nga.sf.CurvePolygon)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeGeometry(ByteWriter, Geometry)","url":"writeGeometry(mil.nga.sf.util.ByteWriter,mil.nga.sf.Geometry)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeGeometry(Geometry, ByteOrder)","url":"writeGeometry(mil.nga.sf.Geometry,java.nio.ByteOrder)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeGeometry(Geometry)","url":"writeGeometry(mil.nga.sf.Geometry)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeGeometryCollection(ByteWriter, GeometryCollection)","url":"writeGeometryCollection(mil.nga.sf.util.ByteWriter,mil.nga.sf.GeometryCollection)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeGeometryCollection(GeometryCollection)","url":"writeGeometryCollection(mil.nga.sf.GeometryCollection)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeLineString(ByteWriter, LineString)","url":"writeLineString(mil.nga.sf.util.ByteWriter,mil.nga.sf.LineString)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeLineString(LineString)","url":"writeLineString(mil.nga.sf.LineString)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeM(Point)","url":"writeM(mil.nga.sf.Point)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeMultiLineString(ByteWriter, MultiLineString)","url":"writeMultiLineString(mil.nga.sf.util.ByteWriter,mil.nga.sf.MultiLineString)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeMultiLineString(MultiLineString)","url":"writeMultiLineString(mil.nga.sf.MultiLineString)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeMultiPoint(ByteWriter, MultiPoint)","url":"writeMultiPoint(mil.nga.sf.util.ByteWriter,mil.nga.sf.MultiPoint)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeMultiPoint(MultiPoint)","url":"writeMultiPoint(mil.nga.sf.MultiPoint)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeMultiPolygon(ByteWriter, MultiPolygon)","url":"writeMultiPolygon(mil.nga.sf.util.ByteWriter,mil.nga.sf.MultiPolygon)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeMultiPolygon(MultiPolygon)","url":"writeMultiPolygon(mil.nga.sf.MultiPolygon)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writePoint(ByteWriter, Point)","url":"writePoint(mil.nga.sf.util.ByteWriter,mil.nga.sf.Point)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writePoint(Point)","url":"writePoint(mil.nga.sf.Point)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writePolygon(ByteWriter, Polygon)","url":"writePolygon(mil.nga.sf.util.ByteWriter,mil.nga.sf.Polygon)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writePolygon(Polygon)","url":"writePolygon(mil.nga.sf.Polygon)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writePolyhedralSurface(ByteWriter, PolyhedralSurface)","url":"writePolyhedralSurface(mil.nga.sf.util.ByteWriter,mil.nga.sf.PolyhedralSurface)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writePolyhedralSurface(PolyhedralSurface)","url":"writePolyhedralSurface(mil.nga.sf.PolyhedralSurface)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeTIN(ByteWriter, TIN)","url":"writeTIN(mil.nga.sf.util.ByteWriter,mil.nga.sf.TIN)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeTIN(TIN)","url":"writeTIN(mil.nga.sf.TIN)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeTriangle(ByteWriter, Triangle)","url":"writeTriangle(mil.nga.sf.util.ByteWriter,mil.nga.sf.Triangle)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeTriangle(Triangle)","url":"writeTriangle(mil.nga.sf.Triangle)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeXY(Point)","url":"writeXY(mil.nga.sf.Point)"},{"p":"mil.nga.sf.wkb","c":"GeometryWriter","l":"writeZ(Point)","url":"writeZ(mil.nga.sf.Point)"}] -------------------------------------------------------------------------------- /docs/docs/api/member-search-index.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/member-search-index.zip -------------------------------------------------------------------------------- /docs/docs/api/mil/nga/sf/wkb/GeometryTypeInfo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | GeometryTypeInfo (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 39 | 42 |
43 | 114 |
115 | 116 |
117 |
118 | 119 |

Class GeometryTypeInfo

120 |
121 |
122 |
    123 |
  • java.lang.Object
  • 124 |
  • 125 |
      126 |
    • mil.nga.sf.wkb.GeometryTypeInfo
    • 127 |
    128 |
  • 129 |
130 |
131 |
    132 |
  • 133 |
    134 |
    public class GeometryTypeInfo
    135 | extends Object
    136 |
    Geometry type info
    137 |
    138 |
    Author:
    139 |
    osbornb
    140 |
    141 |
  • 142 |
143 |
144 |
145 | 202 |
203 |
204 |
    205 |
  • 206 | 207 |
    208 |
      209 |
    • 210 | 211 | 212 |

      Method Detail

      213 | 214 | 215 | 216 |
        217 |
      • 218 |

        getGeometryTypeCode

        219 |
        public int getGeometryTypeCode()
        220 |
        Get the geometry type code
        221 |
        222 |
        Returns:
        223 |
        geometry type code
        224 |
        225 |
      • 226 |
      227 | 228 | 229 | 230 |
        231 |
      • 232 |

        getGeometryType

        233 |
        public GeometryType getGeometryType()
        234 |
        Get the geometry type
        235 |
        236 |
        Returns:
        237 |
        geometry type
        238 |
        239 |
      • 240 |
      241 | 242 | 243 | 244 |
        245 |
      • 246 |

        hasZ

        247 |
        public boolean hasZ()
        248 |
        Has z values
        249 |
        250 |
        Returns:
        251 |
        true if has z values
        252 |
        253 |
      • 254 |
      255 | 256 | 257 | 258 |
        259 |
      • 260 |

        hasM

        261 |
        public boolean hasM()
        262 |
        Has m values
        263 |
        264 |
        Returns:
        265 |
        true if has m values
        266 |
        267 |
      • 268 |
      269 |
    • 270 |
    271 |
    272 |
  • 273 |
274 |
275 |
276 |
277 | 278 |
279 | 337 |

Copyright © 2024 National Geospatial-Intelligence Agency. All rights reserved.

338 |
339 | 340 | 341 | -------------------------------------------------------------------------------- /docs/docs/api/mil/nga/sf/wkb/class-use/GeometryCodes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class mil.nga.sf.wkb.GeometryCodes (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Uses of Class
mil.nga.sf.wkb.GeometryCodes

97 |
98 |
No usage of mil.nga.sf.wkb.GeometryCodes
99 |
100 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /docs/docs/api/mil/nga/sf/wkb/class-use/GeometryReader.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class mil.nga.sf.wkb.GeometryReader (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Uses of Class
mil.nga.sf.wkb.GeometryReader

97 |
98 |
No usage of mil.nga.sf.wkb.GeometryReader
99 |
100 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /docs/docs/api/mil/nga/sf/wkb/class-use/GeometryTypeInfo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class mil.nga.sf.wkb.GeometryTypeInfo (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Uses of Class
mil.nga.sf.wkb.GeometryTypeInfo

97 |
98 |
99 | 136 |
137 |
138 | 184 | 185 | 186 | -------------------------------------------------------------------------------- /docs/docs/api/mil/nga/sf/wkb/class-use/GeometryWriter.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Class mil.nga.sf.wkb.GeometryWriter (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Uses of Class
mil.nga.sf.wkb.GeometryWriter

97 |
98 |
No usage of mil.nga.sf.wkb.GeometryWriter
99 |
100 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /docs/docs/api/mil/nga/sf/wkb/package-summary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | mil.nga.sf.wkb (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Package mil.nga.sf.wkb

97 |
98 |
99 |
    100 |
  • 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 114 | 115 | 116 | 117 | 120 | 121 | 122 | 123 | 126 | 127 | 128 | 129 | 132 | 133 | 134 |
    Class Summary 
    ClassDescription
    GeometryCodes 111 |
    Geometry Code utilities to convert between geometry attributes and geometry 112 | codes
    113 |
    GeometryReader 118 |
    Well Known Binary reader
    119 |
    GeometryTypeInfo 124 |
    Geometry type info
    125 |
    GeometryWriter 130 |
    Well Known Binary writer
    131 |
    135 |
  • 136 |
137 |
138 |
139 | 185 | 186 | 187 | -------------------------------------------------------------------------------- /docs/docs/api/mil/nga/sf/wkb/package-tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | mil.nga.sf.wkb Class Hierarchy (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Hierarchy For Package mil.nga.sf.wkb

97 |
98 |
99 |
100 |

Class Hierarchy

101 | 111 |
112 |
113 |
114 | 160 | 161 | 162 | -------------------------------------------------------------------------------- /docs/docs/api/mil/nga/sf/wkb/package-use.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Uses of Package mil.nga.sf.wkb (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Uses of Package
mil.nga.sf.wkb

97 |
98 |
99 | 120 |
121 |
122 | 168 | 169 | 170 | -------------------------------------------------------------------------------- /docs/docs/api/overview-tree.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Class Hierarchy (Simple Features Well-Known Binary 2.2.3 API) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 33 | 36 |
37 | 93 |
94 |
95 |
96 |

Hierarchy For All Packages

97 | Package Hierarchies: 98 | 101 |
102 |
103 |
104 |

Class Hierarchy

105 | 115 |
116 |
117 |
118 |
119 | 162 |

Copyright © 2024 National Geospatial-Intelligence Agency. All rights reserved.

163 |
164 | 165 | 166 | -------------------------------------------------------------------------------- /docs/docs/api/package-search-index.js: -------------------------------------------------------------------------------- 1 | packageSearchIndex = [{"l":"All Packages","url":"allpackages-index.html"},{"l":"mil.nga.sf.wkb"}] -------------------------------------------------------------------------------- /docs/docs/api/package-search-index.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/package-search-index.zip -------------------------------------------------------------------------------- /docs/docs/api/resources/glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/resources/glass.png -------------------------------------------------------------------------------- /docs/docs/api/resources/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/resources/x.png -------------------------------------------------------------------------------- /docs/docs/api/script.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | var moduleSearchIndex; 27 | var packageSearchIndex; 28 | var typeSearchIndex; 29 | var memberSearchIndex; 30 | var tagSearchIndex; 31 | function loadScripts(doc, tag) { 32 | createElem(doc, tag, 'jquery/jszip/dist/jszip.js'); 33 | createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils.js'); 34 | if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0 || 35 | window.navigator.userAgent.indexOf('Edge/') > 0) { 36 | createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils-ie.js'); 37 | } 38 | createElem(doc, tag, 'search.js'); 39 | 40 | $.get(pathtoroot + "module-search-index.zip") 41 | .done(function() { 42 | JSZipUtils.getBinaryContent(pathtoroot + "module-search-index.zip", function(e, data) { 43 | JSZip.loadAsync(data).then(function(zip){ 44 | zip.file("module-search-index.json").async("text").then(function(content){ 45 | moduleSearchIndex = JSON.parse(content); 46 | }); 47 | }); 48 | }); 49 | }); 50 | $.get(pathtoroot + "package-search-index.zip") 51 | .done(function() { 52 | JSZipUtils.getBinaryContent(pathtoroot + "package-search-index.zip", function(e, data) { 53 | JSZip.loadAsync(data).then(function(zip){ 54 | zip.file("package-search-index.json").async("text").then(function(content){ 55 | packageSearchIndex = JSON.parse(content); 56 | }); 57 | }); 58 | }); 59 | }); 60 | $.get(pathtoroot + "type-search-index.zip") 61 | .done(function() { 62 | JSZipUtils.getBinaryContent(pathtoroot + "type-search-index.zip", function(e, data) { 63 | JSZip.loadAsync(data).then(function(zip){ 64 | zip.file("type-search-index.json").async("text").then(function(content){ 65 | typeSearchIndex = JSON.parse(content); 66 | }); 67 | }); 68 | }); 69 | }); 70 | $.get(pathtoroot + "member-search-index.zip") 71 | .done(function() { 72 | JSZipUtils.getBinaryContent(pathtoroot + "member-search-index.zip", function(e, data) { 73 | JSZip.loadAsync(data).then(function(zip){ 74 | zip.file("member-search-index.json").async("text").then(function(content){ 75 | memberSearchIndex = JSON.parse(content); 76 | }); 77 | }); 78 | }); 79 | }); 80 | $.get(pathtoroot + "tag-search-index.zip") 81 | .done(function() { 82 | JSZipUtils.getBinaryContent(pathtoroot + "tag-search-index.zip", function(e, data) { 83 | JSZip.loadAsync(data).then(function(zip){ 84 | zip.file("tag-search-index.json").async("text").then(function(content){ 85 | tagSearchIndex = JSON.parse(content); 86 | }); 87 | }); 88 | }); 89 | }); 90 | if (!moduleSearchIndex) { 91 | createElem(doc, tag, 'module-search-index.js'); 92 | } 93 | if (!packageSearchIndex) { 94 | createElem(doc, tag, 'package-search-index.js'); 95 | } 96 | if (!typeSearchIndex) { 97 | createElem(doc, tag, 'type-search-index.js'); 98 | } 99 | if (!memberSearchIndex) { 100 | createElem(doc, tag, 'member-search-index.js'); 101 | } 102 | if (!tagSearchIndex) { 103 | createElem(doc, tag, 'tag-search-index.js'); 104 | } 105 | $(window).resize(function() { 106 | $('.navPadding').css('padding-top', $('.fixedNav').css("height")); 107 | }); 108 | } 109 | 110 | function createElem(doc, tag, path) { 111 | var script = doc.createElement(tag); 112 | var scriptElement = doc.getElementsByTagName(tag)[0]; 113 | script.src = pathtoroot + path; 114 | scriptElement.parentNode.insertBefore(script, scriptElement); 115 | } 116 | 117 | function show(type) { 118 | count = 0; 119 | for (var key in data) { 120 | var row = document.getElementById(key); 121 | if ((data[key] & type) !== 0) { 122 | row.style.display = ''; 123 | row.className = (count++ % 2) ? rowColor : altColor; 124 | } 125 | else 126 | row.style.display = 'none'; 127 | } 128 | updateTabs(type); 129 | } 130 | 131 | function updateTabs(type) { 132 | for (var value in tabs) { 133 | var sNode = document.getElementById(tabs[value][0]); 134 | var spanNode = sNode.firstChild; 135 | if (value == type) { 136 | sNode.className = activeTableTab; 137 | spanNode.innerHTML = tabs[value][1]; 138 | } 139 | else { 140 | sNode.className = tableTab; 141 | spanNode.innerHTML = "" + tabs[value][1] + ""; 142 | } 143 | } 144 | } 145 | 146 | function updateModuleFrame(pFrame, cFrame) { 147 | top.packageFrame.location = pFrame; 148 | top.classFrame.location = cFrame; 149 | } 150 | -------------------------------------------------------------------------------- /docs/docs/api/search.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. 3 | * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 | * 5 | * 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * 12 | * 13 | * 14 | * 15 | * 16 | * 17 | * 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | */ 25 | 26 | var noResult = {l: "No results found"}; 27 | var catModules = "Modules"; 28 | var catPackages = "Packages"; 29 | var catTypes = "Types"; 30 | var catMembers = "Members"; 31 | var catSearchTags = "SearchTags"; 32 | var highlight = "$&"; 33 | var camelCaseRegexp = ""; 34 | var secondaryMatcher = ""; 35 | function getHighlightedText(item) { 36 | var ccMatcher = new RegExp(camelCaseRegexp); 37 | var label = item.replace(ccMatcher, highlight); 38 | if (label === item) { 39 | label = item.replace(secondaryMatcher, highlight); 40 | } 41 | return label; 42 | } 43 | function getURLPrefix(ui) { 44 | var urlPrefix=""; 45 | if (useModuleDirectories) { 46 | var slash = "/"; 47 | if (ui.item.category === catModules) { 48 | return ui.item.l + slash; 49 | } else if (ui.item.category === catPackages && ui.item.m) { 50 | return ui.item.m + slash; 51 | } else if ((ui.item.category === catTypes && ui.item.p) || ui.item.category === catMembers) { 52 | $.each(packageSearchIndex, function(index, item) { 53 | if (ui.item.p == item.l) { 54 | urlPrefix = item.m + slash; 55 | } 56 | }); 57 | return urlPrefix; 58 | } else { 59 | return urlPrefix; 60 | } 61 | } 62 | return urlPrefix; 63 | } 64 | var watermark = 'Search'; 65 | $(function() { 66 | $("#search").val(''); 67 | $("#search").prop("disabled", false); 68 | $("#reset").prop("disabled", false); 69 | $("#search").val(watermark).addClass('watermark'); 70 | $("#search").blur(function() { 71 | if ($(this).val().length == 0) { 72 | $(this).val(watermark).addClass('watermark'); 73 | } 74 | }); 75 | $("#search").on('click keydown', function() { 76 | if ($(this).val() == watermark) { 77 | $(this).val('').removeClass('watermark'); 78 | } 79 | }); 80 | $("#reset").click(function() { 81 | $("#search").val(''); 82 | $("#search").focus(); 83 | }); 84 | $("#search").focus(); 85 | $("#search")[0].setSelectionRange(0, 0); 86 | }); 87 | $.widget("custom.catcomplete", $.ui.autocomplete, { 88 | _create: function() { 89 | this._super(); 90 | this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); 91 | }, 92 | _renderMenu: function(ul, items) { 93 | var rMenu = this, 94 | currentCategory = ""; 95 | rMenu.menu.bindings = $(); 96 | $.each(items, function(index, item) { 97 | var li; 98 | if (item.l !== noResult.l && item.category !== currentCategory) { 99 | ul.append("
  • " + item.category + "
  • "); 100 | currentCategory = item.category; 101 | } 102 | li = rMenu._renderItemData(ul, item); 103 | if (item.category) { 104 | li.attr("aria-label", item.category + " : " + item.l); 105 | li.attr("class", "resultItem"); 106 | } else { 107 | li.attr("aria-label", item.l); 108 | li.attr("class", "resultItem"); 109 | } 110 | }); 111 | }, 112 | _renderItem: function(ul, item) { 113 | var label = ""; 114 | if (item.category === catModules) { 115 | label = getHighlightedText(item.l); 116 | } else if (item.category === catPackages) { 117 | label = (item.m) 118 | ? getHighlightedText(item.m + "/" + item.l) 119 | : getHighlightedText(item.l); 120 | } else if (item.category === catTypes) { 121 | label = (item.p) 122 | ? getHighlightedText(item.p + "." + item.l) 123 | : getHighlightedText(item.l); 124 | } else if (item.category === catMembers) { 125 | label = getHighlightedText(item.p + "." + (item.c + "." + item.l)); 126 | } else if (item.category === catSearchTags) { 127 | label = getHighlightedText(item.l); 128 | } else { 129 | label = item.l; 130 | } 131 | var li = $("
  • ").appendTo(ul); 132 | var div = $("
    ").appendTo(li); 133 | if (item.category === catSearchTags) { 134 | if (item.d) { 135 | div.html(label + " (" + item.h + ")
    " 136 | + item.d + "
    "); 137 | } else { 138 | div.html(label + " (" + item.h + ")"); 139 | } 140 | } else { 141 | div.html(label); 142 | } 143 | return li; 144 | } 145 | }); 146 | $(function() { 147 | $("#search").catcomplete({ 148 | minLength: 1, 149 | delay: 100, 150 | source: function(request, response) { 151 | var result = new Array(); 152 | var presult = new Array(); 153 | var tresult = new Array(); 154 | var mresult = new Array(); 155 | var tgresult = new Array(); 156 | var secondaryresult = new Array(); 157 | var displayCount = 0; 158 | var exactMatcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term) + "$", "i"); 159 | camelCaseRegexp = ($.ui.autocomplete.escapeRegex(request.term)).split(/(?=[A-Z])/).join("([a-z0-9_$]*?)"); 160 | var camelCaseMatcher = new RegExp("^" + camelCaseRegexp); 161 | secondaryMatcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i"); 162 | 163 | // Return the nested innermost name from the specified object 164 | function nestedName(e) { 165 | return e.l.substring(e.l.lastIndexOf(".") + 1); 166 | } 167 | 168 | function concatResults(a1, a2) { 169 | a1 = a1.concat(a2); 170 | a2.length = 0; 171 | return a1; 172 | } 173 | 174 | if (moduleSearchIndex) { 175 | var mdleCount = 0; 176 | $.each(moduleSearchIndex, function(index, item) { 177 | item.category = catModules; 178 | if (exactMatcher.test(item.l)) { 179 | result.push(item); 180 | mdleCount++; 181 | } else if (camelCaseMatcher.test(item.l)) { 182 | result.push(item); 183 | } else if (secondaryMatcher.test(item.l)) { 184 | secondaryresult.push(item); 185 | } 186 | }); 187 | displayCount = mdleCount; 188 | result = concatResults(result, secondaryresult); 189 | } 190 | if (packageSearchIndex) { 191 | var pCount = 0; 192 | var pkg = ""; 193 | $.each(packageSearchIndex, function(index, item) { 194 | item.category = catPackages; 195 | pkg = (item.m) 196 | ? (item.m + "/" + item.l) 197 | : item.l; 198 | if (exactMatcher.test(item.l)) { 199 | presult.push(item); 200 | pCount++; 201 | } else if (camelCaseMatcher.test(pkg)) { 202 | presult.push(item); 203 | } else if (secondaryMatcher.test(pkg)) { 204 | secondaryresult.push(item); 205 | } 206 | }); 207 | result = result.concat(concatResults(presult, secondaryresult)); 208 | displayCount = (pCount > displayCount) ? pCount : displayCount; 209 | } 210 | if (typeSearchIndex) { 211 | var tCount = 0; 212 | $.each(typeSearchIndex, function(index, item) { 213 | item.category = catTypes; 214 | var s = nestedName(item); 215 | if (exactMatcher.test(s)) { 216 | tresult.push(item); 217 | tCount++; 218 | } else if (camelCaseMatcher.test(s)) { 219 | tresult.push(item); 220 | } else if (secondaryMatcher.test(item.p + "." + item.l)) { 221 | secondaryresult.push(item); 222 | } 223 | }); 224 | result = result.concat(concatResults(tresult, secondaryresult)); 225 | displayCount = (tCount > displayCount) ? tCount : displayCount; 226 | } 227 | if (memberSearchIndex) { 228 | var mCount = 0; 229 | $.each(memberSearchIndex, function(index, item) { 230 | item.category = catMembers; 231 | var s = nestedName(item); 232 | if (exactMatcher.test(s)) { 233 | mresult.push(item); 234 | mCount++; 235 | } else if (camelCaseMatcher.test(s)) { 236 | mresult.push(item); 237 | } else if (secondaryMatcher.test(item.c + "." + item.l)) { 238 | secondaryresult.push(item); 239 | } 240 | }); 241 | result = result.concat(concatResults(mresult, secondaryresult)); 242 | displayCount = (mCount > displayCount) ? mCount : displayCount; 243 | } 244 | if (tagSearchIndex) { 245 | var tgCount = 0; 246 | $.each(tagSearchIndex, function(index, item) { 247 | item.category = catSearchTags; 248 | if (exactMatcher.test(item.l)) { 249 | tgresult.push(item); 250 | tgCount++; 251 | } else if (secondaryMatcher.test(item.l)) { 252 | secondaryresult.push(item); 253 | } 254 | }); 255 | result = result.concat(concatResults(tgresult, secondaryresult)); 256 | displayCount = (tgCount > displayCount) ? tgCount : displayCount; 257 | } 258 | displayCount = (displayCount > 500) ? displayCount : 500; 259 | var counter = function() { 260 | var count = {Modules: 0, Packages: 0, Types: 0, Members: 0, SearchTags: 0}; 261 | var f = function(item) { 262 | count[item.category] += 1; 263 | return (count[item.category] <= displayCount); 264 | }; 265 | return f; 266 | }(); 267 | response(result.filter(counter)); 268 | }, 269 | response: function(event, ui) { 270 | if (!ui.content.length) { 271 | ui.content.push(noResult); 272 | } else { 273 | $("#search").empty(); 274 | } 275 | }, 276 | autoFocus: true, 277 | position: { 278 | collision: "flip" 279 | }, 280 | select: function(event, ui) { 281 | if (ui.item.l !== noResult.l) { 282 | var url = getURLPrefix(ui); 283 | if (ui.item.category === catModules) { 284 | if (useModuleDirectories) { 285 | url += "module-summary.html"; 286 | } else { 287 | url = ui.item.l + "-summary.html"; 288 | } 289 | } else if (ui.item.category === catPackages) { 290 | if (ui.item.url) { 291 | url = ui.item.url; 292 | } else { 293 | url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; 294 | } 295 | } else if (ui.item.category === catTypes) { 296 | if (ui.item.url) { 297 | url = ui.item.url; 298 | } else if (ui.item.p === "") { 299 | url += ui.item.l + ".html"; 300 | } else { 301 | url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; 302 | } 303 | } else if (ui.item.category === catMembers) { 304 | if (ui.item.p === "") { 305 | url += ui.item.c + ".html" + "#"; 306 | } else { 307 | url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; 308 | } 309 | if (ui.item.url) { 310 | url += ui.item.url; 311 | } else { 312 | url += ui.item.l; 313 | } 314 | } else if (ui.item.category === catSearchTags) { 315 | url += ui.item.u; 316 | } 317 | if (top !== window) { 318 | parent.classFrame.location = pathtoroot + url; 319 | } else { 320 | window.location.href = pathtoroot + url; 321 | } 322 | $("#search").focus(); 323 | } 324 | } 325 | }); 326 | }); 327 | -------------------------------------------------------------------------------- /docs/docs/api/type-search-index.js: -------------------------------------------------------------------------------- 1 | typeSearchIndex = [{"l":"All Classes","url":"allclasses-index.html"},{"p":"mil.nga.sf.wkb","l":"GeometryCodes"},{"p":"mil.nga.sf.wkb","l":"GeometryReader"},{"p":"mil.nga.sf.wkb","l":"GeometryTypeInfo"},{"p":"mil.nga.sf.wkb","l":"GeometryWriter"}] -------------------------------------------------------------------------------- /docs/docs/api/type-search-index.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ngageoint/simple-features-wkb-java/48cb9746c757e8df9de62303dc7b4818254eb8a9/docs/docs/api/type-search-index.zip -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Simple Features WKB Java 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 22 | 23 |
    24 | 25 |

    The Simple Features WKB Java library was developed by the National Geospatial-Intelligence Agency (NGA) in collaboration with BIT Systems. 26 | 27 |

    Simple Features WKB is a Java library for writing and reading Simple Feature Geometries to and from Well-Known Binary.

    28 | 29 | 39 | 40 |
    41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /docs/stylesheets/github-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014 GitHub Inc. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | 16 | */ 17 | 18 | .pl-c /* comment */ { 19 | color: #969896; 20 | } 21 | 22 | .pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */, 23 | .pl-s .pl-v /* string variable */ { 24 | color: #0086b3; 25 | } 26 | 27 | .pl-e /* entity */, 28 | .pl-en /* entity.name */ { 29 | color: #795da3; 30 | } 31 | 32 | .pl-s .pl-s1 /* string source */, 33 | .pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ { 34 | color: #333; 35 | } 36 | 37 | .pl-ent /* entity.name.tag */ { 38 | color: #63a35c; 39 | } 40 | 41 | .pl-k /* keyword, storage, storage.type */ { 42 | color: #a71d5d; 43 | } 44 | 45 | .pl-pds /* punctuation.definition.string, string.regexp.character-class */, 46 | .pl-s /* string */, 47 | .pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */, 48 | .pl-sr /* string.regexp */, 49 | .pl-sr .pl-cce /* string.regexp constant.character.escape */, 50 | .pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */, 51 | .pl-sr .pl-sre /* string.regexp source.ruby.embedded */ { 52 | color: #183691; 53 | } 54 | 55 | .pl-v /* variable */ { 56 | color: #ed6a43; 57 | } 58 | 59 | .pl-id /* invalid.deprecated */ { 60 | color: #b52a1d; 61 | } 62 | 63 | .pl-ii /* invalid.illegal */ { 64 | background-color: #b52a1d; 65 | color: #f8f8f8; 66 | } 67 | 68 | .pl-sr .pl-cce /* string.regexp constant.character.escape */ { 69 | color: #63a35c; 70 | font-weight: bold; 71 | } 72 | 73 | .pl-ml /* markup.list */ { 74 | color: #693a17; 75 | } 76 | 77 | .pl-mh /* markup.heading */, 78 | .pl-mh .pl-en /* markup.heading entity.name */, 79 | .pl-ms /* meta.separator */ { 80 | color: #1d3e81; 81 | font-weight: bold; 82 | } 83 | 84 | .pl-mq /* markup.quote */ { 85 | color: #008080; 86 | } 87 | 88 | .pl-mi /* markup.italic */ { 89 | color: #333; 90 | font-style: italic; 91 | } 92 | 93 | .pl-mb /* markup.bold */ { 94 | color: #333; 95 | font-weight: bold; 96 | } 97 | 98 | .pl-md /* markup.deleted, meta.diff.header.from-file */ { 99 | background-color: #ffecec; 100 | color: #bd2c00; 101 | } 102 | 103 | .pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { 104 | background-color: #eaffea; 105 | color: #55a532; 106 | } 107 | 108 | .pl-mdr /* meta.diff.range */ { 109 | color: #795da3; 110 | font-weight: bold; 111 | } 112 | 113 | .pl-mo /* meta.output */ { 114 | color: #1d3e81; 115 | } 116 | 117 | -------------------------------------------------------------------------------- /docs/stylesheets/normalize.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v3.0.2 | MIT License | git.io/normalize */ 2 | 3 | /** 4 | * 1. Set default font family to sans-serif. 5 | * 2. Prevent iOS text size adjust after orientation change, without disabling 6 | * user zoom. 7 | */ 8 | 9 | html { 10 | font-family: sans-serif; /* 1 */ 11 | -ms-text-size-adjust: 100%; /* 2 */ 12 | -webkit-text-size-adjust: 100%; /* 2 */ 13 | } 14 | 15 | /** 16 | * Remove default margin. 17 | */ 18 | 19 | body { 20 | margin: 0; 21 | } 22 | 23 | /* HTML5 display definitions 24 | ========================================================================== */ 25 | 26 | /** 27 | * Correct `block` display not defined for any HTML5 element in IE 8/9. 28 | * Correct `block` display not defined for `details` or `summary` in IE 10/11 29 | * and Firefox. 30 | * Correct `block` display not defined for `main` in IE 11. 31 | */ 32 | 33 | article, 34 | aside, 35 | details, 36 | figcaption, 37 | figure, 38 | footer, 39 | header, 40 | hgroup, 41 | main, 42 | menu, 43 | nav, 44 | section, 45 | summary { 46 | display: block; 47 | } 48 | 49 | /** 50 | * 1. Correct `inline-block` display not defined in IE 8/9. 51 | * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. 52 | */ 53 | 54 | audio, 55 | canvas, 56 | progress, 57 | video { 58 | display: inline-block; /* 1 */ 59 | vertical-align: baseline; /* 2 */ 60 | } 61 | 62 | /** 63 | * Prevent modern browsers from displaying `audio` without controls. 64 | * Remove excess height in iOS 5 devices. 65 | */ 66 | 67 | audio:not([controls]) { 68 | display: none; 69 | height: 0; 70 | } 71 | 72 | /** 73 | * Address `[hidden]` styling not present in IE 8/9/10. 74 | * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. 75 | */ 76 | 77 | [hidden], 78 | template { 79 | display: none; 80 | } 81 | 82 | /* Links 83 | ========================================================================== */ 84 | 85 | /** 86 | * Remove the gray background color from active links in IE 10. 87 | */ 88 | 89 | a { 90 | background-color: transparent; 91 | } 92 | 93 | /** 94 | * Improve readability when focused and also mouse hovered in all browsers. 95 | */ 96 | 97 | a:active, 98 | a:hover { 99 | outline: 0; 100 | } 101 | 102 | /* Text-level semantics 103 | ========================================================================== */ 104 | 105 | /** 106 | * Address styling not present in IE 8/9/10/11, Safari, and Chrome. 107 | */ 108 | 109 | abbr[title] { 110 | border-bottom: 1px dotted; 111 | } 112 | 113 | /** 114 | * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. 115 | */ 116 | 117 | b, 118 | strong { 119 | font-weight: bold; 120 | } 121 | 122 | /** 123 | * Address styling not present in Safari and Chrome. 124 | */ 125 | 126 | dfn { 127 | font-style: italic; 128 | } 129 | 130 | /** 131 | * Address variable `h1` font-size and margin within `section` and `article` 132 | * contexts in Firefox 4+, Safari, and Chrome. 133 | */ 134 | 135 | h1 { 136 | font-size: 2em; 137 | margin: 0.67em 0; 138 | } 139 | 140 | /** 141 | * Address styling not present in IE 8/9. 142 | */ 143 | 144 | mark { 145 | background: #ff0; 146 | color: #000; 147 | } 148 | 149 | /** 150 | * Address inconsistent and variable font size in all browsers. 151 | */ 152 | 153 | small { 154 | font-size: 80%; 155 | } 156 | 157 | /** 158 | * Prevent `sub` and `sup` affecting `line-height` in all browsers. 159 | */ 160 | 161 | sub, 162 | sup { 163 | font-size: 75%; 164 | line-height: 0; 165 | position: relative; 166 | vertical-align: baseline; 167 | } 168 | 169 | sup { 170 | top: -0.5em; 171 | } 172 | 173 | sub { 174 | bottom: -0.25em; 175 | } 176 | 177 | /* Embedded content 178 | ========================================================================== */ 179 | 180 | /** 181 | * Remove border when inside `a` element in IE 8/9/10. 182 | */ 183 | 184 | img { 185 | border: 0; 186 | } 187 | 188 | /** 189 | * Correct overflow not hidden in IE 9/10/11. 190 | */ 191 | 192 | svg:not(:root) { 193 | overflow: hidden; 194 | } 195 | 196 | /* Grouping content 197 | ========================================================================== */ 198 | 199 | /** 200 | * Address margin not present in IE 8/9 and Safari. 201 | */ 202 | 203 | figure { 204 | margin: 1em 40px; 205 | } 206 | 207 | /** 208 | * Address differences between Firefox and other browsers. 209 | */ 210 | 211 | hr { 212 | box-sizing: content-box; 213 | height: 0; 214 | } 215 | 216 | /** 217 | * Contain overflow in all browsers. 218 | */ 219 | 220 | pre { 221 | overflow: auto; 222 | } 223 | 224 | /** 225 | * Address odd `em`-unit font size rendering in all browsers. 226 | */ 227 | 228 | code, 229 | kbd, 230 | pre, 231 | samp { 232 | font-family: monospace, monospace; 233 | font-size: 1em; 234 | } 235 | 236 | /* Forms 237 | ========================================================================== */ 238 | 239 | /** 240 | * Known limitation: by default, Chrome and Safari on OS X allow very limited 241 | * styling of `select`, unless a `border` property is set. 242 | */ 243 | 244 | /** 245 | * 1. Correct color not being inherited. 246 | * Known issue: affects color of disabled elements. 247 | * 2. Correct font properties not being inherited. 248 | * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. 249 | */ 250 | 251 | button, 252 | input, 253 | optgroup, 254 | select, 255 | textarea { 256 | color: inherit; /* 1 */ 257 | font: inherit; /* 2 */ 258 | margin: 0; /* 3 */ 259 | } 260 | 261 | /** 262 | * Address `overflow` set to `hidden` in IE 8/9/10/11. 263 | */ 264 | 265 | button { 266 | overflow: visible; 267 | } 268 | 269 | /** 270 | * Address inconsistent `text-transform` inheritance for `button` and `select`. 271 | * All other form control elements do not inherit `text-transform` values. 272 | * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. 273 | * Correct `select` style inheritance in Firefox. 274 | */ 275 | 276 | button, 277 | select { 278 | text-transform: none; 279 | } 280 | 281 | /** 282 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` 283 | * and `video` controls. 284 | * 2. Correct inability to style clickable `input` types in iOS. 285 | * 3. Improve usability and consistency of cursor style between image-type 286 | * `input` and others. 287 | */ 288 | 289 | button, 290 | html input[type="button"], /* 1 */ 291 | input[type="reset"], 292 | input[type="submit"] { 293 | -webkit-appearance: button; /* 2 */ 294 | cursor: pointer; /* 3 */ 295 | } 296 | 297 | /** 298 | * Re-set default cursor for disabled elements. 299 | */ 300 | 301 | button[disabled], 302 | html input[disabled] { 303 | cursor: default; 304 | } 305 | 306 | /** 307 | * Remove inner padding and border in Firefox 4+. 308 | */ 309 | 310 | button::-moz-focus-inner, 311 | input::-moz-focus-inner { 312 | border: 0; 313 | padding: 0; 314 | } 315 | 316 | /** 317 | * Address Firefox 4+ setting `line-height` on `input` using `!important` in 318 | * the UA stylesheet. 319 | */ 320 | 321 | input { 322 | line-height: normal; 323 | } 324 | 325 | /** 326 | * It's recommended that you don't attempt to style these elements. 327 | * Firefox's implementation doesn't respect box-sizing, padding, or width. 328 | * 329 | * 1. Address box sizing set to `content-box` in IE 8/9/10. 330 | * 2. Remove excess padding in IE 8/9/10. 331 | */ 332 | 333 | input[type="checkbox"], 334 | input[type="radio"] { 335 | box-sizing: border-box; /* 1 */ 336 | padding: 0; /* 2 */ 337 | } 338 | 339 | /** 340 | * Fix the cursor style for Chrome's increment/decrement buttons. For certain 341 | * `font-size` values of the `input`, it causes the cursor style of the 342 | * decrement button to change from `default` to `text`. 343 | */ 344 | 345 | input[type="number"]::-webkit-inner-spin-button, 346 | input[type="number"]::-webkit-outer-spin-button { 347 | height: auto; 348 | } 349 | 350 | /** 351 | * 1. Address `appearance` set to `searchfield` in Safari and Chrome. 352 | * 2. Address `box-sizing` set to `border-box` in Safari and Chrome 353 | * (include `-moz` to future-proof). 354 | */ 355 | 356 | input[type="search"] { 357 | -webkit-appearance: textfield; /* 1 */ /* 2 */ 358 | box-sizing: content-box; 359 | } 360 | 361 | /** 362 | * Remove inner padding and search cancel button in Safari and Chrome on OS X. 363 | * Safari (but not Chrome) clips the cancel button when the search input has 364 | * padding (and `textfield` appearance). 365 | */ 366 | 367 | input[type="search"]::-webkit-search-cancel-button, 368 | input[type="search"]::-webkit-search-decoration { 369 | -webkit-appearance: none; 370 | } 371 | 372 | /** 373 | * Define consistent border, margin, and padding. 374 | */ 375 | 376 | fieldset { 377 | border: 1px solid #c0c0c0; 378 | margin: 0 2px; 379 | padding: 0.35em 0.625em 0.75em; 380 | } 381 | 382 | /** 383 | * 1. Correct `color` not being inherited in IE 8/9/10/11. 384 | * 2. Remove padding so people aren't caught out if they zero out fieldsets. 385 | */ 386 | 387 | legend { 388 | border: 0; /* 1 */ 389 | padding: 0; /* 2 */ 390 | } 391 | 392 | /** 393 | * Remove default vertical scrollbar in IE 8/9/10/11. 394 | */ 395 | 396 | textarea { 397 | overflow: auto; 398 | } 399 | 400 | /** 401 | * Don't inherit the `font-weight` (applied by a rule above). 402 | * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. 403 | */ 404 | 405 | optgroup { 406 | font-weight: bold; 407 | } 408 | 409 | /* Tables 410 | ========================================================================== */ 411 | 412 | /** 413 | * Remove most spacing between table cells. 414 | */ 415 | 416 | table { 417 | border-collapse: collapse; 418 | border-spacing: 0; 419 | } 420 | 421 | td, 422 | th { 423 | padding: 0; 424 | } 425 | -------------------------------------------------------------------------------- /docs/stylesheets/stylesheet.css: -------------------------------------------------------------------------------- 1 | * { 2 | box-sizing: border-box; } 3 | 4 | body { 5 | padding: 0; 6 | margin: 0; 7 | font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; 8 | font-size: 16px; 9 | line-height: 1.5; 10 | color: #606c71; } 11 | 12 | a { 13 | color: #1e6bb8; 14 | text-decoration: none; } 15 | a:hover { 16 | text-decoration: underline; } 17 | 18 | .btn { 19 | display: inline-block; 20 | margin-bottom: 1rem; 21 | color: rgba(255, 255, 255, 0.7); 22 | background-color: rgba(255, 255, 255, 0.08); 23 | border-color: rgba(255, 255, 255, 0.2); 24 | border-style: solid; 25 | border-width: 1px; 26 | border-radius: 0.3rem; 27 | transition: color 0.2s, background-color 0.2s, border-color 0.2s; } 28 | .btn + .btn { 29 | margin-left: 1rem; } 30 | 31 | .btn:hover { 32 | color: rgba(255, 255, 255, 0.8); 33 | text-decoration: none; 34 | background-color: rgba(255, 255, 255, 0.2); 35 | border-color: rgba(255, 255, 255, 0.3); } 36 | 37 | @media screen and (min-width: 64em) { 38 | .btn { 39 | padding: 0.75rem 1rem; } } 40 | 41 | @media screen and (min-width: 42em) and (max-width: 64em) { 42 | .btn { 43 | padding: 0.6rem 0.9rem; 44 | font-size: 0.9rem; } } 45 | 46 | @media screen and (max-width: 42em) { 47 | .btn { 48 | display: block; 49 | width: 100%; 50 | padding: 0.75rem; 51 | font-size: 0.9rem; } 52 | .btn + .btn { 53 | margin-top: 1rem; 54 | margin-left: 0; } } 55 | 56 | .page-header { 57 | color: #fff; 58 | text-align: center; 59 | background-color: #159957; 60 | background-image: linear-gradient(120deg, #155799, #159957); } 61 | 62 | @media screen and (min-width: 64em) { 63 | .page-header { 64 | padding: 5rem 6rem; } } 65 | 66 | @media screen and (min-width: 42em) and (max-width: 64em) { 67 | .page-header { 68 | padding: 3rem 4rem; } } 69 | 70 | @media screen and (max-width: 42em) { 71 | .page-header { 72 | padding: 2rem 1rem; } } 73 | 74 | .project-name { 75 | margin-top: 0; 76 | margin-bottom: 0.1rem; } 77 | 78 | @media screen and (min-width: 64em) { 79 | .project-name { 80 | font-size: 3.25rem; } } 81 | 82 | @media screen and (min-width: 42em) and (max-width: 64em) { 83 | .project-name { 84 | font-size: 2.25rem; } } 85 | 86 | @media screen and (max-width: 42em) { 87 | .project-name { 88 | font-size: 1.75rem; } } 89 | 90 | .project-tagline { 91 | margin-bottom: 2rem; 92 | font-weight: normal; 93 | opacity: 0.7; } 94 | 95 | @media screen and (min-width: 64em) { 96 | .project-tagline { 97 | font-size: 1.25rem; } } 98 | 99 | @media screen and (min-width: 42em) and (max-width: 64em) { 100 | .project-tagline { 101 | font-size: 1.15rem; } } 102 | 103 | @media screen and (max-width: 42em) { 104 | .project-tagline { 105 | font-size: 1rem; } } 106 | 107 | .main-content :first-child { 108 | margin-top: 0; } 109 | .main-content img { 110 | max-width: 100%; } 111 | .main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { 112 | margin-top: 2rem; 113 | margin-bottom: 1rem; 114 | font-weight: normal; 115 | color: #159957; } 116 | .main-content p { 117 | margin-bottom: 1em; } 118 | .main-content code { 119 | padding: 2px 4px; 120 | font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; 121 | font-size: 0.9rem; 122 | color: #383e41; 123 | background-color: #f3f6fa; 124 | border-radius: 0.3rem; } 125 | .main-content pre { 126 | padding: 0.8rem; 127 | margin-top: 0; 128 | margin-bottom: 1rem; 129 | font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; 130 | color: #567482; 131 | word-wrap: normal; 132 | background-color: #f3f6fa; 133 | border: solid 1px #dce6f0; 134 | border-radius: 0.3rem; } 135 | .main-content pre > code { 136 | padding: 0; 137 | margin: 0; 138 | font-size: 0.9rem; 139 | color: #567482; 140 | word-break: normal; 141 | white-space: pre; 142 | background: transparent; 143 | border: 0; } 144 | .main-content .highlight { 145 | margin-bottom: 1rem; } 146 | .main-content .highlight pre { 147 | margin-bottom: 0; 148 | word-break: normal; } 149 | .main-content .highlight pre, .main-content pre { 150 | padding: 0.8rem; 151 | overflow: auto; 152 | font-size: 0.9rem; 153 | line-height: 1.45; 154 | border-radius: 0.3rem; } 155 | .main-content pre code, .main-content pre tt { 156 | display: inline; 157 | max-width: initial; 158 | padding: 0; 159 | margin: 0; 160 | overflow: initial; 161 | line-height: inherit; 162 | word-wrap: normal; 163 | background-color: transparent; 164 | border: 0; } 165 | .main-content pre code:before, .main-content pre code:after, .main-content pre tt:before, .main-content pre tt:after { 166 | content: normal; } 167 | .main-content ul, .main-content ol { 168 | margin-top: 0; } 169 | .main-content blockquote { 170 | padding: 0 1rem; 171 | margin-left: 0; 172 | color: #819198; 173 | border-left: 0.3rem solid #dce6f0; } 174 | .main-content blockquote > :first-child { 175 | margin-top: 0; } 176 | .main-content blockquote > :last-child { 177 | margin-bottom: 0; } 178 | .main-content table { 179 | display: block; 180 | width: 100%; 181 | overflow: auto; 182 | word-break: normal; 183 | word-break: keep-all; } 184 | .main-content table th { 185 | font-weight: bold; } 186 | .main-content table th, .main-content table td { 187 | padding: 0.5rem 1rem; 188 | border: 1px solid #e9ebec; } 189 | .main-content dl { 190 | padding: 0; } 191 | .main-content dl dt { 192 | padding: 0; 193 | margin-top: 1rem; 194 | font-size: 1rem; 195 | font-weight: bold; } 196 | .main-content dl dd { 197 | padding: 0; 198 | margin-bottom: 1rem; } 199 | .main-content hr { 200 | height: 2px; 201 | padding: 0; 202 | margin: 1rem 0; 203 | background-color: #eff0f1; 204 | border: 0; } 205 | 206 | @media screen and (min-width: 64em) { 207 | .main-content { 208 | max-width: 64rem; 209 | padding: 2rem 6rem; 210 | margin: 0 auto; 211 | font-size: 1.1rem; } } 212 | 213 | @media screen and (min-width: 42em) and (max-width: 64em) { 214 | .main-content { 215 | padding: 2rem 4rem; 216 | font-size: 1.1rem; } } 217 | 218 | @media screen and (max-width: 42em) { 219 | .main-content { 220 | padding: 2rem 1rem; 221 | font-size: 1rem; } } 222 | 223 | .site-footer { 224 | padding-top: 2rem; 225 | margin-top: 2rem; 226 | border-top: solid 1px #eff0f1; } 227 | 228 | .site-footer-owner { 229 | display: block; 230 | font-weight: bold; } 231 | 232 | .site-footer-credits { 233 | color: #819198; } 234 | 235 | @media screen and (min-width: 64em) { 236 | .site-footer { 237 | font-size: 1rem; } } 238 | 239 | @media screen and (min-width: 42em) and (max-width: 64em) { 240 | .site-footer { 241 | font-size: 1rem; } } 242 | 243 | @media screen and (max-width: 42em) { 244 | .site-footer { 245 | font-size: 0.9rem; } } 246 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | mil.nga.sf 5 | sf-wkb 6 | 2.2.4 7 | jar 8 | Simple Features Well-Known Binary 9 | https://github.com/ngageoint/simple-features-wkb-java 10 | Library for writing and reading Simple Feature Geometries to and from Well-Known Binary 11 | 12 | git@github.com:ngageoint/simple-features-wkb-java.git 13 | scm:git:git@github.com:ngageoint/simple-features-wkb-java.git 14 | scm:git:git@github.com:ngageoint/simple-features-wkb-java.git 15 | 16 | 17 | 18 | The MIT License (MIT) 19 | https://github.com/ngageoint/simple-features-wkb-java/blob/master/LICENSE.txt 20 | repo 21 | 22 | 23 | 24 | National Geospatial-Intelligence Agency 25 | https://www.nga.mil/ 26 | 27 | 28 | 29 | bosborn 30 | Brian Osborn 31 | bosborn@caci.com 32 | BIT Systems 33 | https://www.caci.com/bit-systems 34 | 35 | developer 36 | 37 | UTC−07 38 | 39 | 40 | 41 | 11 42 | 11 43 | UTF-8 44 | 45 | 46 | 47 | mil.nga 48 | sf 49 | 2.2.2 50 | 51 | 52 | junit 53 | junit 54 | 4.13.2 55 | test 56 | 57 | 58 | 59 | 60 | 61 | 62 | org.apache.maven.plugins 63 | maven-source-plugin 64 | 3.3.0 65 | 66 | 67 | attach-sources 68 | 69 | jar-no-fork 70 | 71 | 72 | 73 | 74 | 75 | org.apache.maven.plugins 76 | maven-javadoc-plugin 77 | 3.6.3 78 | 79 | 80 | http://ngageoint.github.io/simple-features-java/docs/api/ 81 | 82 | 83 | 84 | 85 | attach-javadocs 86 | 87 | jar 88 | 89 | 90 | -Xdoclint:none 91 | 92 | 93 | 94 | 95 | 96 | org.apache.maven.plugins 97 | maven-gpg-plugin 98 | 3.2.2 99 | 100 | 101 | sign-artifacts 102 | deploy 103 | 104 | sign 105 | 106 | 107 | 108 | 109 | 110 | org.sonatype.plugins 111 | nexus-staging-maven-plugin 112 | 1.6.13 113 | true 114 | 115 | ossrh 116 | https://oss.sonatype.org/ 117 | true 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | ossrh 126 | https://oss.sonatype.org/content/repositories/snapshots 127 | 128 | 129 | ossrh 130 | https://oss.sonatype.org/service/local/staging/deploy/maven2/ 131 | 132 | 133 | 134 | 135 | -------------------------------------------------------------------------------- /src/main/java/mil/nga/sf/wkb/GeometryCodes.java: -------------------------------------------------------------------------------- 1 | package mil.nga.sf.wkb; 2 | 3 | import mil.nga.sf.CircularString; 4 | import mil.nga.sf.Geometry; 5 | import mil.nga.sf.GeometryType; 6 | import mil.nga.sf.LineString; 7 | import mil.nga.sf.MultiLineString; 8 | import mil.nga.sf.util.SFException; 9 | 10 | /** 11 | * Geometry Code utilities to convert between geometry attributes and geometry 12 | * codes 13 | * 14 | * @author osbornb 15 | */ 16 | public class GeometryCodes { 17 | 18 | /** 19 | * Get the geometry code from the geometry 20 | * 21 | * @param geometry 22 | * geometry 23 | * @return geometry code 24 | */ 25 | public static int getCode(Geometry geometry) { 26 | return getCode(geometry.getGeometryType(), geometry.hasZ(), 27 | geometry.hasM()); 28 | } 29 | 30 | /** 31 | * Get the geometry code from the geometry type 32 | * 33 | * @param geometryType 34 | * geometry type 35 | * @param hasZ 36 | * has z 37 | * @param hasM 38 | * mas m 39 | * @return geometry code 40 | * @since 2.0.3 41 | */ 42 | public static int getCode(GeometryType geometryType, boolean hasZ, 43 | boolean hasM) { 44 | int code = getCode(geometryType); 45 | if (hasZ) { 46 | code += 1000; 47 | } 48 | if (hasM) { 49 | code += 2000; 50 | } 51 | return code; 52 | } 53 | 54 | /** 55 | * Get the geometry code from the geometry type 56 | * 57 | * @param geometryType 58 | * geometry type 59 | * @return geometry code 60 | */ 61 | public static int getCode(GeometryType geometryType) { 62 | 63 | int code; 64 | 65 | switch (geometryType) { 66 | case GEOMETRY: 67 | code = 0; 68 | break; 69 | case POINT: 70 | code = 1; 71 | break; 72 | case LINESTRING: 73 | code = 2; 74 | break; 75 | case POLYGON: 76 | code = 3; 77 | break; 78 | case MULTIPOINT: 79 | code = 4; 80 | break; 81 | case MULTILINESTRING: 82 | code = 5; 83 | break; 84 | case MULTIPOLYGON: 85 | code = 6; 86 | break; 87 | case GEOMETRYCOLLECTION: 88 | code = 7; 89 | break; 90 | case CIRCULARSTRING: 91 | code = 8; 92 | break; 93 | case COMPOUNDCURVE: 94 | code = 9; 95 | break; 96 | case CURVEPOLYGON: 97 | code = 10; 98 | break; 99 | case MULTICURVE: 100 | code = 11; 101 | break; 102 | case MULTISURFACE: 103 | code = 12; 104 | break; 105 | case CURVE: 106 | code = 13; 107 | break; 108 | case SURFACE: 109 | code = 14; 110 | break; 111 | case POLYHEDRALSURFACE: 112 | code = 15; 113 | break; 114 | case TIN: 115 | code = 16; 116 | break; 117 | case TRIANGLE: 118 | code = 17; 119 | break; 120 | default: 121 | throw new SFException( 122 | "Unsupported Geometry Type for code retrieval: " 123 | + geometryType); 124 | } 125 | 126 | return code; 127 | } 128 | 129 | /** 130 | * Get the well-known binary writable geometry code from the geometry 131 | * 132 | * @param geometry 133 | * geometry 134 | * @return geometry code 135 | * @since 2.2.1 136 | */ 137 | public static int getWKBCode(Geometry geometry) { 138 | return getCode(getWKBGeometryType(geometry), geometry.hasZ(), 139 | geometry.hasM()); 140 | } 141 | 142 | /** 143 | * Get the well-known binary writable geometry type from the geometry 144 | * 145 | * @param geometry 146 | * geometry 147 | * @return geometry type 148 | * @since 2.2.1 149 | */ 150 | public static GeometryType getWKBGeometryType(Geometry geometry) { 151 | GeometryType type = geometry.getGeometryType(); 152 | if (!geometry.isEmpty()) { 153 | switch (type) { 154 | case MULTILINESTRING: 155 | LineString lineString = ((MultiLineString) geometry) 156 | .getLineString(0); 157 | if (lineString instanceof CircularString) { 158 | type = GeometryType.MULTICURVE; 159 | } 160 | break; 161 | default: 162 | } 163 | } 164 | return type; 165 | } 166 | 167 | /** 168 | * Get the Geometry Type from the code 169 | * 170 | * @param code 171 | * geometry type code 172 | * @return geometry type 173 | */ 174 | public static GeometryType getGeometryType(int code) { 175 | 176 | // Look at the last 2 digits to find the geometry type code 177 | int geometryTypeCode = code % 1000; 178 | 179 | GeometryType geometryType = null; 180 | 181 | switch (geometryTypeCode) { 182 | case 0: 183 | geometryType = GeometryType.GEOMETRY; 184 | break; 185 | case 1: 186 | geometryType = GeometryType.POINT; 187 | break; 188 | case 2: 189 | geometryType = GeometryType.LINESTRING; 190 | break; 191 | case 3: 192 | geometryType = GeometryType.POLYGON; 193 | break; 194 | case 4: 195 | geometryType = GeometryType.MULTIPOINT; 196 | break; 197 | case 5: 198 | geometryType = GeometryType.MULTILINESTRING; 199 | break; 200 | case 6: 201 | geometryType = GeometryType.MULTIPOLYGON; 202 | break; 203 | case 7: 204 | geometryType = GeometryType.GEOMETRYCOLLECTION; 205 | break; 206 | case 8: 207 | geometryType = GeometryType.CIRCULARSTRING; 208 | break; 209 | case 9: 210 | geometryType = GeometryType.COMPOUNDCURVE; 211 | break; 212 | case 10: 213 | geometryType = GeometryType.CURVEPOLYGON; 214 | break; 215 | case 11: 216 | geometryType = GeometryType.MULTICURVE; 217 | break; 218 | case 12: 219 | geometryType = GeometryType.MULTISURFACE; 220 | break; 221 | case 13: 222 | geometryType = GeometryType.CURVE; 223 | break; 224 | case 14: 225 | geometryType = GeometryType.SURFACE; 226 | break; 227 | case 15: 228 | geometryType = GeometryType.POLYHEDRALSURFACE; 229 | break; 230 | case 16: 231 | geometryType = GeometryType.TIN; 232 | break; 233 | case 17: 234 | geometryType = GeometryType.TRIANGLE; 235 | break; 236 | default: 237 | throw new SFException( 238 | "Unsupported Geometry code for type retrieval: " + code); 239 | } 240 | 241 | return geometryType; 242 | } 243 | 244 | /** 245 | * Determine if the geometry code has a Z (3D) value 246 | * 247 | * @param code 248 | * geometry code 249 | * @return true is has Z 250 | */ 251 | public static boolean hasZ(int code) { 252 | 253 | boolean hasZ = false; 254 | 255 | int mode = getGeometryMode(code); 256 | 257 | switch (mode) { 258 | case 0: 259 | case 2: 260 | break; 261 | case 1: 262 | case 3: 263 | hasZ = true; 264 | break; 265 | default: 266 | throw new SFException( 267 | "Unexpected Geometry code for Z determination: " + code); 268 | } 269 | 270 | return hasZ; 271 | } 272 | 273 | /** 274 | * Determine if the geometry code has a M (linear referencing system) value 275 | * 276 | * @param code 277 | * geometry code 278 | * @return true is has M 279 | */ 280 | public static boolean hasM(int code) { 281 | 282 | boolean hasM = false; 283 | 284 | int mode = getGeometryMode(code); 285 | 286 | switch (mode) { 287 | case 0: 288 | case 1: 289 | break; 290 | case 2: 291 | case 3: 292 | hasM = true; 293 | break; 294 | default: 295 | throw new SFException( 296 | "Unexpected Geometry code for M determination: " + code); 297 | } 298 | 299 | return hasM; 300 | } 301 | 302 | /** 303 | * Get the geometry mode from the geometry code. Returns the digit in the 304 | * thousands place. (z is enabled when 1 or 3, m is enabled when 2 or 3) 305 | * 306 | * @param code 307 | * geometry code 308 | * @return geometry mode 309 | */ 310 | public static int getGeometryMode(int code) { 311 | return code / 1000; 312 | } 313 | 314 | } 315 | -------------------------------------------------------------------------------- /src/main/java/mil/nga/sf/wkb/GeometryTypeInfo.java: -------------------------------------------------------------------------------- 1 | package mil.nga.sf.wkb; 2 | 3 | import mil.nga.sf.GeometryType; 4 | 5 | /** 6 | * Geometry type info 7 | * 8 | * @author osbornb 9 | */ 10 | public class GeometryTypeInfo { 11 | 12 | /** 13 | * Geometry type code 14 | */ 15 | private final int geometryTypeCode; 16 | 17 | /** 18 | * Geometry type 19 | */ 20 | private final GeometryType geometryType; 21 | 22 | /** 23 | * Has Z values flag 24 | */ 25 | private final boolean hasZ; 26 | 27 | /** 28 | * Has M values flag 29 | */ 30 | private final boolean hasM; 31 | 32 | /** 33 | * Constructor 34 | * 35 | * @param geometryTypeCode 36 | * geometry type code 37 | * @param geometryType 38 | * geometry type 39 | * @param hasZ 40 | * has z 41 | * @param hasM 42 | * has m 43 | */ 44 | GeometryTypeInfo(int geometryTypeCode, GeometryType geometryType, 45 | boolean hasZ, boolean hasM) { 46 | this.geometryTypeCode = geometryTypeCode; 47 | this.geometryType = geometryType; 48 | this.hasZ = hasZ; 49 | this.hasM = hasM; 50 | } 51 | 52 | /** 53 | * Get the geometry type code 54 | * 55 | * @return geometry type code 56 | */ 57 | public int getGeometryTypeCode() { 58 | return geometryTypeCode; 59 | } 60 | 61 | /** 62 | * Get the geometry type 63 | * 64 | * @return geometry type 65 | */ 66 | public GeometryType getGeometryType() { 67 | return geometryType; 68 | } 69 | 70 | /** 71 | * Has z values 72 | * 73 | * @return true if has z values 74 | */ 75 | public boolean hasZ() { 76 | return hasZ; 77 | } 78 | 79 | /** 80 | * Has m values 81 | * 82 | * @return true if has m values 83 | */ 84 | public boolean hasM() { 85 | return hasM; 86 | } 87 | 88 | } 89 | -------------------------------------------------------------------------------- /src/test/java/mil/nga/sf/wkb/ReadmeTest.java: -------------------------------------------------------------------------------- 1 | package mil.nga.sf.wkb; 2 | 3 | import java.io.IOException; 4 | 5 | import org.junit.Test; 6 | 7 | import junit.framework.TestCase; 8 | import mil.nga.sf.Geometry; 9 | import mil.nga.sf.GeometryType; 10 | import mil.nga.sf.Point; 11 | 12 | /** 13 | * README example tests 14 | * 15 | * @author osbornb 16 | */ 17 | public class ReadmeTest { 18 | 19 | /** 20 | * Geometry 21 | */ 22 | private static final Geometry GEOMETRY = new Point(1.0, 1.0); 23 | 24 | /** 25 | * {@link #GEOMETRY} bytes 26 | */ 27 | private static final byte[] BYTES = new byte[] { 0, 0, 0, 0, 1, 63, -16, 0, 28 | 0, 0, 0, 0, 0, 63, -16, 0, 0, 0, 0, 0, 0 }; 29 | 30 | /** 31 | * Test read 32 | * 33 | * @throws IOException 34 | * upon error 35 | */ 36 | @Test 37 | public void testRead() throws IOException { 38 | 39 | Geometry geometry = testRead(BYTES); 40 | 41 | TestCase.assertEquals(GEOMETRY, geometry); 42 | 43 | } 44 | 45 | /** 46 | * Test read 47 | * 48 | * @param bytes 49 | * bytes 50 | * @return geometry 51 | * @throws IOException 52 | * upon error 53 | */ 54 | private Geometry testRead(byte[] bytes) throws IOException { 55 | 56 | // byte[] bytes = ... 57 | 58 | Geometry geometry = GeometryReader.readGeometry(bytes); 59 | GeometryType geometryType = geometry.getGeometryType(); 60 | 61 | return geometry; 62 | } 63 | 64 | /** 65 | * Test write 66 | * 67 | * @throws IOException 68 | * upon error 69 | */ 70 | @Test 71 | public void testWrite() throws IOException { 72 | 73 | byte[] bytes = testWrite(GEOMETRY); 74 | 75 | WKBTestUtils.compareByteArrays(BYTES, bytes); 76 | 77 | } 78 | 79 | /** 80 | * Test write 81 | * 82 | * @param geometry 83 | * geometry 84 | * @return bytes 85 | * @throws IOException 86 | * upon error 87 | */ 88 | private byte[] testWrite(Geometry geometry) throws IOException { 89 | 90 | // Geometry geometry = ... 91 | 92 | byte[] bytes = GeometryWriter.writeGeometry(geometry); 93 | 94 | return bytes; 95 | } 96 | 97 | } 98 | --------------------------------------------------------------------------------