├── .circleci ├── config.yml └── sonar.sh ├── .github ├── PULL_REQUEST_TEMPLATE.md ├── workflow_data │ └── secret.gpg.aes256 ├── workflow_scripts │ ├── decrypt_gpg_key.sh │ ├── deploy.sh │ ├── merge-dev-to-main.sh │ ├── sonar.sh │ ├── tag-main.sh │ └── update_project_version.sh └── workflows │ └── ci.yml ├── .gitignore ├── .travis.yml ├── .travis ├── build-pyatlas-gate.sh ├── build.sh ├── deploy-gate.sh ├── deploy.sh ├── install.sh ├── merge-dev-to-main-gate.sh ├── merge-dev-to-main.sh ├── secring.gpg.enc ├── sonar-gate.sh ├── sonar.sh ├── tag-main-gate.sh ├── tag-main.sh └── trigger-release.sh ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── atlas-shell-tools ├── .atlas-shell-tools-integrity-file ├── README.md ├── ast_completions.bash ├── ast_completions.zsh ├── man │ ├── man1 │ │ ├── atlas-config-activate.1 │ │ ├── atlas-config-deactivate.1 │ │ ├── atlas-config-install.1 │ │ ├── atlas-config-list.1 │ │ ├── atlas-config-log.1 │ │ ├── atlas-config-preset.1 │ │ ├── atlas-config-repo.1 │ │ ├── atlas-config-reset.1 │ │ ├── atlas-config-sync.1 │ │ ├── atlas-config-uninstall.1 │ │ ├── atlas-config-update.1 │ │ ├── atlas-config.1 │ │ └── atlas.1 │ ├── man5 │ │ └── atlas-plumbing.5 │ └── man7 │ │ ├── atlas-cli.7 │ │ ├── atlas-cookbook.7 │ │ ├── atlas-environment.7 │ │ ├── atlas-glossary.7 │ │ ├── atlas-presets.7 │ │ └── atlas-shell-tools.7 ├── quick_install_bash.sh ├── quick_install_zsh.sh └── scripts │ ├── atlas │ ├── atlas-config │ └── common │ ├── ast_completions.pm │ ├── ast_log_subsystem.pm │ ├── ast_module_subsystem.pm │ ├── ast_preset_subsystem.pm │ ├── ast_repo_subsystem.pm │ ├── ast_tty.pm │ └── ast_utilities.pm ├── build.gradle ├── config ├── checkstyle │ ├── arrangement.txt │ ├── checkstyle.xml │ └── suppressions.xml ├── format │ └── code_format.xml └── log4j │ └── log4j.properties ├── dependencies.gradle ├── gradle.properties ├── gradle ├── deployment.gradle ├── dropSonatype.sh ├── protobuf.gradle ├── pyatlas.gradle ├── quality.gradle ├── releaseSonatype.sh ├── uploadAndRelease.sh ├── uploadToNexus.sh └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── images ├── atlas.png └── slf4j.png ├── pyatlas ├── README.md ├── clean.sh ├── doc │ └── how_to_get_the_docs.txt ├── format.sh ├── package.sh ├── pyatlas │ ├── __init__.py │ ├── atlas.py │ ├── atlas_entities.py │ ├── atlas_metadata.py │ ├── autogen │ │ └── __init__.py │ ├── geometry.py │ ├── identifier_converters.py │ ├── pyatlas_globalfunc.py │ └── spatial_index.py ├── resources │ ├── CreateTestAtlas.java │ └── test.atlas ├── setup.py ├── style.yapf ├── test.sh ├── unit_tests │ ├── test_atlas.py │ ├── test_identifier_converters.py │ ├── test_location.py │ ├── test_polygon_converters.py │ ├── test_polyline_polygon.py │ ├── test_rectangle.py │ └── test_spatial_index.py ├── venv.sh └── yapf_format.py ├── sample ├── Readme.md ├── build.gradle ├── settings.gradle └── src │ └── main │ ├── java │ └── org │ │ └── openstreetmap │ │ └── atlas │ │ └── sample │ │ └── Sample.java │ └── resources │ └── log4j.properties ├── scripts └── log4j-atlas │ └── log4j.properties ├── settings.gradle └── src ├── integrationTest ├── java │ └── org │ │ └── openstreetmap │ │ └── atlas │ │ └── geography │ │ ├── PolygonPerformanceTest.java │ │ ├── atlas │ │ ├── AtlasIntegrationTest.java │ │ ├── SubAtlasIntegrationTest.java │ │ ├── builder │ │ │ └── text │ │ │ │ └── TextAtlasBuilderIntegrationTest.java │ │ ├── delta │ │ │ ├── AtlasDeltaGeoJsonIntegrationTest.java │ │ │ └── AtlasDeltaIntegrationTest.java │ │ ├── dynamic │ │ │ └── DynamicAtlasIntegrationTest.java │ │ ├── items │ │ │ ├── AtlasEntityTypeTest.java │ │ │ └── complex │ │ │ │ └── boundaries │ │ │ │ ├── ComplexBoundariesIntegrationTest.java │ │ │ │ └── ComplexBoundaryIntegrationTestRule.java │ │ ├── multi │ │ │ ├── MultiAtlasIntegrationTest.java │ │ │ └── MultiAtlasIntegrationTestRule.java │ │ ├── packed │ │ │ ├── PackedAtlasClonerIntegrationTest.java │ │ │ └── PackedAtlasIntegrationTest.java │ │ ├── pbf │ │ │ ├── OsmPbfIngestIntegrationTest.java │ │ │ └── slicing │ │ │ │ └── AtlasSectionProcessorIntegrationTest.java │ │ ├── raw │ │ │ ├── DynamicRawAtlasSectioningTestRule.java │ │ │ └── RawAtlasIntegrationTest.java │ │ └── routing │ │ │ └── AtlasRoutingIntegrationTest.java │ │ └── boundary │ │ ├── CountryBoundaryMapArchiverIntegrationTest.java │ │ └── CountryBoundaryMapIntegrationTest.java └── resources │ └── org │ └── openstreetmap │ └── atlas │ └── geography │ ├── atlas │ ├── CUB_7-37-56.txt.gz │ ├── delta │ │ ├── DMA_9-168-233-alter.txt.gz │ │ └── DMA_9-168-233-base.txt.gz │ ├── dynamic │ │ ├── DMA_9-168-233.atlas.txt.gz │ │ └── DMA_9-168-234.atlas.txt.gz │ ├── items │ │ └── complex │ │ │ └── boundaries │ │ │ └── HTI-DOM-Boundaries.atlas.txt.gz │ ├── pbf │ │ ├── BHS-6-18-27.pbf │ │ ├── BLZ_raw_08242015.osm.pbf │ │ ├── CUB_72-111.pbf │ │ └── CUB_osm_boundaries.txt.gz │ └── raw │ │ ├── 8-122-122-trimmed.osm.pbf │ │ ├── CIV_GIN_LBR_osm_boundaries_with_grid_index.txt.gz │ │ ├── layerIntersectionAtEndBoundaryMap.txt │ │ ├── layerIntersectionAtStartBoundaryMap.txt │ │ ├── layerIntersectionInMiddleBoundaryMap.txt │ │ ├── node-4353689487.pbf │ │ ├── twoWaysWithDifferentLayersIntersectingAtEnd.pbf │ │ ├── twoWaysWithDifferentLayersIntersectingAtStart.pbf │ │ └── twoWaysWithDifferentLayersIntersectingInMiddle.pbf │ └── boundary │ └── oceanTestBoundary.txt ├── main ├── java │ └── org │ │ └── openstreetmap │ │ └── atlas │ │ ├── event │ │ ├── Event.java │ │ ├── EventService.java │ │ ├── EventServiceable.java │ │ ├── Processor.java │ │ ├── README.md │ │ └── ShutdownEvent.java │ │ ├── exception │ │ ├── CoreException.java │ │ ├── ExceptionSearch.java │ │ ├── LoadAtlasFromResourceException.java │ │ └── change │ │ │ ├── FeatureChangeMergeException.java │ │ │ └── MergeFailureType.java │ │ ├── geography │ │ ├── Altitude.java │ │ ├── CompressedPolyLine.java │ │ ├── CompressedPolygon.java │ │ ├── GeometricObject.java │ │ ├── GeometricSurface.java │ │ ├── GeometryPrintable.java │ │ ├── Heading.java │ │ ├── Latitude.java │ │ ├── Located.java │ │ ├── Location.java │ │ ├── Longitude.java │ │ ├── MultiPolyLine.java │ │ ├── MultiPolygon.java │ │ ├── PolyLine.java │ │ ├── Polygon.java │ │ ├── README.md │ │ ├── Rectangle.java │ │ ├── Segment.java │ │ ├── Snapper.java │ │ ├── StringCompressedPolyLine.java │ │ ├── StringCompressedPolygon.java │ │ ├── WkbPrintable.java │ │ ├── WktPrintable.java │ │ ├── atlas │ │ │ ├── AbstractAtlas.java │ │ │ ├── Atlas.java │ │ │ ├── AtlasLoadingCommand.java │ │ │ ├── AtlasMetaData.java │ │ │ ├── AtlasResourceLoader.java │ │ │ ├── BareAtlas.java │ │ │ ├── Crawler.java │ │ │ ├── README.md │ │ │ ├── ShardFileOverlapsPolygon.java │ │ │ ├── builder │ │ │ │ ├── AtlasBuilder.java │ │ │ │ ├── AtlasSize.java │ │ │ │ ├── GeoJsonAtlasBuilder.java │ │ │ │ ├── RelationBean.java │ │ │ │ ├── store │ │ │ │ │ ├── AtlasPrimitiveArea.java │ │ │ │ │ ├── AtlasPrimitiveBigNode.java │ │ │ │ │ ├── AtlasPrimitiveEdge.java │ │ │ │ │ ├── AtlasPrimitiveEdgeIdentifier.java │ │ │ │ │ ├── AtlasPrimitiveEntity.java │ │ │ │ │ ├── AtlasPrimitiveLineItem.java │ │ │ │ │ ├── AtlasPrimitiveLocationItem.java │ │ │ │ │ ├── AtlasPrimitiveObjectStore.java │ │ │ │ │ ├── AtlasPrimitiveRelation.java │ │ │ │ │ ├── AtlasPrimitiveRoute.java │ │ │ │ │ ├── AtlasPrimitiveRouteIdentifier.java │ │ │ │ │ └── TemporaryObjectStore.java │ │ │ │ └── text │ │ │ │ │ └── TextAtlasBuilder.java │ │ │ ├── change │ │ │ │ ├── AtlasChangeGenerator.java │ │ │ │ ├── AtlasEntityKey.java │ │ │ │ ├── Change.java │ │ │ │ ├── ChangeArea.java │ │ │ │ ├── ChangeAtlas.java │ │ │ │ ├── ChangeBuilder.java │ │ │ │ ├── ChangeEdge.java │ │ │ │ ├── ChangeEntity.java │ │ │ │ ├── ChangeLine.java │ │ │ │ ├── ChangeNode.java │ │ │ │ ├── ChangePoint.java │ │ │ │ ├── ChangeRelation.java │ │ │ │ ├── ChangeType.java │ │ │ │ ├── FeatureChange.java │ │ │ │ ├── FeatureChangeBoundsExpander.java │ │ │ │ ├── FeatureChangeMergeGroup.java │ │ │ │ ├── FeatureChangeMergingHelpers.java │ │ │ │ ├── MemberMergeStrategies.java │ │ │ │ ├── MemberMerger.java │ │ │ │ ├── description │ │ │ │ │ ├── ChangeDescription.java │ │ │ │ │ ├── ChangeDescriptorGenerator.java │ │ │ │ │ ├── ChangeDescriptorType.java │ │ │ │ │ └── descriptors │ │ │ │ │ │ ├── ChangeDescriptor.java │ │ │ │ │ │ ├── ChangeDescriptorComparator.java │ │ │ │ │ │ ├── ChangeDescriptorName.java │ │ │ │ │ │ ├── GeometricRelationGeometryChangeDescriptor.java │ │ │ │ │ │ ├── GeometryChangeDescriptor.java │ │ │ │ │ │ ├── LongElementChangeDescriptor.java │ │ │ │ │ │ ├── RelationMemberChangeDescriptor.java │ │ │ │ │ │ └── TagChangeDescriptor.java │ │ │ │ ├── diff │ │ │ │ │ ├── AtlasDiff.java │ │ │ │ │ └── AtlasDiffHelper.java │ │ │ │ ├── eventhandling │ │ │ │ │ ├── event │ │ │ │ │ │ ├── EntityChangeEvent.java │ │ │ │ │ │ ├── TagChangeEvent.java │ │ │ │ │ │ └── consts │ │ │ │ │ │ │ └── FieldChangeOperation.java │ │ │ │ │ ├── listenable │ │ │ │ │ │ ├── EntityChangeListenable.java │ │ │ │ │ │ └── TagChangeListenable.java │ │ │ │ │ └── listener │ │ │ │ │ │ ├── EntityChangeListener.java │ │ │ │ │ │ └── TagChangeListener.java │ │ │ │ ├── exception │ │ │ │ │ └── EmptyChangeException.java │ │ │ │ ├── serializer │ │ │ │ │ ├── ChangeGeoJsonSerializer.java │ │ │ │ │ └── FeatureChangeGeoJsonSerializer.java │ │ │ │ ├── testing │ │ │ │ │ ├── AtlasChangeGeneratorAddTurnRestrictions.java │ │ │ │ │ ├── AtlasChangeGeneratorRemoveReverseEdges.java │ │ │ │ │ └── AtlasChangeGeneratorSplitRoundabout.java │ │ │ │ └── validators │ │ │ │ │ └── ChangeValidator.java │ │ │ ├── changeset │ │ │ │ ├── BinaryChangeSetDeserializer.java │ │ │ │ ├── BinaryChangeSetSerializer.java │ │ │ │ ├── ChangeAction.java │ │ │ │ ├── ChangeItem.java │ │ │ │ ├── ChangeItemMember.java │ │ │ │ ├── ChangeSet.java │ │ │ │ ├── ChangeSetAtlasBuilder.java │ │ │ │ ├── ChangeSetDeserializer.java │ │ │ │ ├── ChangeSetSerializer.java │ │ │ │ ├── GeoJSONChangeSetSerializer.java │ │ │ │ ├── MutableChangeItem.java │ │ │ │ ├── SimpleChangeItem.java │ │ │ │ ├── SimpleChangeItemMember.java │ │ │ │ └── SimpleChangeSet.java │ │ │ ├── command │ │ │ │ ├── AbstractAtlasOutputTestSubCommand.java │ │ │ │ ├── AbstractAtlasSubCommand.java │ │ │ │ ├── AtlasCommandConstants.java │ │ │ │ ├── AtlasCountriesSubCommand.java │ │ │ │ ├── AtlasFeatureCountsSubCommand.java │ │ │ │ ├── AtlasFindByAtlasIdentifierSubCommand.java │ │ │ │ ├── AtlasFindByFeatureIdentifierLocatorSubCommand.java │ │ │ │ ├── AtlasFindEntitiesByIdSubCommand.java │ │ │ │ ├── AtlasGeoJSONSubCommand.java │ │ │ │ ├── AtlasItemsWithSharedShapepointsSubCommand.java │ │ │ │ ├── AtlasJoinerSubCommand.java │ │ │ │ ├── AtlasListRestrictedPathsCommand.java │ │ │ │ ├── AtlasListValidTurnRestrictionIds.java │ │ │ │ ├── AtlasMetadataSubCommand.java │ │ │ │ ├── AtlasMissingISOSubCommand.java │ │ │ │ ├── AtlasReader.java │ │ │ │ ├── AtlasResourceLoaderErrorSubCommand.java │ │ │ │ ├── AtlasSplitterWithSlippyTileCommand.java │ │ │ │ ├── FerrySearchSubCommand.java │ │ │ │ ├── OsmPbfToAtlasSubCommand.java │ │ │ │ ├── PackedToTextAtlasSubCommand.java │ │ │ │ ├── SubAtlasSubCommand.java │ │ │ │ ├── TextToPackedAtlasSubCommand.java │ │ │ │ └── buildings │ │ │ │ │ ├── AtlasFindBuildingPartsSubCommand.java │ │ │ │ │ ├── BuildingsWithHeightSearchSubCommand.java │ │ │ │ │ └── TinyBuildingsSearchSubCommand.java │ │ │ ├── complete │ │ │ │ ├── CompleteArea.java │ │ │ │ ├── CompleteEdge.java │ │ │ │ ├── CompleteEntity.java │ │ │ │ ├── CompleteItemType.java │ │ │ │ ├── CompleteLine.java │ │ │ │ ├── CompleteLineItem.java │ │ │ │ ├── CompleteLocationItem.java │ │ │ │ ├── CompleteNode.java │ │ │ │ ├── CompletePoint.java │ │ │ │ ├── CompleteRelation.java │ │ │ │ ├── EmptyAtlas.java │ │ │ │ ├── PrettifyStringFormat.java │ │ │ │ └── TagChangeDelegate.java │ │ │ ├── converters │ │ │ │ └── AtlasDebugTool.java │ │ │ ├── delta │ │ │ │ ├── AtlasDelta.java │ │ │ │ ├── AtlasDeltaGenerator.java │ │ │ │ ├── Diff.java │ │ │ │ └── README.md │ │ │ ├── dynamic │ │ │ │ ├── DynamicArea.java │ │ │ │ ├── DynamicAtlas.java │ │ │ │ ├── DynamicAtlasExpander.java │ │ │ │ ├── DynamicEdge.java │ │ │ │ ├── DynamicLine.java │ │ │ │ ├── DynamicNode.java │ │ │ │ ├── DynamicPoint.java │ │ │ │ ├── DynamicRelation.java │ │ │ │ ├── README.md │ │ │ │ └── policy │ │ │ │ │ ├── DynamicAtlasPolicy.java │ │ │ │ │ └── DynamicAtlasResourcePolicy.java │ │ │ ├── exception │ │ │ │ └── AtlasIntegrityException.java │ │ │ ├── geojson │ │ │ │ ├── AtlasGeoJsonConverter.java │ │ │ │ └── LineDelimitedGeoJsonConverter.java │ │ │ ├── inspection │ │ │ │ └── EntityClassifier.java │ │ │ ├── items │ │ │ │ ├── Area.java │ │ │ │ ├── AtlasEntity.java │ │ │ │ ├── AtlasItem.java │ │ │ │ ├── AtlasObject.java │ │ │ │ ├── ConnectedEdgeType.java │ │ │ │ ├── ConnectedEntityType.java │ │ │ │ ├── ConnectedNodeType.java │ │ │ │ ├── DiffViewFriendlyItem.java │ │ │ │ ├── DirectionalizedEdge.java │ │ │ │ ├── Edge.java │ │ │ │ ├── ItemType.java │ │ │ │ ├── Line.java │ │ │ │ ├── LineItem.java │ │ │ │ ├── LocationItem.java │ │ │ │ ├── Node.java │ │ │ │ ├── Point.java │ │ │ │ ├── README.md │ │ │ │ ├── Relation.java │ │ │ │ ├── RelationMember.java │ │ │ │ ├── RelationMemberList.java │ │ │ │ ├── Route.java │ │ │ │ ├── SnappedEdge.java │ │ │ │ ├── SnappedLineItem.java │ │ │ │ ├── TurnRestriction.java │ │ │ │ └── complex │ │ │ │ │ ├── ComplexEntity.java │ │ │ │ │ ├── Finder.java │ │ │ │ │ ├── MultiPolygonRelationToMemberConverter.java │ │ │ │ │ ├── README.md │ │ │ │ │ ├── RelationOrAreaToMultiPolygonConverter.java │ │ │ │ │ ├── RelationToMultiPolygonMemberConverter.java │ │ │ │ │ ├── WaterIslandConfigurationReader.java │ │ │ │ │ ├── aoi │ │ │ │ │ ├── ComplexAreaOfInterest.java │ │ │ │ │ └── ComplexAreaOfInterestFinder.java │ │ │ │ │ ├── bignode │ │ │ │ │ ├── BigNode.java │ │ │ │ │ ├── BigNodeFinder.java │ │ │ │ │ ├── README.md │ │ │ │ │ ├── RestrictedPath.java │ │ │ │ │ └── converters │ │ │ │ │ │ ├── AtlasBigNodeRestrictedPathToGeoJsonConverter.java │ │ │ │ │ │ └── AtlasBigNodesToGeoJsonConverter.java │ │ │ │ │ ├── boundaries │ │ │ │ │ ├── ComplexBoundary.java │ │ │ │ │ ├── ComplexBoundaryFinder.java │ │ │ │ │ └── converters │ │ │ │ │ │ └── ComplexBoundaryIterableToGeoJsonWriter.java │ │ │ │ │ ├── buildings │ │ │ │ │ ├── BuildingPart.java │ │ │ │ │ ├── ComplexBuilding.java │ │ │ │ │ ├── ComplexBuildingFinder.java │ │ │ │ │ ├── HeightConverter.java │ │ │ │ │ └── converters │ │ │ │ │ │ └── ComplexBuildingToGeojsonConverter.java │ │ │ │ │ ├── highwayarea │ │ │ │ │ ├── ComplexHighwayArea.java │ │ │ │ │ ├── ComplexHighwayAreaFinder.java │ │ │ │ │ └── ComplexHighwayAreaHelper.java │ │ │ │ │ ├── islands │ │ │ │ │ ├── ComplexIsland.java │ │ │ │ │ ├── ComplexIslandFinder.java │ │ │ │ │ └── DefaultIslandConfigurationReader.java │ │ │ │ │ ├── landcover │ │ │ │ │ ├── ComplexLandCover.java │ │ │ │ │ └── ComplexLandCoverFinder.java │ │ │ │ │ ├── restriction │ │ │ │ │ ├── ComplexTurnRestriction.java │ │ │ │ │ ├── ComplexTurnRestrictionFinder.java │ │ │ │ │ └── converters │ │ │ │ │ │ └── AtlasTurnRestrictionsToGeoJsonConverter.java │ │ │ │ │ ├── roundabout │ │ │ │ │ ├── ComplexRoundabout.java │ │ │ │ │ └── ComplexRoundaboutFinder.java │ │ │ │ │ └── water │ │ │ │ │ ├── ComplexWaterEntity.java │ │ │ │ │ ├── ComplexWaterbody.java │ │ │ │ │ ├── ComplexWaterway.java │ │ │ │ │ ├── WaterType.java │ │ │ │ │ └── finder │ │ │ │ │ ├── ComplexWaterEntityFinder.java │ │ │ │ │ ├── DefaultWaterConfigurationReader.java │ │ │ │ │ └── WaterConfigurationReader.java │ │ │ ├── lightweight │ │ │ │ ├── LightArea.java │ │ │ │ ├── LightEdge.java │ │ │ │ ├── LightEntity.java │ │ │ │ ├── LightLine.java │ │ │ │ ├── LightLineItem.java │ │ │ │ ├── LightLocationItem.java │ │ │ │ ├── LightNode.java │ │ │ │ ├── LightPoint.java │ │ │ │ └── LightRelation.java │ │ │ ├── multi │ │ │ │ ├── MultiArea.java │ │ │ │ ├── MultiAtlas.java │ │ │ │ ├── MultiAtlasLoaderCommand.java │ │ │ │ ├── MultiAtlasOverlappingNodesFixer.java │ │ │ │ ├── MultiEdge.java │ │ │ │ ├── MultiLine.java │ │ │ │ ├── MultiNode.java │ │ │ │ ├── MultiPoint.java │ │ │ │ ├── MultiRelation.java │ │ │ │ ├── README.md │ │ │ │ ├── SubAreaList.java │ │ │ │ ├── SubEdgeList.java │ │ │ │ ├── SubLineList.java │ │ │ │ ├── SubNodeList.java │ │ │ │ ├── SubPointList.java │ │ │ │ └── SubRelationList.java │ │ │ ├── packed │ │ │ │ ├── PackedArea.java │ │ │ │ ├── PackedAtlas.java │ │ │ │ ├── PackedAtlasBuilder.java │ │ │ │ ├── PackedAtlasCloner.java │ │ │ │ ├── PackedAtlasLogMessages.java │ │ │ │ ├── PackedAtlasSerializer.java │ │ │ │ ├── PackedEdge.java │ │ │ │ ├── PackedLine.java │ │ │ │ ├── PackedNode.java │ │ │ │ ├── PackedPoint.java │ │ │ │ ├── PackedRelation.java │ │ │ │ ├── PackedTagStore.java │ │ │ │ └── README.md │ │ │ ├── pbf │ │ │ │ ├── AtlasLoadingOption.java │ │ │ │ ├── BridgeConfiguredFilter.java │ │ │ │ ├── CloseableOsmosisReader.java │ │ │ │ ├── converters │ │ │ │ │ └── TagMapToTagCollectionConverter.java │ │ │ │ └── slicing │ │ │ │ │ └── identifier │ │ │ │ │ ├── AbstractIdentifierFactory.java │ │ │ │ │ ├── CountrySlicingIdentifierFactory.java │ │ │ │ │ ├── PaddingIdentifierFactory.java │ │ │ │ │ ├── PointIdentifierFactory.java │ │ │ │ │ ├── ReverseIdentifierFactory.java │ │ │ │ │ └── WaySectionIdentifierFactory.java │ │ │ ├── raw │ │ │ │ ├── creation │ │ │ │ │ ├── OsmPbfCounter.java │ │ │ │ │ ├── OsmPbfReader.java │ │ │ │ │ ├── README.md │ │ │ │ │ ├── RawAtlasGenerator.java │ │ │ │ │ └── RawAtlasStatistic.java │ │ │ │ ├── sectioning │ │ │ │ │ ├── AtlasSectionProcessor.java │ │ │ │ │ ├── PbfOneWay.java │ │ │ │ │ ├── README.md │ │ │ │ │ └── TagMap.java │ │ │ │ └── slicing │ │ │ │ │ ├── CountryCodeProperties.java │ │ │ │ │ ├── README.md │ │ │ │ │ └── RawAtlasSlicer.java │ │ │ ├── routing │ │ │ │ ├── AStarRouter.java │ │ │ │ ├── AbstractRouter.java │ │ │ │ ├── AllPathsRouter.java │ │ │ │ ├── README.md │ │ │ │ └── Router.java │ │ │ ├── statistics │ │ │ │ ├── AtlasStatistics.java │ │ │ │ ├── AtlasStatisticsMerger.java │ │ │ │ ├── Counter.java │ │ │ │ └── coverage │ │ │ │ │ ├── Coverage.java │ │ │ │ │ ├── area │ │ │ │ │ ├── AreaCoverage.java │ │ │ │ │ ├── LakeAreaCoverage.java │ │ │ │ │ └── RiverAreaCoverage.java │ │ │ │ │ ├── linear │ │ │ │ │ ├── BusRouteLinearCoverage.java │ │ │ │ │ ├── LinearCoverage.java │ │ │ │ │ ├── edge │ │ │ │ │ │ ├── AllHighwayTagEdgeCoverage.java │ │ │ │ │ │ ├── BridgeEdgeCoverage.java │ │ │ │ │ │ ├── EdgeCoverage.java │ │ │ │ │ │ ├── FerryEdgeCoverage.java │ │ │ │ │ │ ├── FreshnessEdgeCoverage.java │ │ │ │ │ │ ├── LanesEdgeCoverage.java │ │ │ │ │ │ ├── NameEdgeCoverage.java │ │ │ │ │ │ ├── NoNameEdgeCoverage.java │ │ │ │ │ │ ├── OneWayEdgeCoverage.java │ │ │ │ │ │ ├── PrivateAccessEdgeCoverage.java │ │ │ │ │ │ ├── ReferenceEdgeCoverage.java │ │ │ │ │ │ ├── SpeedLimitEdgeCoverage.java │ │ │ │ │ │ ├── SurfaceEdgeCoverage.java │ │ │ │ │ │ ├── TollEdgeCoverage.java │ │ │ │ │ │ └── TunnelEdgeCoverage.java │ │ │ │ │ └── line │ │ │ │ │ │ ├── LineCoverage.java │ │ │ │ │ │ ├── RailLineCoverage.java │ │ │ │ │ │ ├── RiverLineCoverage.java │ │ │ │ │ │ └── TransitRailLineCoverage.java │ │ │ │ │ ├── poi │ │ │ │ │ ├── EdgesCountCoverage.java │ │ │ │ │ ├── LastUserNameCountCoverage.java │ │ │ │ │ ├── OneWayEdgesCountCoverage.java │ │ │ │ │ └── SimpleCoverage.java │ │ │ │ │ └── weird │ │ │ │ │ └── NodesPerLength.java │ │ │ ├── sub │ │ │ │ ├── AtlasCutType.java │ │ │ │ └── SubAtlasCreator.java │ │ │ ├── validators │ │ │ │ ├── AtlasEdgeValidator.java │ │ │ │ ├── AtlasLineItemValidator.java │ │ │ │ ├── AtlasLocationItemValidator.java │ │ │ │ ├── AtlasNodeValidator.java │ │ │ │ ├── AtlasRelationValidator.java │ │ │ │ ├── AtlasValidator.java │ │ │ │ └── FeatureChangeUsefulnessValidator.java │ │ │ └── walker │ │ │ │ ├── EdgeWalker.java │ │ │ │ ├── OsmWayWalker.java │ │ │ │ └── SimpleEdgeWalker.java │ │ ├── boundary │ │ │ ├── CountryBoundaryMap.java │ │ │ ├── CountryBoundaryMapArchiver.java │ │ │ ├── CountryBoundaryMapCompareCommand.java │ │ │ ├── CountryBoundaryMapFiller.java │ │ │ ├── CountryCodeGenerator.java │ │ │ ├── CountryShardListing.java │ │ │ ├── CountryShardListingProcessor.java │ │ │ ├── CountryToShardListCache.java │ │ │ ├── CountryToShardListing.java │ │ │ ├── README.md │ │ │ └── converters │ │ │ │ ├── CountryBoundaryMapGeoJsonConverter.java │ │ │ │ └── CountryListTwoWayStringConverter.java │ │ ├── clipping │ │ │ ├── Clip.java │ │ │ ├── GeometryOperation.java │ │ │ ├── MultiPolygonClipper.java │ │ │ ├── PolygonClipper.java │ │ │ └── README.md │ │ ├── constants │ │ │ └── WorldGeodeticStandardConstants.java │ │ ├── converters │ │ │ ├── GeodeticEarthCenteredEarthFixedConverter.java │ │ │ ├── MultiPolygonStringConverter.java │ │ │ ├── MultiplePolyLineToMultiPolygonConverter.java │ │ │ ├── MultiplePolyLineToPolygonsConverter.java │ │ │ ├── MultiplePolyLineToPolygonsConverterCommand.java │ │ │ ├── PolyLineStringConverter.java │ │ │ ├── PolygonStringConverter.java │ │ │ ├── PolygonStringFormat.java │ │ │ ├── WkMultiPolygonConverter.java │ │ │ ├── WkbLocationConverter.java │ │ │ ├── WkbMultiPolyLineConverter.java │ │ │ ├── WkbMultiPolygonConverter.java │ │ │ ├── WkbPolyLineConverter.java │ │ │ ├── WkbPolygonConverter.java │ │ │ ├── WktLocationConverter.java │ │ │ ├── WktMultiPolyLineConverter.java │ │ │ ├── WktMultiPolygonConverter.java │ │ │ ├── WktPolyLineConverter.java │ │ │ ├── WktPolygonConverter.java │ │ │ └── jts │ │ │ │ ├── GeometryStreamer.java │ │ │ │ ├── JtsCoordinateArrayConverter.java │ │ │ │ ├── JtsLinearRingConverter.java │ │ │ │ ├── JtsLocationConverter.java │ │ │ │ ├── JtsMultiPolyLineConverter.java │ │ │ │ ├── JtsMultiPolygonConverter.java │ │ │ │ ├── JtsMultiPolygonToMultiLineStringConverter.java │ │ │ │ ├── JtsMultiPolygonToMultiPolygonConverter.java │ │ │ │ ├── JtsPointConverter.java │ │ │ │ ├── JtsPolyLineConverter.java │ │ │ │ ├── JtsPolygonConverter.java │ │ │ │ ├── JtsPolygonToMultiPolygonConverter.java │ │ │ │ ├── JtsPrecisionManager.java │ │ │ │ └── JtsUtility.java │ │ ├── coordinates │ │ │ ├── EarthCenteredEarthFixedCoordinate.java │ │ │ └── GeodeticCoordinate.java │ │ ├── geojson │ │ │ ├── ConcatenateGeoJsonCommand.java │ │ │ ├── GeoJson.java │ │ │ ├── GeoJsonBuilder.java │ │ │ ├── GeoJsonCollection.java │ │ │ ├── GeoJsonConstants.java │ │ │ ├── GeoJsonFeature.java │ │ │ ├── GeoJsonFeatureCollection.java │ │ │ ├── GeoJsonGeometry.java │ │ │ ├── GeoJsonObject.java │ │ │ ├── GeoJsonProperties.java │ │ │ ├── GeoJsonSaver.java │ │ │ ├── GeoJsonType.java │ │ │ ├── GeoJsonUtils.java │ │ │ ├── GeojsonGeometryCollection.java │ │ │ └── parser │ │ │ │ ├── GeoJsonParser.java │ │ │ │ ├── README.md │ │ │ │ ├── domain │ │ │ │ ├── annotation │ │ │ │ │ └── Foreign.java │ │ │ │ ├── base │ │ │ │ │ ├── AbstractGeoJsonItem.java │ │ │ │ │ ├── GeoJsonItem.java │ │ │ │ │ └── type │ │ │ │ │ │ ├── FeatureType.java │ │ │ │ │ │ ├── GeometryType.java │ │ │ │ │ │ ├── Type.java │ │ │ │ │ │ └── TypeUtil.java │ │ │ │ ├── bbox │ │ │ │ │ ├── AbstractBbox.java │ │ │ │ │ ├── Bbox.java │ │ │ │ │ ├── Bbox2D.java │ │ │ │ │ ├── Bbox3D.java │ │ │ │ │ └── Dimensions.java │ │ │ │ ├── feature │ │ │ │ │ ├── AbstractFeature.java │ │ │ │ │ ├── Feature.java │ │ │ │ │ └── FeatureCollection.java │ │ │ │ ├── foreign │ │ │ │ │ ├── DefaultForeignFieldsImpl.java │ │ │ │ │ ├── ForeignFields.java │ │ │ │ │ └── SupportsForeigners.java │ │ │ │ ├── geometry │ │ │ │ │ ├── AbstractGeometry.java │ │ │ │ │ ├── AbstractGeometryWithCoordinateSupport.java │ │ │ │ │ ├── Geometry.java │ │ │ │ │ ├── GeometryCollection.java │ │ │ │ │ ├── GeometryWithCoordinates.java │ │ │ │ │ ├── LineString.java │ │ │ │ │ ├── MultiLineString.java │ │ │ │ │ ├── MultiPoint.java │ │ │ │ │ ├── MultiPolygon.java │ │ │ │ │ ├── Point.java │ │ │ │ │ ├── Polygon.java │ │ │ │ │ └── coordinate │ │ │ │ │ │ ├── Coordinates.java │ │ │ │ │ │ ├── Position.java │ │ │ │ │ │ └── Positions.java │ │ │ │ └── properties │ │ │ │ │ ├── Properties.java │ │ │ │ │ └── ext │ │ │ │ │ └── change │ │ │ │ │ ├── Description.java │ │ │ │ │ ├── Descriptor.java │ │ │ │ │ └── FeatureChangeProperties.java │ │ │ │ ├── impl │ │ │ │ └── jackson │ │ │ │ │ └── GeoJsonParserJacksonImpl.java │ │ │ │ └── mapper │ │ │ │ ├── Mapper.java │ │ │ │ └── impl │ │ │ │ └── DefaultBeanUtilsBasedMapperImpl.java │ │ ├── index │ │ │ ├── JtsSpatialIndex.java │ │ │ ├── PackedSpatialIndex.java │ │ │ ├── QuadTree.java │ │ │ ├── RTree.java │ │ │ └── SpatialIndex.java │ │ ├── matching │ │ │ ├── PolyLineMatch.java │ │ │ └── PolyLineRoute.java │ │ └── sharding │ │ │ ├── CountryShard.java │ │ │ ├── DynamicTileSharding.java │ │ │ ├── GeoHashSharding.java │ │ │ ├── GeoHashTile.java │ │ │ ├── GeoHashTileIterable.java │ │ │ ├── LocationToShardCommand.java │ │ │ ├── README.md │ │ │ ├── Shard.java │ │ │ ├── Sharding.java │ │ │ ├── SlippyTile.java │ │ │ ├── SlippyTileSharding.java │ │ │ ├── converters │ │ │ ├── DynamicTileShardingGeoJsonConverter.java │ │ │ ├── RectangleToSpatial4JRectangleConverter.java │ │ │ ├── SlippyTileConverter.java │ │ │ └── StringToShardConverter.java │ │ │ └── preparation │ │ │ ├── TilePrinter.java │ │ │ ├── tileDownload.sh │ │ │ ├── tileExecute.sh │ │ │ └── tilePrinter.sh │ │ ├── locale │ │ ├── IsoCountry.java │ │ ├── IsoCountryFuzzyMatcher.java │ │ └── IsoLanguage.java │ │ ├── proto │ │ ├── ProtoSerializable.java │ │ ├── adapters │ │ │ ├── ProtoAdapter.java │ │ │ ├── ProtoAtlasMetaDataAdapter.java │ │ │ ├── ProtoByteArrayOfArraysAdapter.java │ │ │ ├── ProtoIntegerArrayOfArraysAdapter.java │ │ │ ├── ProtoIntegerStringDictionaryAdapter.java │ │ │ ├── ProtoLongArrayAdapter.java │ │ │ ├── ProtoLongArrayOfArraysAdapter.java │ │ │ ├── ProtoLongToLongMapAdapter.java │ │ │ ├── ProtoLongToLongMultiMapAdapter.java │ │ │ ├── ProtoPackedTagStoreAdapter.java │ │ │ ├── ProtoPolyLineArrayAdapter.java │ │ │ └── ProtoPolygonArrayAdapter.java │ │ ├── builder │ │ │ └── ProtoAtlasBuilder.java │ │ ├── command │ │ │ ├── PackedToProtoAtlasSubCommand.java │ │ │ └── ProtoToPackedAtlasSubCommand.java │ │ └── converters │ │ │ ├── ProtoIntegerArrayOfArraysConverter.java │ │ │ ├── ProtoLocationConverter.java │ │ │ └── ProtoTagListConverter.java │ │ ├── streaming │ │ ├── CounterOutputStream.java │ │ ├── NotifyingIOUtils.java │ │ ├── SplittableInputStream.java │ │ ├── Streams.java │ │ ├── StringInputStream.java │ │ ├── StringOutputStream.java │ │ ├── compression │ │ │ ├── Compressor.java │ │ │ └── Decompressor.java │ │ ├── readers │ │ │ ├── CsvLine.java │ │ │ ├── CsvReader.java │ │ │ ├── CsvSchema.java │ │ │ ├── GeoJsonReader.java │ │ │ ├── csv │ │ │ │ └── converters │ │ │ │ │ └── CsvLineConverter.java │ │ │ └── json │ │ │ │ ├── converters │ │ │ │ ├── MultiPolyLineCoordinateConverter.java │ │ │ │ ├── MultiPolygonCoordinateConverter.java │ │ │ │ ├── PointCoordinateConverter.java │ │ │ │ ├── PolyLineCoordinateConverter.java │ │ │ │ └── PolygonCoordinateConverter.java │ │ │ │ ├── deserializers │ │ │ │ ├── LocatedDeserializer.java │ │ │ │ ├── LocationDeserializer.java │ │ │ │ ├── MultiPolyLineDeserializer.java │ │ │ │ ├── MultiPolygonDeserializer.java │ │ │ │ ├── PolyLineDeserializer.java │ │ │ │ └── PolygonDeserializer.java │ │ │ │ └── serializers │ │ │ │ ├── LocationSerializer.java │ │ │ │ ├── MultiLocationSerializer.java │ │ │ │ ├── PolyLineSerializer.java │ │ │ │ ├── PolygonSerializer.java │ │ │ │ └── PropertiesLocated.java │ │ ├── resource │ │ │ ├── AbstractResource.java │ │ │ ├── AbstractWritableResource.java │ │ │ ├── ByteArrayResource.java │ │ │ ├── ClassResource.java │ │ │ ├── File.java │ │ │ ├── FileSuffix.java │ │ │ ├── GeoJsonFile.java │ │ │ ├── InputStreamResource.java │ │ │ ├── InputStreamResourceCloseable.java │ │ │ ├── LineFilteredResource.java │ │ │ ├── LineWriter.java │ │ │ ├── OutputStreamWritableResource.java │ │ │ ├── OutputStreamWritableResourceCloseable.java │ │ │ ├── README.md │ │ │ ├── Resource.java │ │ │ ├── ResourceCloseable.java │ │ │ ├── StreamOfResourceStreams.java │ │ │ ├── StringResource.java │ │ │ ├── TemporaryFile.java │ │ │ ├── WritableResource.java │ │ │ ├── WritableResourceCloseable.java │ │ │ ├── http │ │ │ │ ├── DeleteResource.java │ │ │ │ ├── GetResource.java │ │ │ │ ├── HttpResource.java │ │ │ │ ├── PostResource.java │ │ │ │ └── PutResource.java │ │ │ └── zip │ │ │ │ ├── ZipFileWritableResource.java │ │ │ │ ├── ZipResource.java │ │ │ │ └── ZipWritableResource.java │ │ └── writers │ │ │ ├── JsonWriter.java │ │ │ └── SafeBufferedWriter.java │ │ ├── tags │ │ ├── AbandonedAerowayTag.java │ │ ├── AbandonedAmenityTag.java │ │ ├── AbandonedArtworkTypeTag.java │ │ ├── AccessTag.java │ │ ├── AddressCityTag.java │ │ ├── AddressCountryTag.java │ │ ├── AddressFlatsTag.java │ │ ├── AddressFullTag.java │ │ ├── AddressHousenameTag.java │ │ ├── AddressHousenumberTag.java │ │ ├── AddressInterpolationTag.java │ │ ├── AddressPlaceTag.java │ │ ├── AddressPostcodeTag.java │ │ ├── AddressProvinceTag.java │ │ ├── AddressStateTag.java │ │ ├── AddressStreetTag.java │ │ ├── AdministrativeLevelTag.java │ │ ├── AerialWayTag.java │ │ ├── AerowayTag.java │ │ ├── AmenityTag.java │ │ ├── AreaTag.java │ │ ├── ArtworkTypeTag.java │ │ ├── AtlasTag.java │ │ ├── BarrierTag.java │ │ ├── BicycleTag.java │ │ ├── BoundaryTag.java │ │ ├── BrandTag.java │ │ ├── BreakfastTag.java │ │ ├── BridgeTag.java │ │ ├── BuildingHeightTag.java │ │ ├── BuildingLevelsTag.java │ │ ├── BuildingMinLevelTag.java │ │ ├── BuildingPartTag.java │ │ ├── BuildingRoofTag.java │ │ ├── BuildingTag.java │ │ ├── CheckDateTag.java │ │ ├── ConstructionDateTag.java │ │ ├── ConstructionTag.java │ │ ├── ContactDiasporaTag.java │ │ ├── ContactEmailTag.java │ │ ├── ContactFacebookTag.java │ │ ├── ContactFaxTag.java │ │ ├── ContactGooglePlusTag.java │ │ ├── ContactInstagramTag.java │ │ ├── ContactLinkedInTag.java │ │ ├── ContactMobileTag.java │ │ ├── ContactPhoneTag.java │ │ ├── ContactTwitterTag.java │ │ ├── ContactWebsiteTag.java │ │ ├── ContactXingTag.java │ │ ├── CoveredTag.java │ │ ├── CuisineTag.java │ │ ├── CyclewayLaneTag.java │ │ ├── CyclewayLeftTag.java │ │ ├── CyclewayRightTag.java │ │ ├── CyclewayTag.java │ │ ├── DestinationForwardTag.java │ │ ├── DestinationIntRefTag.java │ │ ├── DestinationRefTag.java │ │ ├── DestinationRefToTag.java │ │ ├── DestinationStreetTag.java │ │ ├── DestinationTag.java │ │ ├── DirectionTag.java │ │ ├── DisusedRailwayTag.java │ │ ├── DisusedShopTag.java │ │ ├── ElevationTag.java │ │ ├── EmbankmentTag.java │ │ ├── EntranceTag.java │ │ ├── EstimatedWidthTag.java │ │ ├── ExitToLeftTag.java │ │ ├── ExitToRightTag.java │ │ ├── ExitToTag.java │ │ ├── FaxTag.java │ │ ├── FerryTag.java │ │ ├── FixMeTag.java │ │ ├── FootTag.java │ │ ├── FootwayTag.java │ │ ├── FordTag.java │ │ ├── FourWheelDriveOnlyTag.java │ │ ├── HarbourTag.java │ │ ├── HeightTag.java │ │ ├── HighResolutionTag.java │ │ ├── HighwayTag.java │ │ ├── HistoricTag.java │ │ ├── ISOCountryTag.java │ │ ├── IceRoadTag.java │ │ ├── IndustrialTag.java │ │ ├── IntermittentTag.java │ │ ├── InternetAccessFeeTag.java │ │ ├── InternetAccessTag.java │ │ ├── Iso31662CountryTag.java │ │ ├── Iso31663CountryTag.java │ │ ├── Iso3166DefaultCountryTag.java │ │ ├── JunctionTag.java │ │ ├── LandUseTag.java │ │ ├── LandcoverTag.java │ │ ├── LanesTag.java │ │ ├── LastEditChangesetTag.java │ │ ├── LastEditTimeTag.java │ │ ├── LastEditUserIdentifierTag.java │ │ ├── LastEditUserNameTag.java │ │ ├── LastEditVersionTag.java │ │ ├── LayerTag.java │ │ ├── LeisureTag.java │ │ ├── LevelTag.java │ │ ├── LivingStreetTag.java │ │ ├── LocalizedTagNameWithOptionalDate.java │ │ ├── LocationTag.java │ │ ├── ManMadeTag.java │ │ ├── MaxHeightTag.java │ │ ├── MaxSpeedBackwardTag.java │ │ ├── MaxSpeedForwardTag.java │ │ ├── MaxSpeedTag.java │ │ ├── MaxWidthTag.java │ │ ├── MilitaryTag.java │ │ ├── MinHeightTag.java │ │ ├── MinSpeedTag.java │ │ ├── MotorVehicleTag.java │ │ ├── MotorcarTag.java │ │ ├── MotorcycleTag.java │ │ ├── NaturalTag.java │ │ ├── NetworkTag.java │ │ ├── NoExitTag.java │ │ ├── NotesTag.java │ │ ├── OpenDateTag.java │ │ ├── OpeningDateTag.java │ │ ├── OpeningHoursTag.java │ │ ├── OrganicTag.java │ │ ├── ParkingTag.java │ │ ├── PhoneTag.java │ │ ├── PlaceTag.java │ │ ├── PowerTag.java │ │ ├── ProtectClassTag.java │ │ ├── PublicServiceVehiclesTag.java │ │ ├── README.md │ │ ├── RailwayTag.java │ │ ├── RampBicycleTag.java │ │ ├── RelationTypeTag.java │ │ ├── RouteTag.java │ │ ├── SaltTag.java │ │ ├── SeasonalTag.java │ │ ├── ServiceTag.java │ │ ├── ShopTag.java │ │ ├── SidewalkLeftTag.java │ │ ├── SidewalkRightTag.java │ │ ├── SidewalkTag.java │ │ ├── SkiTag.java │ │ ├── SmokingTag.java │ │ ├── SmoothnessTag.java │ │ ├── SnowmobileTag.java │ │ ├── SourceTag.java │ │ ├── SourceTypeTag.java │ │ ├── SourceURLTag.java │ │ ├── SportTag.java │ │ ├── SurfaceTag.java │ │ ├── SwimmingPoolTag.java │ │ ├── SyntheticBoundaryNodeTag.java │ │ ├── SyntheticDuplicateOsmNodeTag.java │ │ ├── SyntheticGeometrySlicedTag.java │ │ ├── SyntheticInvalidGeometryTag.java │ │ ├── SyntheticInvalidMultiPolygonRelationMembersRemovedTag.java │ │ ├── SyntheticInvalidWaySectionTag.java │ │ ├── SyntheticRelationMemberAdded.java │ │ ├── SyntheticRelationRoleUpdated.java │ │ ├── SyntheticSyntheticRelationMemberTag.java │ │ ├── Taggable.java │ │ ├── TemporaryDateOnTag.java │ │ ├── TollTag.java │ │ ├── TourismTag.java │ │ ├── TracktypeTag.java │ │ ├── TrafficCalmingTag.java │ │ ├── TunnelTag.java │ │ ├── TurnLanesBackwardTag.java │ │ ├── TurnLanesForwardTag.java │ │ ├── TurnLanesTag.java │ │ ├── TurnRestrictionTag.java │ │ ├── TurnTag.java │ │ ├── URLTag.java │ │ ├── UsageTag.java │ │ ├── VacantTag.java │ │ ├── VehicleTag.java │ │ ├── VendingTag.java │ │ ├── WaterTag.java │ │ ├── WaterwayTag.java │ │ ├── WebsiteTag.java │ │ ├── WetlandTag.java │ │ ├── WheelchairDescriptionTag.java │ │ ├── WheelchairTag.java │ │ ├── WidthTag.java │ │ ├── WifiTag.java │ │ ├── WikidataTag.java │ │ ├── WikipediaTag.java │ │ ├── WinterRoadTag.java │ │ ├── ZooTag.java │ │ ├── annotations │ │ │ ├── Tag.java │ │ │ ├── TagKey.java │ │ │ ├── TagValue.java │ │ │ ├── TagValueAs.java │ │ │ ├── TagValueDeprecated.java │ │ │ ├── extraction │ │ │ │ ├── AltitudeExtractor.java │ │ │ │ ├── IsoCountryExtractor.java │ │ │ │ ├── LengthExtractor.java │ │ │ │ ├── LongExtractor.java │ │ │ │ ├── NonEmptyStringExtractor.java │ │ │ │ ├── OrdinalExtractor.java │ │ │ │ ├── SpeedExtractor.java │ │ │ │ └── TagExtractor.java │ │ │ └── validation │ │ │ │ ├── DoubleValidator.java │ │ │ │ ├── ExactMatchValidator.java │ │ │ │ ├── ISO2CountryValidator.java │ │ │ │ ├── ISO3CountryValidator.java │ │ │ │ ├── ISOCountryValidator.java │ │ │ │ ├── LengthValidator.java │ │ │ │ ├── LongValidator.java │ │ │ │ ├── NonEmptyStringValidator.java │ │ │ │ ├── NoneValidator.java │ │ │ │ ├── NumericValidator.java │ │ │ │ ├── OrdinalValidator.java │ │ │ │ ├── SpeedValidator.java │ │ │ │ ├── TagDocumenter.java │ │ │ │ ├── TagValidator.java │ │ │ │ ├── TimestampValidator.java │ │ │ │ ├── URIValidator.java │ │ │ │ └── Validators.java │ │ ├── cache │ │ │ ├── CachingValidator.java │ │ │ └── Tagger.java │ │ ├── filters │ │ │ ├── ConfiguredTaggableFilter.java │ │ │ ├── LineFilterConverter.java │ │ │ ├── README.md │ │ │ ├── RegexTaggableFilter.java │ │ │ ├── TaggableFilter.java │ │ │ ├── TaggableFilterToMatcherConverter.java │ │ │ └── matcher │ │ │ │ ├── ConfiguredTaggableMatcher.java │ │ │ │ ├── README.md │ │ │ │ ├── TaggableMatcher.java │ │ │ │ └── parsing │ │ │ │ ├── Lexer.java │ │ │ │ ├── Parser.java │ │ │ │ ├── SemanticChecker.java │ │ │ │ ├── Token.java │ │ │ │ └── tree │ │ │ │ ├── ASTNode.java │ │ │ │ ├── AndOperator.java │ │ │ │ ├── BangOperator.java │ │ │ │ ├── BinaryOperator.java │ │ │ │ ├── EqualsOperator.java │ │ │ │ ├── LiteralOperand.java │ │ │ │ ├── Operand.java │ │ │ │ ├── OrOperator.java │ │ │ │ ├── RegexOperand.java │ │ │ │ ├── TreePrinter.java │ │ │ │ ├── UnaryOperator.java │ │ │ │ └── XorOperator.java │ │ ├── names │ │ │ ├── AlternativeNameTag.java │ │ │ ├── BridgeNameTag.java │ │ │ ├── BulkNameFinder.java │ │ │ ├── HistoricallyKnownAsTag.java │ │ │ ├── HistoricallyReferencedAsTag.java │ │ │ ├── InternationallyKnownAsTag.java │ │ │ ├── InternationallyReferencedAsTag.java │ │ │ ├── LocallyKnownAsTag.java │ │ │ ├── LocallyReferencedAsTag.java │ │ │ ├── Name1Tag.java │ │ │ ├── NameFinder.java │ │ │ ├── NameLeftTag.java │ │ │ ├── NameRightTag.java │ │ │ ├── NameTag.java │ │ │ ├── NationallyKnownAsTag.java │ │ │ ├── NationallyReferencedAsTag.java │ │ │ ├── NoNameTag.java │ │ │ ├── OfficialNameTag.java │ │ │ ├── OldReferenceTag.java │ │ │ ├── ReferenceTag.java │ │ │ ├── RegionallyKnownAsTag.java │ │ │ ├── RegionallyReferencedAsTag.java │ │ │ ├── ShortNameTag.java │ │ │ ├── SortingNameTag.java │ │ │ └── TunnelNameTag.java │ │ └── oneway │ │ │ ├── OneWayTag.java │ │ │ ├── bicycle │ │ │ ├── BicycleOneWayTag.java │ │ │ ├── CyclewayLeftOneWayTag.java │ │ │ ├── CyclewayOneWayTag.java │ │ │ ├── CyclewayRightOneWayTag.java │ │ │ └── OneWayBicycleTag.java │ │ │ └── motor │ │ │ ├── OneWayMotorVehicleTag.java │ │ │ ├── OneWayMotorcarTag.java │ │ │ └── OneWayVehicleTag.java │ │ └── utilities │ │ ├── README.md │ │ ├── archive │ │ ├── AbstractArchiverOrExtractor.java │ │ ├── ArchiveStorageProfileDelegate.java │ │ ├── ArchiveVetoDelegate.java │ │ ├── Archiver.java │ │ ├── ArchiverEventListener.java │ │ ├── DefaultZipVetoDelegate.java │ │ ├── Extractor.java │ │ ├── UnzipperCommand.java │ │ └── ZipperCommand.java │ │ ├── arrays │ │ ├── Arrays.java │ │ ├── BitArray.java │ │ ├── BooleanArray.java │ │ ├── ByteArray.java │ │ ├── ByteArrayOfArrays.java │ │ ├── IntegerArray.java │ │ ├── IntegerArrayOfArrays.java │ │ ├── LargeArray.java │ │ ├── LongArray.java │ │ ├── LongArrayOfArrays.java │ │ ├── PolyLineArray.java │ │ ├── PolygonArray.java │ │ ├── PrimitiveArray.java │ │ ├── ShortArray.java │ │ └── StringArray.java │ │ ├── caching │ │ ├── ConcurrentResourceCache.java │ │ ├── LocalFileInMemoryCache.java │ │ ├── README.md │ │ ├── ResourceCache.java │ │ └── strategies │ │ │ ├── AbstractCachingStrategy.java │ │ │ ├── ByteArrayCachingStrategy.java │ │ │ ├── CachingStrategy.java │ │ │ ├── GlobalNamespaceCachingStrategy.java │ │ │ ├── NamespaceCachingStrategy.java │ │ │ └── NoCachingStrategy.java │ │ ├── checkstyle │ │ ├── ArrangementCheck.java │ │ └── README.md │ │ ├── cli │ │ └── operations │ │ │ ├── AbstractHDFSOperation.java │ │ │ ├── AbstractOperation.java │ │ │ ├── CheckIfFileExistsOperation.java │ │ │ ├── DeepLSOperation.java │ │ │ ├── HDFSCatOperation.java │ │ │ ├── HDFSCheckIfFileExistsOperation.java │ │ │ ├── HDFSCopyOperation.java │ │ │ ├── HDFSLSOperation.java │ │ │ ├── HDFSMkdirOperation.java │ │ │ ├── HDFSPutOperation.java │ │ │ ├── LSOperation.java │ │ │ ├── MkdirOperation.java │ │ │ ├── Operation.java │ │ │ ├── RMDirOperation.java │ │ │ └── base │ │ │ ├── AvailableSocketFinder.java │ │ │ ├── OperationResults.java │ │ │ ├── RemoteObject.java │ │ │ ├── SCPOperation.java │ │ │ ├── SCPOperationResults.java │ │ │ ├── SSHForwarder.java │ │ │ ├── SSHOperation.java │ │ │ └── SSHOperationResults.java │ │ ├── collections │ │ ├── EnhancedCollectors.java │ │ ├── EnumSetCollector.java │ │ ├── FilteredIterable.java │ │ ├── FixedSizePriorityQueue.java │ │ ├── ImmutableListCollector.java │ │ ├── Iterables.java │ │ ├── JoinedCollection.java │ │ ├── Maps.java │ │ ├── MultiIterable.java │ │ ├── OptionalIterable.java │ │ ├── ParallelIterable.java │ │ ├── Sets.java │ │ ├── ShardBucketCollection.java │ │ ├── StreamIterable.java │ │ ├── StringList.java │ │ ├── SubIterable.java │ │ ├── UnmodifiableSortedMapCollector.java │ │ └── UnmodifiableSortedSetCollector.java │ │ ├── command │ │ ├── ActiveModuleIndexWriter.java │ │ ├── AtlasShellToolsException.java │ │ ├── ReflectionUtilities.java │ │ ├── abstractcommand │ │ │ ├── AbstractAtlasShellToolsCommand.java │ │ │ ├── AtlasShellToolsCommandTemplate.java │ │ │ ├── AtlasShellToolsMarkerInterface.java │ │ │ ├── CommandOutputDelegate.java │ │ │ └── OptionAndArgumentDelegate.java │ │ ├── documentation │ │ │ ├── DocumentationFormatType.java │ │ │ ├── DocumentationFormatter.java │ │ │ ├── DocumentationRegistrar.java │ │ │ └── PagerHelper.java │ │ ├── parsing │ │ │ ├── ArgumentArity.java │ │ │ ├── ArgumentOptionality.java │ │ │ ├── OptionArgumentType.java │ │ │ ├── OptionOptionality.java │ │ │ ├── SimpleOptionAndArgumentParser.java │ │ │ └── exceptions │ │ │ │ ├── AmbiguousAbbreviationException.java │ │ │ │ ├── ArgumentException.java │ │ │ │ ├── OptionParseException.java │ │ │ │ ├── UnknownOptionException.java │ │ │ │ └── UnparsableContextException.java │ │ ├── subcommands │ │ │ ├── AnyToGeoJsonCommand.java │ │ │ ├── AtlasDiffCommand.java │ │ │ ├── AtlasMetadataReaderCommand.java │ │ │ ├── AtlasSearchCommand.java │ │ │ ├── AtlasShardingConverterCommand.java │ │ │ ├── AtlasShellToolsDemoCommand.java │ │ │ ├── ConcatenateAtlasCommand.java │ │ │ ├── CountryBoundaryMapPrinterCommand.java │ │ │ ├── CountryShardToBoundsCommand.java │ │ │ ├── HelloWorldCommand.java │ │ │ ├── IsoCountryCodeCommand.java │ │ │ ├── JavaToProtoSerializationCommand.java │ │ │ ├── OsmFileParserCommand.java │ │ │ ├── OsmToAtlasCommand.java │ │ │ ├── PackedToTextAtlasCommand.java │ │ │ ├── PbfToAtlasCommand.java │ │ │ ├── SubAtlasCommand.java │ │ │ ├── TaggableMatcherPrinterCommand.java │ │ │ ├── TemplateTestCommand.java │ │ │ ├── WKTShardCommand.java │ │ │ └── templates │ │ │ │ ├── AtlasLoaderCommand.java │ │ │ │ ├── AtlasLoaderTemplate.java │ │ │ │ ├── CountryBoundaryMapTemplate.java │ │ │ │ ├── ListOfNumbersTemplate.java │ │ │ │ ├── MultipleOutputCommand.java │ │ │ │ ├── OutputDirectoryTemplate.java │ │ │ │ ├── PredicateTemplate.java │ │ │ │ └── ShardingTemplate.java │ │ └── terminal │ │ │ ├── TTYAttribute.java │ │ │ └── TTYStringBuilder.java │ │ ├── compression │ │ ├── IntegerDictionary.java │ │ └── LongDictionary.java │ │ ├── configuration │ │ ├── Configurable.java │ │ ├── Configuration.java │ │ ├── ConfigurationDeserializer.java │ │ ├── ConfigurationReader.java │ │ ├── ConfiguredFilter.java │ │ ├── MergedConfiguration.java │ │ └── StandardConfiguration.java │ │ ├── conversion │ │ ├── Converter.java │ │ ├── HexStringByteArrayConverter.java │ │ ├── StringConverter.java │ │ ├── StringToPredicateConverter.java │ │ ├── TagConverter.java │ │ ├── TwoWayConverter.java │ │ └── TwoWayStringConverter.java │ │ ├── direction │ │ └── EdgeDirectionComparator.java │ │ ├── filters │ │ ├── AtlasEntityPolygonsFilter.java │ │ └── IntersectionPolicy.java │ │ ├── function │ │ ├── QuaternaryFunction.java │ │ ├── QuaternaryOperator.java │ │ ├── SenaryFunction.java │ │ ├── SenaryOperator.java │ │ ├── TernaryConsumer.java │ │ ├── TernaryFunction.java │ │ └── TernaryOperator.java │ │ ├── graphs │ │ └── DirectedAcyclicGraph.java │ │ ├── http │ │ └── rest │ │ │ ├── DislikedResponseCodeException.java │ │ │ └── HttpResultHandler.java │ │ ├── identifiers │ │ └── EntityIdentifierGenerator.java │ │ ├── jsoncompare │ │ ├── RegularExpressionJSONComparator.java │ │ └── RegularExpressionJSONCompareResult.java │ │ ├── maps │ │ ├── IntegerToIntegerMap.java │ │ ├── LargeMap.java │ │ ├── LinkedMultiMap.java │ │ ├── LongToBooleanMap.java │ │ ├── LongToIntegerMap.java │ │ ├── LongToIntegerMultiMap.java │ │ ├── LongToLongMap.java │ │ ├── LongToLongMultiMap.java │ │ ├── MultiMap.java │ │ └── MultiMapWithSet.java │ │ ├── matching │ │ └── NameMatcher.java │ │ ├── random │ │ ├── RandomTagsSupplier.java │ │ └── RandomTextGenerator.java │ │ ├── regex │ │ └── RegexUtils.java │ │ ├── runtime │ │ ├── BoundedPipeBuffer.java │ │ ├── ClassPathTree.java │ │ ├── Command.java │ │ ├── CommandMap.java │ │ ├── FlexibleCommand.java │ │ ├── FlexibleSubCommand.java │ │ ├── OpenPipeBuffer.java │ │ ├── PipeBuffer.java │ │ ├── Retry.java │ │ ├── RunScript.java │ │ ├── RunScriptMonitor.java │ │ ├── SingleLineMonitor.java │ │ ├── TimedRetry.java │ │ └── system │ │ │ ├── SystemInfo.java │ │ │ └── memory │ │ │ └── Memory.java │ │ ├── scalars │ │ ├── Angle.java │ │ ├── Counter.java │ │ ├── Distance.java │ │ ├── DoubleCounter.java │ │ ├── Duration.java │ │ ├── README.md │ │ ├── Ratio.java │ │ ├── Speed.java │ │ └── Surface.java │ │ ├── statistic │ │ ├── AbstractStatistic.java │ │ ├── Statistic.java │ │ ├── StatisticUtils.java │ │ └── storeless │ │ │ ├── CounterWithStatistic.java │ │ │ ├── CustomizedStatistic.java │ │ │ └── StatisticType.java │ │ ├── testing │ │ ├── Bean.java │ │ ├── BeanHandler.java │ │ ├── CoreTestRule.java │ │ ├── CreationContext.java │ │ ├── FeatureIDGenerator.java │ │ ├── FieldHandler.java │ │ ├── FreezeDryFunction.java │ │ ├── OsmFileParser.java │ │ ├── OsmFileToPbf.java │ │ ├── OsmosisXmlReaderFromResource.java │ │ ├── TestAtlas.java │ │ ├── TestAtlasHandler.java │ │ └── TestTaggable.java │ │ ├── threads │ │ ├── CustomNamesThreadPoolFactory.java │ │ ├── LogTicker.java │ │ ├── Pool.java │ │ ├── Result.java │ │ └── Ticker.java │ │ ├── time │ │ ├── LocalTime.java │ │ └── Time.java │ │ ├── timezone │ │ ├── TimeZoneBoundary.java │ │ └── TimeZoneMap.java │ │ ├── tuples │ │ ├── Either.java │ │ └── Tuple.java │ │ ├── unicode │ │ ├── AbstractClassifier.java │ │ ├── Classification.java │ │ ├── Classifier.java │ │ └── LoadingClassifier.java │ │ └── vectortiles │ │ ├── MinimumZoom.java │ │ ├── README.md │ │ ├── TippecanoeCommands.java │ │ ├── TippecanoeConverter.java │ │ ├── TippecanoeExporter.java │ │ ├── TippecanoeGeoJsonExtension.java │ │ └── TippecanoeSettings.java ├── proto │ ├── Area.proto │ ├── Edge.proto │ ├── Line.proto │ ├── Location.proto │ ├── Node.proto │ ├── Point.proto │ ├── ProtoAtlas.proto │ ├── ProtoAtlasMetaData.proto │ ├── ProtoByteArray.proto │ ├── ProtoByteArrayOfArrays.proto │ ├── ProtoIntegerArray.proto │ ├── ProtoIntegerArrayOfArrays.proto │ ├── ProtoIntegerStringDictionary.proto │ ├── ProtoLongArray.proto │ ├── ProtoLongArrayOfArrays.proto │ ├── ProtoLongToLongMap.proto │ ├── ProtoLongToLongMultiMap.proto │ ├── ProtoPackedTagStore.proto │ ├── ProtoPolyLineArray.proto │ ├── ProtoPolygonArray.proto │ ├── Relation.proto │ └── Tag.proto └── resources │ └── org │ └── openstreetmap │ └── atlas │ ├── atlas.json │ ├── geography │ └── atlas │ │ ├── items │ │ └── complex │ │ │ ├── aoi │ │ │ └── aoi-tag-filter.json │ │ │ ├── islands │ │ │ └── islands.json │ │ │ ├── landcover │ │ │ └── land-cover-tag-filter.json │ │ │ └── water │ │ │ └── finder │ │ │ ├── canal.json │ │ │ ├── creek.json │ │ │ ├── ditch.json │ │ │ ├── harbour.json │ │ │ ├── lagoon.json │ │ │ ├── lake.json │ │ │ ├── pond.json │ │ │ ├── pool.json │ │ │ ├── reservoir.json │ │ │ ├── river.json │ │ │ └── wetland.json │ │ ├── pbf │ │ ├── atlas-area.json │ │ ├── atlas-edge.json │ │ ├── atlas-relation-slicing.json │ │ ├── atlas-way-section.json │ │ ├── osm-pbf-node.json │ │ ├── osm-pbf-relation.json │ │ └── osm-pbf-way.json │ │ └── statistics │ │ └── coverage │ │ └── poi │ │ ├── counts.txt │ │ └── countsOne.txt │ ├── tags │ └── annotations │ │ └── implicit-speed-values.json │ └── utilities │ ├── checkstyle │ └── arrangement.txt │ ├── command │ └── subcommands │ │ ├── AnyToGeoJsonCommandDescriptionSection.txt │ │ ├── AnyToGeoJsonCommandExamplesSection.txt │ │ ├── AtlasDiffCommandDescriptionSection.txt │ │ ├── AtlasDiffCommandExamplesSection.txt │ │ ├── AtlasMetadataReaderCommandDescriptionSection.txt │ │ ├── AtlasMetadataReaderCommandExamplesSection.txt │ │ ├── AtlasSearchCommandDescriptionSection.txt │ │ ├── AtlasSearchCommandExamplesSection.txt │ │ ├── AtlasShardingConverterCommandDescriptionSection.txt │ │ ├── AtlasShardingConverterCommandExamplesSection.txt │ │ ├── AtlasShellToolsDemoCommandDescriptionSection.txt │ │ ├── AtlasShellToolsDemoCommandExamplesSection.txt │ │ ├── ConcatenateAtlasCommandDescriptionSection.txt │ │ ├── ConcatenateAtlasCommandExamplesSection.txt │ │ ├── CountryBoundaryMapPrinterCommandDescriptionSection.txt │ │ ├── CountryBoundaryMapPrinterCommandExamplesSection.txt │ │ ├── CountryShardToBoundsCommandDescriptionSection.txt │ │ ├── CountryShardToBoundsCommandExamplesSection.txt │ │ ├── HelloWorldCommandDescriptionSection.txt │ │ ├── IsoCountryCodeCommandDescriptionSection.txt │ │ ├── IsoCountryCodeCommandExamplesSection.txt │ │ ├── JavaToProtoSerializationCommandDescriptionSection.txt │ │ ├── JavaToProtoSerializationCommandExamplesSection.txt │ │ ├── OsmFileParserCommandDescriptionSection.txt │ │ ├── OsmFileParserCommandExamplesSection.txt │ │ ├── OsmToAtlasCommandDescriptionSection.txt │ │ ├── OsmToAtlasCommandExamplesSection.txt │ │ ├── PackedToTextAtlasCommandDescriptionSection.txt │ │ ├── PackedToTextAtlasCommandExamplesSection.txt │ │ ├── PbfToAtlasCommandExamplesSection.txt │ │ ├── PbfToAtlasDescriptionSection.txt │ │ ├── SubAtlasCommandDescriptionSection.txt │ │ ├── SubAtlasCommandExamplesSection.txt │ │ ├── TaggableMatcherPrinterCommandDescriptionSection.txt │ │ ├── TaggableMatcherPrinterCommandExamplesSection.txt │ │ ├── WKTShardCommandDescriptionSection.txt │ │ ├── WKTShardCommandExamplesSection.txt │ │ └── templates │ │ ├── AtlasLoaderCommandSection.txt │ │ ├── AtlasLoaderTemplateSection.txt │ │ ├── CountryBoundaryMapTemplateSection.txt │ │ ├── MultipleOutputCommandSection.txt │ │ ├── OutputDirectoryTemplateSection.txt │ │ ├── PredicateTemplateSection.txt │ │ └── ShardingTemplateSection.txt │ ├── random │ └── dictionary.txt │ ├── timezone │ ├── index.html │ ├── tz_world.dbf │ ├── tz_world.png │ ├── tz_world.prj │ ├── tz_world.qix │ ├── tz_world.shp │ └── tz_world.shx │ ├── unicode │ └── unicode.defaults │ └── vectortiles │ └── minimum-zooms.json └── test ├── groovy └── org │ └── openstreetmap │ └── atlas │ └── geography │ └── converters │ └── jts │ └── JtsPolyLineConverterTest.java ├── java └── org │ └── openstreetmap │ └── atlas │ ├── event │ ├── EventBusTest.java │ ├── EventServiceTest.java │ ├── TestEvent.java │ └── TestProcessor.java │ ├── exception │ ├── CoreExceptionTest.java │ └── change │ │ └── FeatureChangeMergeExceptionTest.java │ ├── geography │ ├── AltitudeTest.java │ ├── CompressedPolyLineTest.java │ ├── HeadingTest.java │ ├── LatitudeTest.java │ ├── LocationTest.java │ ├── LongitudeTest.java │ ├── MultiPolyLineTest.java │ ├── MultiPolygonTest.java │ ├── PolyLineCoveringPolygonTest.java │ ├── PolyLineCoveringPolygonTestRule.java │ ├── PolyLineTest.java │ ├── PolygonCoveringPolygonTest.java │ ├── PolygonCoveringPolygonTestRule.java │ ├── PolygonTest.java │ ├── PolygonTestRule.java │ ├── RectangleTest.java │ ├── SegmentTest.java │ ├── SelfIntersectingPolyLineTestCase.java │ ├── SnapperTest.java │ ├── StringCompressedPolyLineTest.java │ ├── atlas │ │ ├── AtlasResourceLoaderTest.java │ │ ├── AtlasTest.java │ │ ├── AtlasTestRule.java │ │ ├── BareAtlasTest.java │ │ ├── BareAtlasTestRule.java │ │ ├── IsAtlasTestCase.java │ │ ├── ShardFileOverlapsPolygonTest.java │ │ ├── SubAtlasRule.java │ │ ├── SubAtlasTest.java │ │ ├── builder │ │ │ ├── GeoJsonAtlasBuilderTest.java │ │ │ ├── PackedAtlasBuilderTest.java │ │ │ ├── store │ │ │ │ ├── AtlasPrimitiveObjectStoreTest.java │ │ │ │ └── AtlasPrimitiveRouteTest.java │ │ │ └── text │ │ │ │ └── TextAtlasBuilderTest.java │ │ ├── change │ │ │ ├── AbstractChangeTest.java │ │ │ ├── AtlasChangeGeneratorTest.java │ │ │ ├── AtlasChangeGeneratorTestRule.java │ │ │ ├── CascadeDeleteTest.java │ │ │ ├── CascadeDeleteTestHelper.java │ │ │ ├── CascadeDeleteTestRule.java │ │ │ ├── ChangeAtlasTest.java │ │ │ ├── ChangeAtlasTestRule.java │ │ │ ├── ChangeBuilderTest.java │ │ │ ├── ChangeMergeTest.java │ │ │ ├── ChangeTest.java │ │ │ ├── FeatureChangeMergerTest.java │ │ │ ├── FeatureChangeTest.java │ │ │ ├── FeatureChangeUnitTestFactory.java │ │ │ ├── MemberMergeStrategiesTest.java │ │ │ ├── MultiCascadeDeleteTest.java │ │ │ ├── MultiCascadeDeleteTestRule.java │ │ │ ├── MultipleChangeAtlasTest.java │ │ │ ├── MultipleChangeAtlasTestRule.java │ │ │ ├── TagChangeTest.java │ │ │ ├── TagChangeTestRule.java │ │ │ ├── description │ │ │ │ └── descriptors │ │ │ │ │ └── ChangeDescriptorComparatorTest.java │ │ │ ├── diff │ │ │ │ ├── AtlasDiffTest.java │ │ │ │ └── AtlasDiffTestRule.java │ │ │ ├── eventhandling │ │ │ │ └── listener │ │ │ │ │ ├── TagChangeListenerTest.java │ │ │ │ │ └── TestTagChangeListenerImplementation.java │ │ │ ├── exception │ │ │ │ └── EmptyChangeExceptionTest.java │ │ │ ├── serializer │ │ │ │ ├── ChangeGeoJsonSerializerTest.java │ │ │ │ ├── FeatureChangeGeoJsonSerializerTest.java │ │ │ │ └── FeatureChangeGeoJsonSerializerTestRule.java │ │ │ └── validators │ │ │ │ └── ChangeValidatorTest.java │ │ ├── changeset │ │ │ └── BinaryChangeSetSerializerTest.java │ │ ├── command │ │ │ ├── AtlasFeatureCountsSubCommandTestCase.java │ │ │ ├── AtlasFeatureCountsSubCommandTestCaseRule.java │ │ │ ├── AtlasFindByAtlasIdentifierSubCommandTest.java │ │ │ ├── AtlasJoinerSubCommandTest.java │ │ │ ├── AtlasSplitterWithSlippyTileCommandTest.java │ │ │ ├── CaptureOutputStream.java │ │ │ ├── ComplexBuildingsTestRule.java │ │ │ ├── OsmPbfToAtlasSubCommandTest.java │ │ │ └── TinyBuildingsSearchSubCommandTest.java │ │ ├── complete │ │ │ ├── CompleteAreaTest.java │ │ │ ├── CompleteEdgeTest.java │ │ │ ├── CompleteEntityTest.java │ │ │ ├── CompleteItemTypeTest.java │ │ │ ├── CompleteItemTypeTestRule.java │ │ │ ├── CompleteLineTest.java │ │ │ ├── CompleteNodeTest.java │ │ │ ├── CompletePointTest.java │ │ │ ├── CompleteRelationTest.java │ │ │ ├── CompleteTestRule.java │ │ │ └── EmptyAtlasTest.java │ │ ├── delta │ │ │ ├── AtlasDeltaAreaTest.java │ │ │ ├── AtlasDeltaEdgeTest.java │ │ │ ├── AtlasDeltaLineTest.java │ │ │ ├── AtlasDeltaNodeTest.java │ │ │ ├── AtlasDeltaPointTest.java │ │ │ ├── AtlasDeltaRelationTest.java │ │ │ ├── AtlasDeltaRelationsTest.java │ │ │ └── AtlasDeltaTagTest.java │ │ ├── dynamic │ │ │ ├── DynamicAtlasAggressiveRelationsTest.java │ │ │ ├── DynamicAtlasFilteredEntitiesTest.java │ │ │ ├── DynamicAtlasMovingTooFastTest.java │ │ │ ├── DynamicAtlasMultipleInitialShardTest.java │ │ │ ├── DynamicAtlasPartialInitialShardsTest.java │ │ │ ├── DynamicAtlasPreemptiveLoadTest.java │ │ │ ├── DynamicAtlasRestrainedExpansionWithPolygonTest.java │ │ │ ├── DynamicAtlasTest.java │ │ │ └── rules │ │ │ │ ├── DynamicAtlasAggressiveRelationsTestRule.java │ │ │ │ ├── DynamicAtlasMovingTooFastTestRule.java │ │ │ │ ├── DynamicAtlasPartialInitialShardsTestRule.java │ │ │ │ ├── DynamicAtlasPreemptiveLoadTestRule.java │ │ │ │ ├── DynamicAtlasRestrainedExpansionWithPolygonTestRule.java │ │ │ │ └── DynamicAtlasTestRule.java │ │ ├── items │ │ │ ├── AreaEntityTestRule.java │ │ │ ├── AreaTest.java │ │ │ ├── AreaTestRule.java │ │ │ ├── AtlasEntityTest.java │ │ │ ├── AtlasItemIntersectionTest.java │ │ │ ├── AtlasItemIntersectionTestRule.java │ │ │ ├── EdgeTest.java │ │ │ ├── EdgeTestRule.java │ │ │ ├── ItemTypeTest.java │ │ │ ├── LineItemTest.java │ │ │ ├── LineItemTestRule.java │ │ │ ├── LoopingRelationTest.java │ │ │ ├── LoopingRelationTestRule.java │ │ │ ├── RelationBeanTest.java │ │ │ ├── RelationBeanTestRule.java │ │ │ ├── RelationFlatteningRule.java │ │ │ ├── RelationFlatteningTest.java │ │ │ ├── RelationMemberComparisonTestCase.java │ │ │ ├── RelationMemberComparisonTestCaseRule.java │ │ │ ├── RelationMemberListTest.java │ │ │ ├── RouteTest.java │ │ │ ├── RouteTestRule.java │ │ │ ├── SnappedLineItemTest.java │ │ │ ├── SnappedLineItemTestRule.java │ │ │ ├── WithinTest.java │ │ │ ├── WithinTestRule.java │ │ │ └── complex │ │ │ │ ├── RelationOrAreaToMultiPolygonConverterTest.java │ │ │ │ ├── RelationOrAreaToMultiPolygonConverterTestRule.java │ │ │ │ ├── RelationToMultiPolygonMemberConverterTest.java │ │ │ │ ├── aoi │ │ │ │ ├── ComplexAreaOfInterestFinderTest.java │ │ │ │ └── ComplexAreaOfInterestFinderTestRule.java │ │ │ │ ├── bignode │ │ │ │ ├── BigNodeFinderTest.java │ │ │ │ └── BigNodeFinderTestCaseRule.java │ │ │ │ ├── boundaries │ │ │ │ ├── ComplexBoundaryTest.java │ │ │ │ └── ComplexBoundaryTestRule.java │ │ │ │ ├── buildings │ │ │ │ ├── AtlasComplexBuildingTestCase.java │ │ │ │ ├── AtlasComplexBuildingTestCaseRule.java │ │ │ │ ├── BuildingHeightTestCase.java │ │ │ │ ├── BuildingHeightTestCaseRule.java │ │ │ │ ├── BuildingLevelsTestCase.java │ │ │ │ ├── BuildingLevelsTestCaseRule.java │ │ │ │ ├── BuildingsContainsOsmIdentifierTestCase.java │ │ │ │ ├── BuildingsContainsOsmIdentifierTestCaseRule.java │ │ │ │ └── HeightConverterTest.java │ │ │ │ ├── highwayarea │ │ │ │ ├── ComplexHighwayAreaTestCase.java │ │ │ │ ├── ComplexHighwayAreaTestCaseRule.java │ │ │ │ ├── OutOfOrderEdgesHighwayAreaTestCase.java │ │ │ │ ├── OutOfOrderEdgesHighwayAreaTestCaseRule.java │ │ │ │ ├── SelfIntersectingHighwayAreaTestCase.java │ │ │ │ ├── SelfIntersectingHighwayAreaTestCaseRule.java │ │ │ │ ├── ZeroSizeHighwayAreaTestCase.java │ │ │ │ └── ZeroSizeHighwayAreaTestCaseRule.java │ │ │ │ ├── islands │ │ │ │ ├── ComplexIslandFinderTest.java │ │ │ │ └── ComplexIslandFinderTestRule.java │ │ │ │ ├── landcover │ │ │ │ ├── ComplexLandCoverFinderTest.java │ │ │ │ └── ComplexLandCoverFinderTestRule.java │ │ │ │ ├── restriction │ │ │ │ ├── ComplexTurnRestrictionTest.java │ │ │ │ └── ComplexTurnRestrictionTestCaseRule.java │ │ │ │ ├── roundabout │ │ │ │ ├── ComplexRoundaboutTest.java │ │ │ │ └── ComplexRoundaboutTestRule.java │ │ │ │ └── water │ │ │ │ ├── AbstractWaterIslandTest.java │ │ │ │ ├── ComplexHarborTestRule.java │ │ │ │ ├── ComplexHarbourTest.java │ │ │ │ ├── ComplexWaterEntityTest.java │ │ │ │ ├── ComplexWaterWayTest.java │ │ │ │ └── ComplexWaterWayTestRule.java │ │ ├── lightweight │ │ │ ├── LightAreaTest.java │ │ │ ├── LightEdgeTest.java │ │ │ ├── LightLineTest.java │ │ │ ├── LightNodeTest.java │ │ │ ├── LightPointTest.java │ │ │ ├── LightRelationTest.java │ │ │ └── LightweightTestAtlasRule.java │ │ ├── multi │ │ │ ├── MissingMultiEntityRelationTest.java │ │ │ ├── MultiAtlasOverlappingNodesFixerTest.java │ │ │ ├── MultiAtlasOverlappingNodesFixerTestRule.java │ │ │ ├── MultiAtlasTest.java │ │ │ └── MultiAtlasTestRule.java │ │ ├── packed │ │ │ ├── PackedAtlasClonerTest.java │ │ │ ├── PackedAtlasSerializerTest.java │ │ │ ├── PackedAtlasTest.java │ │ │ ├── PackedAtlasTestRule.java │ │ │ ├── PackedRelationTest.java │ │ │ ├── PackedRelationTestCaseRule.java │ │ │ ├── RandomPackedAtlasBuilder.java │ │ │ └── RelationMultipolygonGeometryTest.java │ │ ├── pbf │ │ │ ├── BridgeConfiguredFilterTest.java │ │ │ ├── OsmPbfIngestTest.java │ │ │ ├── OsmPbfNodeToAtlasItemTest.java │ │ │ ├── OsmPbfNodeToAtlasItemTestRule.java │ │ │ ├── OsmPbfWayToAtlasEdgeTranslationTest.java │ │ │ ├── OsmPbfWayToAtlasEdgeTranslationTestRule.java │ │ │ ├── OsmosisReaderMock.java │ │ │ ├── converters │ │ │ │ ├── AtlasPrimitiveAreaToOsmosisWayConverter.java │ │ │ │ ├── AtlasPrimitiveLineItemToOsmosisWayConverter.java │ │ │ │ ├── AtlasPrimitiveLocationItemToOsmosisNodeConverter.java │ │ │ │ ├── AtlasPrimitiveRelationToOsmosisRelationConverter.java │ │ │ │ ├── ItemTypeToEntityTypeConverter.java │ │ │ │ ├── LocationIterableToWayNodeListConverter.java │ │ │ │ └── LocationToOsmosisNodeConverter.java │ │ │ ├── slicing │ │ │ │ └── identifier │ │ │ │ │ └── ReverseIdentifierFactoryTest.java │ │ │ └── store │ │ │ │ └── PbfOneWayTest.java │ │ ├── raw │ │ │ ├── RawAtlasTest.java │ │ │ ├── creation │ │ │ │ └── RawAtlasGeneratorTest.java │ │ │ ├── sectioning │ │ │ │ ├── AtlasSectionProcessorTest.java │ │ │ │ └── WaySectionProcessorTestRule.java │ │ │ └── slicing │ │ │ │ ├── RawAtlasSlicerTest.java │ │ │ │ └── RawAtlasSlicerTestRule.java │ │ ├── routing │ │ │ ├── AStarRouterTest.java │ │ │ ├── AStarRouterTestRule.java │ │ │ ├── AllPathsRouterTest.java │ │ │ └── RoutingTestRule.java │ │ ├── statistics │ │ │ ├── AtlasStatisticsTest.java │ │ │ ├── AtlasStatisticsTestRule.java │ │ │ ├── CounterTest.java │ │ │ └── coverage │ │ │ │ └── poi │ │ │ │ ├── CountCoverageTest.java │ │ │ │ └── CountCoverageTestCaseRule.java │ │ ├── validators │ │ │ ├── AtlasEdgeValidatorTest.java │ │ │ ├── AtlasLineItemValidatorTest.java │ │ │ ├── AtlasLocationItemValidatorTest.java │ │ │ ├── AtlasNodeValidatorTest.java │ │ │ ├── AtlasRelationValidatorTest.java │ │ │ └── AtlasValidatorTest.java │ │ └── walker │ │ │ ├── OsmWayWalkerTest.java │ │ │ ├── OsmWayWalkerTestRule.java │ │ │ ├── SimpleEdgeWalkerTest.java │ │ │ └── SimpleEdgeWalkerTestRule.java │ ├── boundary │ │ ├── CountryBoundaryMapTest.java │ │ ├── CountryShardListingTest.java │ │ ├── CountryToShardListCacheTest.java │ │ └── converters │ │ │ └── CountryBoundaryMapGeoJsonConverterTest.java │ ├── clipping │ │ ├── GeometryOperationTest.java │ │ ├── MultiPolygonClipperTest.java │ │ └── PolygonClipperTest.java │ ├── converters │ │ ├── GeodeticEarthCenteredEarthFixedConverterTest.java │ │ ├── MultiPolygonStringConverterTest.java │ │ ├── MultiplePolyLineToMultiPolygonConverterTest.java │ │ ├── MultiplePolyLineToPolygonsConverterCommandTest.java │ │ ├── MultiplePolyLineToPolygonsConverterTest.java │ │ ├── SlippyTileConverterTest.java │ │ ├── WkbMultiPolygonConverterTest.java │ │ ├── WkbPolyLineConverterTest.java │ │ ├── WkbPolygonConverterTest.java │ │ ├── WktMultiPolygonConverterTest.java │ │ └── WktPolygonConverterTest.java │ ├── coordinates │ │ └── CoordinatesTest.java │ ├── geojson │ │ ├── ConcatenateGeoJsonCommandTest.java │ │ ├── GeoJsonBuilderTest.java │ │ ├── GeoJsonUtilsTest.java │ │ └── parser │ │ │ ├── domain │ │ │ ├── bbox │ │ │ │ └── DimensionsTest.java │ │ │ └── geometry │ │ │ │ └── coordinate │ │ │ │ └── CoordinatesTest.java │ │ │ ├── impl │ │ │ └── jackson │ │ │ │ ├── AbstractGeoJsonParserJacksonImplTestBase.java │ │ │ │ ├── GeoJsonParserJacksonImplExtensionsTest.java │ │ │ │ └── GeoJsonParserJacksonImplTest.java │ │ │ └── testdomain │ │ │ ├── BeanA.java │ │ │ └── BeanB.java │ ├── index │ │ └── SpatialIndexTest.java │ ├── matching │ │ └── PolyLineMatchTest.java │ └── sharding │ │ ├── CountryShardTest.java │ │ ├── DynamicTileShardingTest.java │ │ ├── GeoHashShardingTest.java │ │ ├── GeoHashTileTest.java │ │ ├── SlippyTileShardingTest.java │ │ ├── SlippyTileTest.java │ │ └── converters │ │ ├── RectangleToSpatial4JRectangleConverterTest.java │ │ └── StringToShardConverterTest.java │ ├── locale │ ├── IsoCountryFuzzyMatcherTest.java │ ├── IsoCountryTest.java │ └── IsoLanguageTest.java │ ├── proto │ ├── FullProtoSuiteTest.java │ ├── adapters │ │ ├── ProtoAtlasMetaDataAdapterTest.java │ │ ├── ProtoByteArrayOfArraysAdapterTest.java │ │ ├── ProtoIntegerArrayOfArraysAdapterTest.java │ │ ├── ProtoIntegerStringDictionaryAdapterTest.java │ │ ├── ProtoLongArrayAdapterTest.java │ │ ├── ProtoLongArrayOfArraysAdapterTest.java │ │ ├── ProtoLongToLongMapAdapterTest.java │ │ ├── ProtoLongToLongMultiMapAdapterTest.java │ │ ├── ProtoPackedTagStoreAdapterTest.java │ │ ├── ProtoPolyLineArrayAdapterTest.java │ │ └── ProtoPolygonArrayAdapterTest.java │ ├── builder │ │ └── ProtoAtlasBuilderTest.java │ └── converters │ │ ├── ProtoIntegerArrayOfArraysConverterTest.java │ │ ├── ProtoLocationConverterTest.java │ │ └── ProtoTagListConverterTest.java │ ├── streaming │ ├── SplittableInputStreamTest.java │ ├── readers │ │ ├── CsvReaderTest.java │ │ └── GeoJsonReaderTest.java │ ├── resource │ │ ├── ByteArrayOutputStreamExceptional.java │ │ ├── FileSuffixTestCase.java │ │ ├── FileSuffixTestCaseResource.java │ │ ├── FileTest.java │ │ ├── InputStreamResourceCloseableTest.java │ │ ├── OutputStreamWritableResourceCloseableTest.java │ │ ├── ResourceTest.java │ │ └── zip │ │ │ └── ZipResourceTest.java │ └── writers │ │ └── JsonWriterTest.java │ ├── tags │ ├── AbstractNameFinderTestCase.java │ ├── BarrierTagTestCase.java │ ├── BulkNameFinderForcedLocalizableTestCase.java │ ├── BulkNameFinderTestCase.java │ ├── CheckDateTagTestCase.java │ ├── ConstructionDateTagTestCase.java │ ├── DestinationTagTestCase.java │ ├── DisusedRailwayTagTestCase.java │ ├── EstimatedWidthTagTest.java │ ├── FerryTagTest.java │ ├── GetTagsTestCase.java │ ├── HeightTagTestCase.java │ ├── HighwayTagTestCase.java │ ├── ISOCountryTagTestCase.java │ ├── LayerTagTest.java │ ├── LocalizedTagNameWithOptionalDateTestCase.java │ ├── LocalizedTaggableTestCase.java │ ├── NameFinderTestCase.java │ ├── OpenDateTagTestCase.java │ ├── OpeningDateTagTestCase.java │ ├── ProtectClassTagTest.java │ ├── RailwayTagTestCase.java │ ├── SmoothnessTagTest.java │ ├── StandardNameFinderTestCase.java │ ├── SyntheticTagTestCase.java │ ├── TagTestSuite.java │ ├── TaggableTest.java │ ├── TemporaryDateOnTagTestCase.java │ ├── TestSyntheticTag.java │ ├── TurnLaneBackwardTagTestCase.java │ ├── TurnLaneForwardTagTestCase.java │ ├── TurnLaneTagTestCase.java │ ├── TurnTagTestCase.java │ ├── annotations │ │ ├── extraction │ │ │ ├── AltitudeExtractorTest.java │ │ │ ├── LengthExtractorTest.java │ │ │ ├── LongExtractorTestCase.java │ │ │ ├── OrdinalExtractorTestCase.java │ │ │ └── SpeedExtractorTest.java │ │ └── validation │ │ │ ├── AddressFlatsTagTestCase.java │ │ │ ├── BaseTagTestCase.java │ │ │ ├── BuildingTagTestCase.java │ │ │ ├── DisusedShopTagTestCase.java │ │ │ ├── FromEnumTestCase.java │ │ │ ├── HighwayTagTestCase.java │ │ │ ├── ISOCountryTagTestCase.java │ │ │ ├── LastEditUserIdentifierTestCase.java │ │ │ ├── LayerTagTestCase.java │ │ │ ├── LengthValidatorTest.java │ │ │ ├── LevelTagTestCase.java │ │ │ ├── MaxHeightTagTestCase.java │ │ │ ├── MaxWidthTagTestCase.java │ │ │ ├── OpeningHoursTagTestCase.java │ │ │ ├── SpeedTagsTestCase.java │ │ │ ├── TagValidationTestSuite.java │ │ │ ├── TagValueAsTestCase.java │ │ │ ├── ValidatorsHasValuesForTestCase.java │ │ │ └── ValidatorsTestCase.java │ ├── cache │ │ ├── TaggerTestCase.java │ │ └── TaggerTestRule.java │ ├── filters │ │ ├── ConfiguredTaggableFilterTest.java │ │ ├── RegexTaggableFilterTest.java │ │ ├── TaggableFilterTest.java │ │ ├── TaggableFilterToMatcherConverterTest.java │ │ └── matcher │ │ │ ├── ConfiguredTaggableMatcherTest.java │ │ │ ├── TaggableMatcherTest.java │ │ │ └── parsing │ │ │ ├── LexerTest.java │ │ │ ├── ParserTest.java │ │ │ ├── SemanticCheckerTest.java │ │ │ └── tree │ │ │ ├── ASTNodeTest.java │ │ │ └── TreePrinterTest.java │ └── oneway │ │ └── OneWayTagTest.java │ ├── test │ └── TestUtility.java │ └── utilities │ ├── archive │ └── ExtractorTest.java │ ├── arrays │ └── LargeArrayTest.java │ ├── caching │ ├── ConcurrentResourceCacheTest.java │ ├── LocalFileInMemoryCacheTest.java │ ├── ResourceCacheTest.java │ └── strategies │ │ ├── ByteArrayCachingStrategyTest.java │ │ ├── NamespaceCachingStrategiesTest.java │ │ └── NoCachingStrategyTest.java │ ├── checkstyle │ └── ArrangementCheckTest.java │ ├── collections │ ├── EnumSetCollectorTestCase.java │ ├── FilteredIterableTest.java │ ├── FixedSizePriorityQueueTest.java │ ├── IterablesAddAllTestCase.java │ ├── IterablesTest.java │ ├── MapsTest.java │ ├── MultiIterableTest.java │ ├── OptionalIterableTest.java │ ├── ParallelIterableTest.java │ ├── SetsTest.java │ ├── ShardBucketCollectionTest.java │ ├── ShardBucketCollectionTestClasses.java │ ├── StreamIterableTest.java │ ├── StringListTest.java │ └── SubIterableTest.java │ ├── command │ ├── SimpleOptionAndArgumentParserTest.java │ └── subcommands │ │ ├── AnyToGeoJsonCommandTest.java │ │ ├── AtlasDiffCommandTest.java │ │ ├── AtlasDiffCommandTestRule.java │ │ ├── AtlasMetadataReaderCommandTest.java │ │ ├── AtlasSearchCommandTest.java │ │ ├── AtlasShardingConverterCommandTest.java │ │ ├── AtlasShellToolsDemoCommandTest.java │ │ ├── ConcatenateAtlasCommandTest.java │ │ ├── CountryBoundaryMapPrinterCommandTest.java │ │ ├── CountryShardToBoundsCommandTest.java │ │ ├── HelloWorldCommandTest.java │ │ ├── IsoCountryCodeCommandTest.java │ │ ├── JavaToProtoSerializationCommandTest.java │ │ ├── OsmFileParserCommandTest.java │ │ ├── OsmToAtlasCommandTest.java │ │ ├── PackedToTextAtlasCommandTest.java │ │ ├── PbfToAtlasCommandTest.java │ │ ├── SubAtlasCommandTest.java │ │ ├── TaggableMatcherPrinterCommandTest.java │ │ ├── TemplateTestCommandTest.java │ │ ├── WKTShardCommandTest.java │ │ └── templates │ │ ├── AtlasLoaderCommandTest.java │ │ ├── AtlasLoaderTemplateTest.java │ │ ├── MultipleOutputCommandTest.java │ │ └── OutputDirectoryTemplateTest.java │ ├── configuration │ ├── ConfiguredFilterTest.java │ ├── MergedConfigurationTest.java │ └── StandardConfigurationTest.java │ ├── conversion │ ├── HexStringByteArrayConverterTest.java │ ├── StringToPredicateConverterTest.java │ └── StringToPredicateConverterTestRule.java │ ├── direction │ ├── EdgeDirectionComparatorTest.java │ └── EdgeDirectionComparatorTestCaseRule.java │ ├── filters │ ├── AtlasEntityPolygonsFilterTest.java │ └── AtlasEntityPolygonsFilterTestRule.java │ ├── graphs │ └── DirectedAcyclicGraphTest.java │ ├── identifiers │ └── EntityIdentifierGeneratorTest.java │ ├── jsoncompare │ ├── ArraysRegularExpressionJSONComparatorTestCase.java │ ├── DegenerateRegularExpressionJSONComparatorTestCase.java │ ├── MatchingRegularExpressionJSONComparatorTestCase.java │ ├── ObjectsRegularExpressionJSONComparatorTestCase.java │ └── RegularExpressionJSONComparatorTestSuite.java │ ├── maps │ ├── LargeMapTest.java │ └── MultiMapTest.java │ ├── matching │ └── NameMatcherTestCase.java │ ├── random │ └── RandomTextGeneratorTest.java │ ├── runtime │ ├── BooleanFlagTest.java │ ├── FlagNameParsingRegressionTest.java │ ├── RetryTest.java │ ├── RunScriptTest.java │ └── system │ │ ├── SystemInfoTest.java │ │ └── memory │ │ └── MemoryTest.java │ ├── scalars │ ├── AngleTest.java │ ├── DistanceTest.java │ ├── DoubleCounterTest.java │ ├── DurationTest.java │ ├── RatioTest.java │ ├── SpeedTest.java │ └── SurfaceTest.java │ ├── statistic │ ├── CounterWithStatisticTest.java │ ├── CustomizedStatisticTest.java │ └── StatisticUtilsTest.java │ ├── testing │ ├── AtlasFromTextTestCase.java │ ├── AtlasFromTextTestCaseRule.java │ ├── AtlasTestCase.java │ ├── AtlasTestCaseRule.java │ ├── BeanTestCase.java │ ├── BeanTestCaseRule.java │ ├── CoreTestExtension.java │ ├── OsmFileParserTest.java │ ├── SomeTestBean.java │ ├── TestAtlasTest.java │ └── TestAtlasTestRule.java │ ├── threads │ └── PoolTest.java │ ├── time │ └── LocalTimeTest.java │ ├── timezone │ └── TimeZoneTest.java │ ├── tuples │ ├── EitherTest.java │ └── TupleTest.java │ ├── unicode │ └── LoadingClassifierTestCase.java │ └── vectortiles │ └── MinimumZoomTest.java └── resources ├── aql-files ├── test.aql ├── test1 │ └── test.aql └── test2 │ ├── test.aql │ ├── testA │ ├── test.aql │ └── test.aql.sig │ └── testB │ ├── test.aql │ ├── test.aql.sig │ ├── test2.aql │ └── test2.aql.sig ├── data ├── Alcatraz │ ├── Alcatraz.atlas.txt │ └── Alcatraz.osm ├── ButterflyPark │ ├── ButterflyPark.atlas.txt │ └── ButterflyPark.osm └── polygon │ └── jsonl │ └── samples.jsonl ├── log4j.properties └── org └── openstreetmap └── atlas ├── geography ├── BLR-small.atlas.txt.gz ├── MultiPolygonTestGeom1.wkt ├── MultiPolygonTestGeom10.josm.osm ├── MultiPolygonTestGeom2.josm.osm ├── MultiPolygonTestGeom3.josm.osm ├── MultiPolygonTestGeom4.josm.osm ├── MultiPolygonTestGeom5.josm.osm ├── MultiPolygonTestGeom6.josm.osm ├── MultiPolygonTestGeom7.josm.osm ├── MultiPolygonTestGeom8.josm.osm ├── MultiPolygonTestGeom9.josm.osm ├── atlas │ ├── ECU_6-16-31.atlas │ ├── NZL_9-506-316.atlas.gz │ ├── builder │ │ └── overpass-turbo.geojson │ ├── change │ │ ├── ChangeAtlasTest.josm.osm │ │ ├── ChangeAtlasTestEdge.josm.osm │ │ ├── MultipleChangeAtlasTest.atlas.txt │ │ ├── MultipleChangeAtlasTest.osm │ │ ├── diff │ │ │ ├── DiffAtlas1.josm.osm │ │ │ └── DiffAtlas2.josm.osm │ │ ├── nodeBoundsExpansionAtlas.josm.osm │ │ └── serializer │ │ │ ├── change.json │ │ │ ├── serializedAddEdgeWithDescription.json │ │ │ ├── serializedAddRelationWithDescription.json │ │ │ ├── serializedAreaFull.json │ │ │ ├── serializedAreaNull.json │ │ │ ├── serializedAreaRemove.json │ │ │ ├── serializedEdgeFull.json │ │ │ ├── serializedEdgeNull.json │ │ │ ├── serializedEdgeRemove.json │ │ │ ├── serializedLineFull.json │ │ │ ├── serializedLineNull.json │ │ │ ├── serializedLineRemove.json │ │ │ ├── serializedNodeFull.json │ │ │ ├── serializedNodeNull.json │ │ │ ├── serializedNodeRemove.json │ │ │ ├── serializedPointFull.json │ │ │ ├── serializedPointNull.json │ │ │ ├── serializedPointRemove.json │ │ │ ├── serializedPointWithTags.json │ │ │ ├── serializedRelationFull.json │ │ │ ├── serializedRelationNull.json │ │ │ ├── serializedRelationRemove.json │ │ │ ├── serializedRemoveAreaWithDescription.json │ │ │ ├── serializedReverseWay.json │ │ │ └── serializedUpdateEdgeWithDescription.json │ ├── command │ │ ├── DNK_Copenhagen │ │ │ ├── DNK_1.atlas.txt │ │ │ ├── DNK_2.atlas.txt │ │ │ └── DNK_3.atlas.txt │ │ ├── atlas-edge.json │ │ ├── atlas-way-section.json │ │ ├── complex-SF.txt │ │ ├── continent_map.txt │ │ ├── osm-pbf-node.json │ │ ├── osm-pbf-relation.json │ │ ├── osm-pbf-way.json │ │ └── world_islands.osm.pbf │ ├── dynamic │ │ └── rules │ │ │ ├── DynamicAtlasAgressiveRelationsTest_11-998-708.josm.osm │ │ │ ├── DynamicAtlasAgressiveRelationsTest_11-999-708.josm.osm │ │ │ ├── DynamicAtlasMovingTooFastTest.osm │ │ │ ├── DynamicAtlasPartialInitialShardsTest.osm │ │ │ ├── DynamicAtlasPreemptiveLoadTest.osm │ │ │ ├── DynamicAtlasRestrainedExpansionWithPolygonTest.osm │ │ │ ├── z12all.atlas.geojson │ │ │ ├── z12x1349y1869.atlas.geojson │ │ │ ├── z12x1349y1869.geojson │ │ │ ├── z12x1349y1870.atlas.geojson │ │ │ ├── z12x1349y1870.geojson │ │ │ ├── z12x1350y1869.atlas.geojson │ │ │ ├── z12x1350y1869.geojson │ │ │ ├── z12x1350y1870.atlas.geojson │ │ │ └── z12x1350y1870.geojson │ ├── items │ │ ├── complex │ │ │ ├── InnerOuterMultiPolygon.osm │ │ │ ├── bignode │ │ │ │ ├── dnk-link-road-test.osm │ │ │ │ ├── expand.atlas.txt.gz │ │ │ │ ├── overlap.atlas.txt.gz │ │ │ │ ├── overmerge.atlas.txt.gz │ │ │ │ ├── u-turn-shape-edge.osm │ │ │ │ └── ukr-link-road-test.osm │ │ │ ├── buildings │ │ │ │ ├── building_block_atlas.txt │ │ │ │ ├── building_with_levels.txt │ │ │ │ └── building_with_minheights.txt │ │ │ ├── highwayarea │ │ │ │ ├── intersection.txt.gz │ │ │ │ ├── invalidHighwayArea.txt.gz │ │ │ │ ├── noHighwayArea.txt.gz │ │ │ │ ├── out_of_order_highway_area.txt.gz │ │ │ │ ├── size_zero.txt.gz │ │ │ │ ├── validHighwayArea.txt.gz │ │ │ │ ├── validHighwayArea_1.txt.gz │ │ │ │ └── validHighwayArea_2.txt.gz │ │ │ ├── restriction │ │ │ │ ├── atlasBrokenTurnRestrictionRoute.josm.osm │ │ │ │ ├── bigNode.txt.gz │ │ │ │ └── bigNodeWithOnlyTurnRestrictions.txt.gz │ │ │ └── water │ │ │ │ ├── canalAsRelation.atlas.txt │ │ │ │ ├── canalAsRelationOfCanals.atlas.txt │ │ │ │ ├── harborAsArea.atlas.txt │ │ │ │ └── harborAsRelation.atlas.txt │ │ └── intersectionAtlas.atlas.txt │ ├── line-delimited-geojson.txt │ ├── pbf │ │ ├── AIA_boundary.txt │ │ ├── DMA_boundary.txt │ │ ├── DNK_SWE_boundary.txt │ │ ├── bridgeConfiguredFilter1.json │ │ ├── bridgeConfiguredFilter2.json │ │ ├── edge-filter.json │ │ ├── ferryRelation5831018.osm │ │ ├── noRelationNoTagsAtIntersectionAtlas.osm │ │ ├── noRelationNoTagsNoIntersectionAtlas.osm │ │ ├── noRelationWithTagsAtIntersectionAtlas.osm │ │ ├── noRelationWithTagsNoIntersectionAtlas.osm │ │ ├── one_way_roads_in_AIA.osm │ │ ├── osmPbfProcessorTest_keepOutsideWaysThatAreConnected.osm │ │ ├── outsideConnectedOneWayWays.osm │ │ ├── partOfRelationNoTagsAtIntersectionAtlas.osm │ │ ├── partOfRelationNoTagsNoIntersectionAtlas.osm │ │ ├── partOfRelationWithTagsAtIntersectionAtlas.osm │ │ ├── partOfRelationWithTagsNoIntersectionAtlas.osm │ │ └── partialRelation4451979.osm │ ├── raw │ │ ├── DMA_boundary.txt │ │ ├── DNK_SWE_boundary.txt │ │ ├── creation │ │ │ ├── 7-105-51.osm.pbf │ │ │ ├── 9-433-268.osm.pbf │ │ │ ├── nestedSingleRelations.josm.osm │ │ │ ├── nestedSingleRelations.osm │ │ │ └── nestedSingleRelations.osm.pbf │ │ ├── osmPbfProcessorTest_keepOutsideWaysThatAreConnected.osm │ │ ├── outsideConnectedOneWayWays.osm │ │ ├── sectioning │ │ │ ├── bidirectionalRing.atlas.txt │ │ │ ├── lineWithBarrier.atlas.txt │ │ │ ├── lineWithInvalidOverlappingGeometry.atlas.txt │ │ │ ├── lineWithLessThanTwoNodesDueToRepeatedLocationAtEndOfLine.atlas.txt │ │ │ ├── lineWithLoopAtEnd.atlas.txt │ │ │ ├── lineWithLoopAtStart.atlas.txt │ │ │ ├── lineWithLoopInMiddle.atlas.txt │ │ │ ├── lineWithRepeatedLocation.atlas.txt │ │ │ ├── loopWithRepeatedLocation.atlas.txt │ │ │ ├── loopingWayWithIntersection.atlas.txt │ │ │ ├── malformedPolyLine.atlas.txt │ │ │ ├── malformedPolyLineBoundaryMap.txt │ │ │ ├── nestedRelationRemoval.atlas.txt │ │ │ ├── nestedRelationRemovalBoundaryMap.txt │ │ │ ├── nodeAndPointAsRelationMember.atlas.txt │ │ │ ├── nodeAndPointRelationMemberBoundaryMap.txt │ │ │ ├── oneWayRing.atlas.txt │ │ │ ├── oneWaySimpleLine.atlas.txt │ │ │ ├── pedestrianRing.atlas.txt │ │ │ ├── rawAtlasSpanningOutsideBoundary.atlas.txt │ │ │ ├── reversedOneWayLine.atlas.txt │ │ │ ├── ringWithSingleIntersection.atlas.txt │ │ │ ├── roundAbout.atlas.txt │ │ │ ├── selfIntersectingLoop.atlas.txt │ │ │ ├── simpleBiDirectionalLine.atlas.txt │ │ │ └── wayExceedingSectioningLimit.atlas.txt │ │ └── slicing │ │ │ └── CIV_GIN_LBR_osm_boundaries.txt.gz │ ├── statistics │ │ ├── addressAtlas.josm.osm │ │ ├── ferryAtlas.josm.osm │ │ ├── refsAtlas.josm.osm │ │ └── waterAtlas.josm.osm │ └── walker │ │ ├── OsmWayWalker-Way169884263.atlas.txt │ │ └── OsmWayWalker-Way30647513.atlas.txt ├── boundary │ ├── AAA_boundary.expected.json │ ├── AAA_boundary.txt │ ├── CIV_osm_boundaries.txt.gz │ ├── DMA_as_world_osm_boundaries.txt.gz │ ├── DMA_boundary.txt │ ├── DMA_snake_polyline.wkt │ ├── HTI_DOM_osm_boundaries.txt.gz │ ├── HTI_boundary.txt │ ├── MAF_AIA_osm_boundaries.txt.gz │ ├── MAF_AIA_osm_boundaries_with_grid_index.txt.gz │ ├── USA_HTI_overlapping.atlas.txt │ ├── USA_boundary_reduced.txt │ ├── ZAF_osm_boundary.txt.gz │ ├── ZAF_osm_shards_with_14.txt │ ├── countryToShardList.txt │ ├── duplicate_shape.dbf │ ├── duplicate_shape.prj │ ├── duplicate_shape.qpj │ ├── duplicate_shape.shp │ ├── duplicate_shape.shx │ ├── slicing-filter.json │ ├── tree-6-13-100000.txt.gz │ └── tree-6-14-100000.txt.gz ├── clipping │ ├── testHuggingPolygons.josm.osm │ ├── testOverlappingPolygonsToMultiPolygon.josm.osm │ ├── testOverlappingPolygonsToPolygon.josm.osm │ └── testTouchingPolygons.josm.osm ├── converters │ ├── MultiplePolyLineToPolygonsConverterTest_crossingPolyLines.txt │ ├── MultiplePolyLineToPolygonsConverterTest_expectedPolygons.txt │ ├── MultiplePolyLineToPolygonsConverterTest_jtsErrorInner1.wkt │ ├── MultiplePolyLineToPolygonsConverterTest_jtsErrorInner2.wkt │ ├── MultiplePolyLineToPolygonsConverterTest_jtsErrorOuter.wkt │ └── MultiplePolyLineToPolygonsConverterTest_multiplePolyLines.txt ├── fourSelfIntersectingPolygon.osm ├── geojson │ ├── concatenated_geojson_files_expected │ ├── parser │ │ ├── beanA.json │ │ ├── beanBWithArray.json │ │ ├── beanBWithoutArray.json │ │ ├── description1.json │ │ ├── descriptor1.json │ │ ├── descriptor2.json │ │ ├── descriptor3.json │ │ ├── feature1.json │ │ ├── feature2.json │ │ ├── featureChangeProperties.json │ │ ├── featureChangePropertiesBad1.json │ │ ├── featureChangePropertiesBad2.json │ │ ├── featureChangePropertiesExample1.json │ │ ├── featureChangePropertiesExample2.json │ │ ├── featureChangePropertiesRelationMemberDescriptor.json │ │ ├── featureCollection1.json │ │ ├── featureWithExtendedProperties.json │ │ ├── foreignFieldsNested.json │ │ ├── foreignFieldsSimple.json │ │ ├── geometryCollectionBasic.json │ │ ├── geometryCollectionChildConversion.json │ │ ├── geometryCollectionRecursiveNested.json │ │ ├── lineString.json │ │ ├── lineStringConversion.json │ │ ├── multiLineString.json │ │ ├── multiLineStringConversion.json │ │ ├── multiPoint.json │ │ ├── multiPointConversion.json │ │ ├── multiPolygon.json │ │ ├── multiPolygonConversion.json │ │ ├── multiPolygonDonut.json │ │ ├── point.json │ │ ├── pointConversion.json │ │ ├── pointWithBbox2D.json │ │ ├── pointWithBbox3D.json │ │ ├── polygon.json │ │ ├── polygonConversion.json │ │ ├── propertiesNested.json │ │ └── propertiesSimple.json │ ├── test1.geojson │ ├── test2.geojson │ └── test3.geojson ├── polygonWithFlatZeroAreaPart.osm ├── polygonWithInclinedZeroArea.osm ├── selfIntersectingPolygon.osm └── sharding │ ├── testDynamicSharding.txt │ ├── testDynamicShardingChildOrdering.txt │ └── testDynamicShardingMissingChildren.txt ├── streaming ├── readers │ ├── data.csv │ ├── geojson-multipolygon.json │ ├── geojson-point.json │ ├── geojson-polygon.json │ ├── geojson-sample.json │ └── wrongData.csv └── resource │ └── zip │ └── test.zip ├── tags └── filters │ ├── matcher │ └── test-matching.json │ └── test-filtering.json └── utilities ├── archive └── testExtractor.zip ├── caching └── strategies │ └── hello.txt.gz ├── checkstyle ├── ArrangementCheckRight.java ├── ArrangementCheckWrongField0.java ├── ArrangementCheckWrongField1.java ├── ArrangementCheckWrongField2.java ├── ArrangementCheckWrongInitializerBlock.java ├── ArrangementCheckWrongInitializerStaticBlock.java ├── ArrangementCheckWrongMethodModifier.java ├── ArrangementCheckWrongMethodName.java ├── ArrangementCheckWrongMethodVisibility1.java └── ArrangementCheckWrongMethodVisibility2.java ├── command └── subcommands │ ├── AtlasDiffCommandAtlas1.josm.osm │ ├── AtlasDiffCommandAtlas2.josm.osm │ ├── AtlasDiffCommandAtlas3.josm.osm │ ├── AtlasDiffCommandAtlas4.josm.osm │ ├── CountryBoundaryMapPrinterCommandTestBoundaries.txt │ ├── MAF_AIA_osm_boundaries_with_grid_index.txt │ ├── MultiPolygonTest.josm.osm │ ├── MultiPolygonTest.osm │ ├── expected-json-features.txt │ ├── sharding-tree-1-expected.geojson │ ├── sharding-tree-1.txt │ ├── shardingConverter.josm.osm │ ├── templates │ ├── atlas1.atlas.txt │ ├── atlas2.atlas.txt │ └── atlas_malformed.atlas.txt │ ├── testPbf2Atlas.josm.osm │ ├── test_boundary.txt │ └── test_boundary_expected.geojson ├── configuration ├── ConfiguredFilterTest.json ├── ConfiguredFilterTestOtherRoot.json ├── application.json ├── application.yml ├── development.json ├── development.yml ├── developmentOverriding.json ├── developmentOverriding.yml ├── feature.json ├── feature.yml ├── geometryFilter.josm.osm ├── keywordOverridingApplication.json ├── keywordOverridingApplication.yml ├── yaml_dot_compressed.yml └── yaml_dot_expanded.yml ├── filters ├── includeExcludePolygonArrangements.osm ├── multiPolygons.osm ├── testCounts.osm └── testForms.osm └── testing ├── josmOsmFile.osm ├── osmFile.osm └── test.txt /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Description: 2 | 3 | Add description here. 4 | 5 | ### Potential Impact: 6 | 7 | List potential impact to downstream libraries here (ex. atlas-checks, atlas-generator) 8 | 9 | ### Unit Test Approach: 10 | 11 | Describe unit tests being added with that PR. 12 | 13 | ### Test Results: 14 | 15 | Describe other (non-unit) test results here. 16 | 17 | ------ 18 | 19 | In doubt: [Contributing Guidelines](CONTRIBUTING.md) 20 | -------------------------------------------------------------------------------- /.github/workflow_data/secret.gpg.aes256: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/.github/workflow_data/secret.gpg.aes256 -------------------------------------------------------------------------------- /.github/workflow_scripts/decrypt_gpg_key.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Decrypt the file 4 | 5 | if [ "$MANUAL_RELEASE_TRIGGERED" = "true" ]; 6 | then 7 | # --batch to prevent interactive command 8 | # --yes to assume "yes" for questions 9 | gpg --quiet --batch --yes --decrypt --passphrase="$GPG_AES256_PASSPHRASE" \ 10 | --output "$GPG_KEY_LOCATION" .github/workflow_data/secret.gpg.aes256 11 | 12 | chmod 700 "$GPG_KEY_LOCATION" 13 | else 14 | echo "Not decrypting key, since MANUAL_RELEASE_TRIGGERED=$MANUAL_RELEASE_TRIGGERED" 15 | fi 16 | -------------------------------------------------------------------------------- /.github/workflow_scripts/update_project_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CURRENT_BRANCH=$(echo "$GITHUB_REF" | awk 'BEGIN { FS = "/" } ; { print $3 }') 4 | echo "Current Branch: $CURRENT_BRANCH" 5 | 6 | if [ "$CURRENT_BRANCH" = "main" ] && [ "$MANUAL_RELEASE_TRIGGERED" = "true" ]; 7 | then 8 | echo "This is a manual release, change the version locally to remove the -SNAPSHOT" 9 | sed -i "s/-SNAPSHOT//g" gradle.properties 10 | else 11 | echo "Not a manual release, keeping -SNAPSHOT" 12 | fi 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/build/ 2 | **/bin/ 3 | .classpath 4 | .project 5 | .settings 6 | .checkstyle 7 | .gradle 8 | .out 9 | .dist 10 | *.ipr 11 | *.iml 12 | *.iws 13 | *.ws~ 14 | .idea/ 15 | /tags 16 | /build/ 17 | .DS_Store 18 | **/.DS_Store 19 | **/out/ 20 | /bin/ 21 | **/ignored/ 22 | src/generated/ 23 | **/gradle/ 24 | gradlew* 25 | 26 | # pyatlas stuff 27 | *_pb2.py 28 | *.pyc 29 | pyatlas/dist/ 30 | pyatlas/pyatlas.egg-info/ 31 | __*venv__ 32 | pyatlas/protoc 33 | pyatlas/doc/*.html 34 | pyatlas/LICENSE 35 | -------------------------------------------------------------------------------- /.travis/build-pyatlas-gate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ $TRAVIS_TEST_RESULT -eq 0 ]; 4 | then 5 | ./gradlew cleanPyatlas buildPyatlas 6 | RETURN_VALUE=$? 7 | if [ "$RETURN_VALUE" != "0" ]; 8 | then 9 | exit $RETURN_VALUE 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /.travis/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | chmod u+x gradlew 4 | 5 | if [ "$MANUAL_RELEASE_TRIGGERED" = "true" ]; 6 | then 7 | # This is a release job, triggered manually 8 | # Change the version locally to remove the -SNAPSHOT 9 | sed -i "s/-SNAPSHOT//g" gradle.properties 10 | echo "This is a manual release!" 11 | else 12 | echo "Not a manual release" 13 | fi 14 | 15 | if [ "$TRAVIS_PULL_REQUEST" != "false" ]; 16 | then 17 | ./gradlew clean build 18 | else 19 | ./gradlew clean build 20 | fi 21 | -------------------------------------------------------------------------------- /.travis/deploy-gate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ $TRAVIS_TEST_RESULT -eq 0 ]; 4 | then 5 | .travis/deploy.sh 6 | RETURN_VALUE=$? 7 | if [ "$RETURN_VALUE" != "0" ]; 8 | then 9 | exit $RETURN_VALUE 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /.travis/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ "$TRAVIS_BRANCH" = "main" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; 4 | then 5 | if [ "$MANUAL_RELEASE_TRIGGERED" = "true" ]; 6 | then 7 | echo "Sign, Upload archives to local repo, Upload archives to Sonatype, Close and release repository." 8 | ./gradlew uploadArchives publishToNexusAndClose 9 | #python -m pip install --user --upgrade twine 10 | #twine upload ./pyatlas/dist/* 11 | fi 12 | fi 13 | -------------------------------------------------------------------------------- /.travis/install.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ "$TRAVIS_BRANCH" = "main" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; 4 | then 5 | openssl aes-256-cbc -K $encrypted_7b323cc104d6_key -iv $encrypted_7b323cc104d6_iv -in $ENCRYPTED_GPG_KEY_LOCATION -out $GPG_KEY_LOCATION -d 6 | fi 7 | -------------------------------------------------------------------------------- /.travis/merge-dev-to-main-gate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ $TRAVIS_TEST_RESULT -eq 0 ]; 4 | then 5 | .travis/merge-dev-to-main.sh 6 | RETURN_VALUE=$? 7 | if [ "$RETURN_VALUE" != "0" ]; 8 | then 9 | exit $RETURN_VALUE 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /.travis/secring.gpg.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/.travis/secring.gpg.enc -------------------------------------------------------------------------------- /.travis/sonar-gate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ $TRAVIS_TEST_RESULT -eq 0 ]; 4 | then 5 | .travis/sonar.sh 6 | RETURN_VALUE=$? 7 | if [ "$RETURN_VALUE" != "0" ]; 8 | then 9 | exit $RETURN_VALUE 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /.travis/tag-main-gate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | if [ $TRAVIS_TEST_RESULT -eq 0 ]; 4 | then 5 | .travis/tag-main.sh 6 | RETURN_VALUE=$? 7 | if [ "$RETURN_VALUE" != "0" ]; 8 | then 9 | exit $RETURN_VALUE 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /atlas-shell-tools/.atlas-shell-tools-integrity-file: -------------------------------------------------------------------------------- 1 | # This file is used by Atlas Shell Tools to ensure that ATLAS_SHELL_TOOLS_HOME 2 | # is set correctly. 3 | 4 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | group=org.openstreetmap.atlas 2 | version=7.0.10-SNAPSHOT 3 | 4 | maven2_url=https://oss.sonatype.org/service/local/staging/deploy/maven2/ 5 | snapshot_url=https://oss.sonatype.org/content/repositories/snapshots/ 6 | project_name="OSM Atlas Library" 7 | project_description="Library to load OSM data into an Atlas format" 8 | project_url=https://github.com/osmlab/atlas 9 | project_license_url=https://github.com/osmlab/atlas/blob/main/LICENSE 10 | project_license_slug="BSD 3 Clause" 11 | project_developer=matthieun 12 | project_scm=scm:git:https://github.com/osmlab/atlas.git 13 | -------------------------------------------------------------------------------- /gradle/dropSonatype.sh: -------------------------------------------------------------------------------- 1 | export DROP_PAYLOAD='{'\ 2 | ' "data":{'\ 3 | ' "stagedRepositoryIds":['\ 4 | ' "'$STAGING_ID'"'\ 5 | ' ],'\ 6 | ' "description":"Dropping Atlas repo"'\ 7 | ' }'\ 8 | '}' 9 | 10 | curl --fail -u $SONATYPE_USERNAME:$SONATYPE_PASSWORD \ 11 | -X POST \ 12 | -H "Content-Type:application/json" \ 13 | -d "$DROP_PAYLOAD" \ 14 | "$API_ENDPOINT/staging/bulk/drop" 15 | -------------------------------------------------------------------------------- /gradle/releaseSonatype.sh: -------------------------------------------------------------------------------- 1 | export RELEASE_PAYLOAD='{'\ 2 | ' "data":{'\ 3 | ' "stagedRepositoryIds":['\ 4 | ' "'$STAGING_ID'"'\ 5 | ' ],'\ 6 | ' "description":"Releasing Atlas repo"'\ 7 | ' }'\ 8 | '}' 9 | 10 | curl --fail -s -u $SONATYPE_USERNAME:$SONATYPE_PASSWORD \ 11 | -X POST \ 12 | -H "Content-Type:application/json" \ 13 | -d "$RELEASE_PAYLOAD" \ 14 | "$API_ENDPOINT/staging/bulk/promote" \ 15 | -------------------------------------------------------------------------------- /gradle/uploadToNexus.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | name=$1 4 | password=$2 5 | repodir=$3 6 | stagingId=$4 7 | 8 | find $repodir -type f | while read f; do 9 | suffix=$(echo $f | sed "s%^$repodir/%%") 10 | echo "Uploading to: ${stagingId}: ${suffix}" 11 | curl -s -u $name:$password -H "Content-type: application/x-rpm" --upload-file $f https://oss.sonatype.org/service/local/staging/deployByRepositoryId/${stagingId}/${suffix} 12 | done 13 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionSha256Sum=8cc27038d5dbd815759851ba53e70cf62e481b87494cc97cfd97982ada5ba634 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /images/atlas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/images/atlas.png -------------------------------------------------------------------------------- /images/slf4j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/images/slf4j.png -------------------------------------------------------------------------------- /pyatlas/doc/how_to_get_the_docs.txt: -------------------------------------------------------------------------------- 1 | Use the 'buildPyatlas' gradle target to generate the docs! 2 | 3 | From the root atlas project directory run: 4 | 5 | $ ./gradlew buildPyatlas 6 | 7 | -------------------------------------------------------------------------------- /pyatlas/pyatlas/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /pyatlas/pyatlas/autogen/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/pyatlas/pyatlas/autogen/__init__.py -------------------------------------------------------------------------------- /pyatlas/pyatlas/pyatlas_globalfunc.py: -------------------------------------------------------------------------------- 1 | """ 2 | This module contains global utility functions for pyatlas. 3 | """ 4 | 5 | 6 | def hello_atlas(): 7 | """ 8 | Print a welcome message! 9 | """ 10 | print("Hello Atlas!") 11 | -------------------------------------------------------------------------------- /pyatlas/resources/test.atlas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/pyatlas/resources/test.atlas -------------------------------------------------------------------------------- /pyatlas/style.yapf: -------------------------------------------------------------------------------- 1 | [style] 2 | based_on_style = pep8 3 | column_limit = 100 -------------------------------------------------------------------------------- /sample/Readme.md: -------------------------------------------------------------------------------- 1 | # Sample Project 2 | 3 | - Copy the `sample` project folder locally, and open it as a Gradle project in your favorite IDE. 4 | - Grab one or more Atlas files from the links at the top of [that](/src/main/java/org/openstreetmap/atlas/geography/atlas#using-atlas) readme 5 | - Open the [`Sample.java`](src/main/java/org/openstreetmap/atlas/sample/Sample.java) file, and take a look at what it is doing. 6 | - Run the `Sample` class with the following switch: 7 | 8 | ``` 9 | -atlas=/path/to/some.atlas 10 | ``` 11 | -------------------------------------------------------------------------------- /sample/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | } 4 | 5 | repositories 6 | { 7 | // For geotools 8 | maven { url "http://repo.osgeo.org/repository/release/" } 9 | mavenCentral() 10 | } 11 | 12 | dependencies 13 | { 14 | compile 'org.slf4j:slf4j-api:1.7.12' 15 | compile 'org.slf4j:slf4j-log4j12:1.7.12' 16 | compile 'log4j:log4j:1.2.17' 17 | compile 'org.openstreetmap.atlas:atlas:6.3.0' 18 | } 19 | -------------------------------------------------------------------------------- /sample/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'atlas-sample' 2 | -------------------------------------------------------------------------------- /sample/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=INFO, stdout 2 | 3 | # Direct log messages to stdout 4 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 5 | log4j.appender.stdout.Target=System.out 6 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 7 | log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c{1}:%L - %m%n 8 | -------------------------------------------------------------------------------- /scripts/log4j-atlas/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=ERROR, stdout 2 | 3 | # Direct log messages to stdout 4 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 5 | log4j.appender.stdout.Target=System.out 6 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 7 | log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 8 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'atlas' 2 | -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/CUB_7-37-56.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/CUB_7-37-56.txt.gz -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/delta/DMA_9-168-233-alter.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/delta/DMA_9-168-233-alter.txt.gz -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/delta/DMA_9-168-233-base.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/delta/DMA_9-168-233-base.txt.gz -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/dynamic/DMA_9-168-233.atlas.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/dynamic/DMA_9-168-233.atlas.txt.gz -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/dynamic/DMA_9-168-234.atlas.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/dynamic/DMA_9-168-234.atlas.txt.gz -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/items/complex/boundaries/HTI-DOM-Boundaries.atlas.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/items/complex/boundaries/HTI-DOM-Boundaries.atlas.txt.gz -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/pbf/BHS-6-18-27.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/pbf/BHS-6-18-27.pbf -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/pbf/BLZ_raw_08242015.osm.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/pbf/BLZ_raw_08242015.osm.pbf -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/pbf/CUB_72-111.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/pbf/CUB_72-111.pbf -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/pbf/CUB_osm_boundaries.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/pbf/CUB_osm_boundaries.txt.gz -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/8-122-122-trimmed.osm.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/8-122-122-trimmed.osm.pbf -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/CIV_GIN_LBR_osm_boundaries_with_grid_index.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/CIV_GIN_LBR_osm_boundaries_with_grid_index.txt.gz -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/layerIntersectionAtEndBoundaryMap.txt: -------------------------------------------------------------------------------- 1 | RUS||POLYGON((82.9358393 55.0504618, 82.9440158 55.0514274, 82.9463965 55.0445087, 82.9378292 55.0434533, 82.9358393 55.0504618)) -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/layerIntersectionAtStartBoundaryMap.txt: -------------------------------------------------------------------------------- 1 | RUS||POLYGON((38.7 52.4, 38.8 52.4, 38.8 52.5, 38.7 52.5, 38.7 52.4)) -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/layerIntersectionInMiddleBoundaryMap.txt: -------------------------------------------------------------------------------- 1 | SGP||POLYGON((103.6350863 1.3492437, 103.6863940 1.3448244, 103.6839910 1.2996620, 103.6219767 1.3022755, 103.6350863 1.3492437)) -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/node-4353689487.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/node-4353689487.pbf -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/twoWaysWithDifferentLayersIntersectingAtEnd.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/twoWaysWithDifferentLayersIntersectingAtEnd.pbf -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/twoWaysWithDifferentLayersIntersectingAtStart.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/twoWaysWithDifferentLayersIntersectingAtStart.pbf -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/twoWaysWithDifferentLayersIntersectingInMiddle.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/integrationTest/resources/org/openstreetmap/atlas/geography/atlas/raw/twoWaysWithDifferentLayersIntersectingInMiddle.pbf -------------------------------------------------------------------------------- /src/integrationTest/resources/org/openstreetmap/atlas/geography/boundary/oceanTestBoundary.txt: -------------------------------------------------------------------------------- 1 | ABC||POLYGON((-106.02905273438 -46.1865234375, -129.23217773438 -21.5771484375, -125.71655273438 15.6884765625, -99.700927734375 57.8759765625, -49.075927734375 61.3916015625, 7.174072265625 67.0166015625, 52.877197265625 52.2509765625, 93.658447265625 46.6259765625, 124.59594726563 10.7666015625, 126.00219726563 -20.1708984375, 85.220947265625 -49.7021484375, -4.075927734375 -56.7333984375, -79.310302734375 -59.5458984375, -106.02905273438 -46.1865234375))# 2 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/event/Event.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.event; 2 | 3 | import java.util.Date; 4 | 5 | /** 6 | * Useful base class to hold common information for {@link Event} implementations 7 | * 8 | * @author mkalender 9 | */ 10 | public abstract class Event 11 | { 12 | private final Date timestamp; 13 | 14 | /** 15 | * Default constructor 16 | */ 17 | protected Event() 18 | { 19 | this.timestamp = new Date(); 20 | } 21 | 22 | protected Date getTimestamp() 23 | { 24 | return this.timestamp; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/event/ShutdownEvent.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.event; 2 | 3 | /** 4 | * An {@link Event} that is posted when {@link EventService} is shutting down 5 | * 6 | * @author mkalender 7 | */ 8 | public class ShutdownEvent extends Event 9 | { 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/GeometricObject.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public interface GeometricObject 7 | { 8 | double SIMILARITY_THRESHOLD = 0.9999999; 9 | 10 | boolean intersects(PolyLine other); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/GeometryPrintable.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography; 2 | 3 | import org.openstreetmap.atlas.geography.geojson.GeoJson; 4 | 5 | /** 6 | * @author matthieun 7 | */ 8 | public interface GeometryPrintable extends GeoJson, WktPrintable, WkbPrintable 9 | { 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/WkbPrintable.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public interface WkbPrintable 7 | { 8 | byte[] toWkb(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/change/ChangeType.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.change; 2 | 3 | /** 4 | * Types of changes. Here, MODIFY is omitted, as it can be translated to an ADD, for simplicity. 5 | * 6 | * @author matthieun 7 | */ 8 | public enum ChangeType 9 | { 10 | ADD, 11 | REMOVE 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/change/description/ChangeDescriptorType.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.change.description; 2 | 3 | import org.openstreetmap.atlas.geography.atlas.change.ChangeType; 4 | 5 | /** 6 | * Three basic types to characterize the change descriptions. This is similar to the 7 | * {@link ChangeType} enum, but with additional support for a more granular 8 | * {@link ChangeDescriptorType#UPDATE} type. 9 | * 10 | * @author lcram 11 | */ 12 | public enum ChangeDescriptorType 13 | { 14 | ADD, 15 | UPDATE, 16 | REMOVE 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/change/description/descriptors/ChangeDescriptorName.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.change.description.descriptors; 2 | 3 | /** 4 | * The various values of the name field in the {@link ChangeDescriptor} JSON serialization. This 5 | * enum mostly exists to prevent us from having to hardcode strings all over the place. 6 | * 7 | * @author lcram 8 | */ 9 | public enum ChangeDescriptorName 10 | { 11 | TAG, 12 | GEOMETRY, 13 | PARENT_RELATION, 14 | RELATION_MEMBER, 15 | IN_EDGE, 16 | OUT_EDGE, 17 | START_NODE, 18 | END_NODE 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/change/eventhandling/event/consts/FieldChangeOperation.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.change.eventhandling.event.consts; 2 | 3 | /** 4 | * Indicates an operation being performed on a field of a 5 | * {@link org.openstreetmap.atlas.geography.atlas.complete.CompleteEntity}, like tags, geometry, 6 | * relations, etc. 7 | * 8 | * @author Yazad Khambata 9 | */ 10 | public enum FieldChangeOperation 11 | { 12 | ADD, 13 | REMOVE, 14 | REPLACE, 15 | OVERWRITE; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/change/eventhandling/listenable/EntityChangeListenable.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.change.eventhandling.listenable; 2 | 3 | /** 4 | * An object that can be "listened" to. Typically a 5 | * {@link org.openstreetmap.atlas.geography.atlas.complete.CompleteEntity}. 6 | * 7 | * @author Yazad Khambata 8 | */ 9 | public interface EntityChangeListenable 10 | { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/change/eventhandling/listener/TagChangeListener.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.change.eventhandling.listener; 2 | 3 | import org.openstreetmap.atlas.geography.atlas.change.eventhandling.event.TagChangeEvent; 4 | 5 | /** 6 | * Tracking changes to the tags of the 7 | * {@link org.openstreetmap.atlas.geography.atlas.complete.CompleteEntity}. 8 | * 9 | * @author Yazad Khambata 10 | */ 11 | public interface TagChangeListener extends EntityChangeListener 12 | { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/changeset/ChangeAction.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.changeset; 2 | 3 | /** 4 | * Enumeration of all action types of a change. 5 | * 6 | * @author Yiqing Jin 7 | * @deprecated - see new API under org.openstreetmap.atlas.geography.atlas.change package. 8 | */ 9 | @Deprecated 10 | public enum ChangeAction 11 | { 12 | CREATE, 13 | UPDATE, 14 | DELETE, 15 | READ 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/changeset/ChangeSetDeserializer.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.changeset; 2 | 3 | import java.util.Optional; 4 | import java.util.function.Supplier; 5 | 6 | /** 7 | * Deerializer interface for {@link ChangeSet}. 8 | * 9 | * @author yiqing-jin 10 | * @author mkalender 11 | * @deprecated - see new API under org.openstreetmap.atlas.geography.atlas.change package. 12 | */ 13 | @Deprecated 14 | public interface ChangeSetDeserializer extends Supplier>, AutoCloseable 15 | { 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/changeset/ChangeSetSerializer.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.changeset; 2 | 3 | import java.util.function.Consumer; 4 | 5 | /** 6 | * Serializer interface for {@link ChangeSet}. 7 | * 8 | * @author yiqing-jin 9 | * @author mkalender 10 | * @deprecated - see new API under org.openstreetmap.atlas.geography.atlas.change package. 11 | */ 12 | @Deprecated 13 | public interface ChangeSetSerializer extends Consumer, AutoCloseable 14 | { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/command/AtlasCommandConstants.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.command; 2 | 3 | /** 4 | * Putting all of those strings in one place 5 | * 6 | * @author cstaylor 7 | */ 8 | public interface AtlasCommandConstants 9 | { 10 | String INPUT_PARAMETER_DESCRIPTION = "-input=/path/to/atlas/files : the atlas files we want to load\n"; 11 | String INPUT_ZOOM_LEVEL = "-zoom_level=\n"; 12 | String OUTPUT_FOLDER_DESCRIPTION = "-output=/path/to/atlas/output/to/save : the path to output atlas files\n"; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/complete/PrettifyStringFormat.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.complete; 2 | 3 | /** 4 | * @author lcram 5 | */ 6 | public enum PrettifyStringFormat 7 | { 8 | MINIMAL_SINGLE_LINE, 9 | MINIMAL_MULTI_LINE; 10 | 11 | public static final int TRUNCATE_LENGTH = 2000; 12 | public static final String TRUNCATE_ELLIPSES = "..."; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/items/ConnectedEntityType.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.items; 2 | 3 | import java.util.function.Function; 4 | 5 | /** 6 | * An interface that generalizes enum based declarative connectivity information. 7 | * 8 | * @param 9 | * - The current entity. 10 | * @param 11 | * - The connected entity. 12 | * @author Yazad Khambata 13 | */ 14 | public interface ConnectedEntityType 15 | { 16 | Function getAccessFunction(); 17 | 18 | String getPropertyName(); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/items/README.md: -------------------------------------------------------------------------------- 1 | # Atlas Items 2 | 3 | ## TurnRestriction 4 | 5 | A TurnRestriction is a Route that is restricted based on an [OSM turn restriction](http://wiki.openstreetmap.org/wiki/Relation:restriction) relation. 6 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/packed/PackedAtlasLogMessages.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.packed; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | final class PackedAtlasLogMessages 7 | { 8 | static final String ALREADY_EXISTS_EXCEPTION_MESSAGE = "{} with identifier {} already exists."; 9 | 10 | private PackedAtlasLogMessages() 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/pbf/slicing/identifier/PaddingIdentifierFactory.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.pbf.slicing.identifier; 2 | 3 | /** 4 | * IdentifierFactory for padding only 5 | * 6 | * @author tony 7 | */ 8 | public final class PaddingIdentifierFactory 9 | { 10 | private static final long IDENTIFIER_PADDING = 1_000_000; 11 | 12 | public static long pad(final long identifier) 13 | { 14 | return identifier * IDENTIFIER_PADDING; 15 | } 16 | 17 | private PaddingIdentifierFactory() 18 | { 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/atlas/routing/README.md: -------------------------------------------------------------------------------- 1 | # Routing 2 | 3 | This package contains simple routers mostly used to test the Atlas connectivity features. 4 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/clipping/README.md: -------------------------------------------------------------------------------- 1 | # Geometry Clipping 2 | 3 | Rules below are deprecated 4 | 5 | Subject|Clipping|Result 6 | -------|-------|------- 7 | PolyLine|Polygon|List of PolyLines 8 | PolyLine|MultiPolygon|List of PolyLines 9 | Polygon|Polygon|List of Polygons 10 | PolyLine|MultiPolygon|One MultiPolygon 11 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/geojson/GeoJsonCollection.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.geojson; 2 | 3 | /** 4 | * Interface for all GeoJson collection types {@link GeojsonGeometryCollection} and 5 | * {@link GeoJsonFeatureCollection} 6 | * 7 | * @param 8 | * The type of GeoJsonGeometry in the collection 9 | * @author jklamer 10 | */ 11 | public interface GeoJsonCollection extends GeoJson 12 | { 13 | Iterable getGeoJsonObjects(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/geojson/parser/domain/annotation/Foreign.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.geojson.parser.domain.annotation; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | /** 10 | * @author Yazad Khambata 11 | */ 12 | @Documented 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target({ ElementType.TYPE, ElementType.FIELD }) 15 | public @interface Foreign 16 | { 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/geojson/parser/domain/bbox/Bbox.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.geojson.parser.domain.bbox; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | 6 | /** 7 | * @author Yazad Khambata 8 | */ 9 | public interface Bbox extends Serializable 10 | { 11 | 12 | Dimensions applicableDimensions(); 13 | 14 | List toList(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/geojson/parser/domain/foreign/ForeignFields.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.geojson.parser.domain.foreign; 2 | 3 | import java.io.Serializable; 4 | import java.util.Map; 5 | 6 | /** 7 | * @author Yazad Khambata 8 | */ 9 | public interface ForeignFields extends Serializable 10 | { 11 | Map asMap(); 12 | 13 | T get(String key, Class valueClass); 14 | 15 | Object get(String key); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/geojson/parser/domain/foreign/SupportsForeigners.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.geojson.parser.domain.foreign; 2 | 3 | /** 4 | * @author Yazad Khambata 5 | */ 6 | public interface SupportsForeigners 7 | { 8 | ForeignFields getForeignFields(); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/geojson/parser/domain/geometry/Geometry.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.geojson.parser.domain.geometry; 2 | 3 | import org.openstreetmap.atlas.geography.geojson.parser.domain.base.GeoJsonItem; 4 | import org.openstreetmap.atlas.geography.geojson.parser.domain.base.type.GeometryType; 5 | 6 | /** 7 | * @author Yazad Khambata 8 | */ 9 | public interface Geometry extends GeoJsonItem 10 | { 11 | GeometryType getGeometryType(); 12 | 13 | String getTypeValue(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/geojson/parser/mapper/Mapper.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.geojson.parser.mapper; 2 | 3 | import java.io.Serializable; 4 | import java.util.Map; 5 | 6 | /** 7 | * @author Yazad Khambata 8 | */ 9 | public interface Mapper extends Serializable 10 | { 11 | T map(Map map, Class targetClass); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/sharding/preparation/tileDownload.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Once the tiles have been counted in the database, use this to download them. 4 | 5 | : ${1:?"Make sure to pass the database user name to the script"} 6 | 7 | psql -U $1 -d osm_planet -c "\copy sharding.counts TO ./counts.csv WITH DELIMITER ',' CSV" 8 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/sharding/preparation/tileExecute.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Run the function that will count the tiles members in the database. 4 | 5 | : ${1:?"Make sure to pass the database user name to the script"} 6 | 7 | psql -U $1 -d osm_planet -c "SELECT * FROM countForTiles()" 8 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/geography/sharding/preparation/tilePrinter.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Once the tiles sql files are generated, run this script to have the database do the counting. 4 | 5 | : ${1:?"Make sure to pass the database user name to the script"} 6 | 7 | for sqlscript in ./*.sql 8 | do 9 | echo "processing $sqlscript" 10 | psql -U $1 -d osm_planet -f $sqlscript 11 | done 12 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/proto/ProtoSerializable.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.proto; 2 | 3 | import org.openstreetmap.atlas.proto.adapters.ProtoAdapter; 4 | 5 | /** 6 | * {@link ProtoSerializable} is a contract for types that would like to be serialized in protocol 7 | * buffer format. A type that implements this interface must be able to provide a valid adapter to 8 | * its owner. 9 | * 10 | * @author lcram 11 | */ 12 | public interface ProtoSerializable 13 | { 14 | /** 15 | * @return The adapter associated with this {@link ProtoSerializable} 16 | */ 17 | ProtoAdapter getProtoAdapter(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/streaming/readers/csv/converters/CsvLineConverter.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.streaming.readers.csv.converters; 2 | 3 | import org.openstreetmap.atlas.streaming.readers.CsvLine; 4 | import org.openstreetmap.atlas.utilities.conversion.Converter; 5 | 6 | /** 7 | * Converter from a {@link CsvLine} 8 | * 9 | * @param 10 | * The type to be converted 11 | * @author matthieun 12 | */ 13 | public interface CsvLineConverter extends Converter 14 | { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/streaming/readers/json/serializers/PolyLineSerializer.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.streaming.readers.json.serializers; 2 | 3 | import org.openstreetmap.atlas.geography.PolyLine; 4 | 5 | import com.google.gson.JsonSerializer; 6 | 7 | /** 8 | * {@link JsonSerializer} for a {@link PolyLine} 9 | * 10 | * @author matthieun 11 | */ 12 | public class PolyLineSerializer extends MultiLocationSerializer 13 | { 14 | @Override 15 | protected String getType() 16 | { 17 | return "LineString"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/streaming/readers/json/serializers/PolygonSerializer.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.streaming.readers.json.serializers; 2 | 3 | import org.openstreetmap.atlas.geography.Polygon; 4 | 5 | import com.google.gson.JsonSerializer; 6 | 7 | /** 8 | * {@link JsonSerializer} for a {@link Polygon} 9 | * 10 | * @author matthieun 11 | */ 12 | public class PolygonSerializer extends MultiLocationSerializer 13 | { 14 | @Override 15 | protected String getType() 16 | { 17 | return "Polygon"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/streaming/resource/WritableResourceCloseable.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.streaming.resource; 2 | 3 | /** 4 | * Use for WritableResources that have dependent AutoCloseable resources 5 | * 6 | * @author Taylor Smock 7 | */ 8 | public interface WritableResourceCloseable extends WritableResource, ResourceCloseable 9 | { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/streaming/resource/http/DeleteResource.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.streaming.resource.http; 2 | 3 | import java.net.URI; 4 | 5 | import org.apache.http.client.methods.HttpDelete; 6 | 7 | /** 8 | * Same usage as found in {@link HttpResource} 9 | * 10 | * @author cuthbertm 11 | */ 12 | public class DeleteResource extends HttpResource 13 | { 14 | public DeleteResource(final String uri) 15 | { 16 | this(URI.create(uri)); 17 | } 18 | 19 | public DeleteResource(final URI uri) 20 | { 21 | super(uri); 22 | setRequest(new HttpDelete(uri)); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/streaming/resource/http/GetResource.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.streaming.resource.http; 2 | 3 | import java.net.URI; 4 | 5 | import org.apache.http.client.methods.HttpGet; 6 | 7 | /** 8 | * Same usage as found in {@link HttpResource} 9 | * 10 | * @author cuthbertm 11 | */ 12 | public class GetResource extends HttpResource 13 | { 14 | public GetResource(final String uri) 15 | { 16 | this(URI.create(uri)); 17 | } 18 | 19 | public GetResource(final URI uri) 20 | { 21 | super(uri); 22 | setRequest(new HttpGet(uri)); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/streaming/resource/http/PutResource.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.streaming.resource.http; 2 | 3 | import java.net.URI; 4 | 5 | import org.apache.http.client.methods.HttpPut; 6 | 7 | /** 8 | * Same usage as {@link PostResource} 9 | * 10 | * @author cuthbertm 11 | */ 12 | public class PutResource extends PostResource 13 | { 14 | public PutResource(final String uri) 15 | { 16 | this(URI.create(uri)); 17 | } 18 | 19 | public PutResource(final URI uri) 20 | { 21 | super(uri); 22 | setRequest(new HttpPut(uri)); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AbandonedAerowayTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM abandoned:aeroway tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(with = { 12 | AerowayTag.class }, taginfo = "http://taginfo.openstreetmap.org/keys/abandoned%3Aaeroway#values", osm = "https://wiki.openstreetmap.org/wiki/Key:abandoned:") 13 | public interface AbandonedAerowayTag 14 | { 15 | @TagKey 16 | String KEY = "abandoned:aeroway"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AbandonedAmenityTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM abandoned:amenity tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(with = { 12 | AmenityTag.class }, taginfo = "http://taginfo.openstreetmap.org/keys/abandoned%3Aamenity#values", osm = "https://wiki.openstreetmap.org/wiki/Key:abandoned:") 13 | public interface AbandonedAmenityTag 14 | { 15 | @TagKey 16 | String KEY = "abandoned:amenity"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AbandonedArtworkTypeTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM abandoned:artwork_type tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(with = { 12 | ArtworkTypeTag.class }, taginfo = "http://taginfo.openstreetmap.org/keys/abandoned%3Aartwork_type#values", osm = "https://wiki.openstreetmap.org/wiki/Key:abandoned:") 13 | public interface AbandonedArtworkTypeTag 14 | { 15 | @TagKey 16 | String KEY = "abandoned:artwork_type"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AddressCityTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM addr:city tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/addr%3Acity#values", osm = "http://wiki.openstreetmap.org/wiki/Key:addr") 13 | public interface AddressCityTag 14 | { 15 | @TagKey 16 | String KEY = "addr:city"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AddressCountryTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM addr:country tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.ISO2_COUNTRY, taginfo = "http://taginfo.openstreetmap.org/keys/addr%3Acountry#values", osm = "http://wiki.openstreetmap.org/wiki/Key:addr") 13 | public interface AddressCountryTag 14 | { 15 | @TagKey 16 | String KEY = "addr:country"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AddressFlatsTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM addr:flats tag 9 | * 10 | * @author mgostintsev 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/search?q=addr%3Aflats", osm = "http://wiki.openstreetmap.org/wiki/Key:addr:flats") 13 | public interface AddressFlatsTag 14 | { 15 | @TagKey 16 | String KEY = "addr:flats"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AddressFullTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM addr:full tag 9 | * 10 | * @author cstaylor 11 | */ 12 | 13 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/addr%3Afull#values", osm = "http://wiki.openstreetmap.org/wiki/Key:addr") 14 | public interface AddressFullTag 15 | { 16 | @TagKey 17 | String KEY = "addr:full"; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AddressPlaceTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM addr:place tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/addr%3Aplace#values", osm = "http://wiki.openstreetmap.org/wiki/Key:addr") 13 | public interface AddressPlaceTag 14 | { 15 | @TagKey 16 | String KEY = "addr:place"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AddressPostcodeTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM addr:postcode tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/addr%3Apostcode#values", osm = "http://wiki.openstreetmap.org/wiki/Key:addr") 13 | public interface AddressPostcodeTag 14 | { 15 | @TagKey 16 | String KEY = "addr:postcode"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AddressProvinceTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM addr:province tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/addr%3Aprovince#values", osm = "http://wiki.openstreetmap.org/wiki/Key:addr") 13 | public interface AddressProvinceTag 14 | { 15 | @TagKey 16 | String KEY = "addr:province"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AddressStateTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM addr:state tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/addr%3Astate#values", osm = "http://wiki.openstreetmap.org/wiki/Key:addr") 13 | public interface AddressStateTag 14 | { 15 | @TagKey 16 | String KEY = "addr:state"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/AreaTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM area tag 8 | * 9 | * @author ihillberg 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/area#values", osm = "http://wiki.openstreetmap.org/wiki/Key:area") 12 | public enum AreaTag 13 | { 14 | YES, 15 | NO; 16 | 17 | @TagKey 18 | public static final String KEY = "area"; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/BrandTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM brand tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/brand#values", osm = "http://wiki.openstreetmap.org/wiki/Key:brand") 13 | public interface BrandTag 14 | { 15 | @TagKey 16 | String KEY = "brand"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/BreakfastTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM breakfast tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/breakfast#values", osm = "http://wiki.openstreetmap.org/wiki/Key:breakfast") 12 | public enum BreakfastTag 13 | { 14 | YES, 15 | BUFFET, 16 | NO, 17 | FREE; 18 | 19 | @TagKey 20 | public static final String KEY = "breakfast"; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/CheckDateTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM check_date tag 8 | * 9 | * @author brianjor 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/check_date#values", osm = "https://wiki.openstreetmap.org/wiki/Key:check_date") 12 | public interface CheckDateTag 13 | { 14 | @TagKey 15 | String KEY = "check_date"; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ConstructionDateTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM construction:date tag 8 | * 9 | * @author brianjor 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/construction:date#values", osm = "https://wiki.openstreetmap.org/wiki/Item:Q9553") 12 | public interface ConstructionDateTag 13 | { 14 | @TagKey 15 | String KEY = "construction:date"; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactDiasporaTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:diaspora tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Adiaspora#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactDiasporaTag 14 | { 15 | @TagKey 16 | String KEY = "contact:diaspora"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactEmailTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:email tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Aemail#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactEmailTag 14 | { 15 | @TagKey 16 | String KEY = "contact:email"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactFacebookTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:facebook tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Afacebook#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactFacebookTag 14 | { 15 | @TagKey 16 | String KEY = "contact:facebook"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactFaxTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:fax tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Afax#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactFaxTag 14 | { 15 | @TagKey 16 | String KEY = "contact:fax"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactLinkedInTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:linkedin tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Alinkedin#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactLinkedInTag 14 | { 15 | @TagKey 16 | String KEY = "contact:linkedin"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactMobileTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:mobile tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Amobile#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactMobileTag 14 | { 15 | @TagKey 16 | String KEY = "contact:mobile"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactPhoneTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:phone tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Aphone#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactPhoneTag 14 | { 15 | @TagKey 16 | String KEY = "contact:phone"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactTwitterTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:twitter tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Atwitter#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactTwitterTag 14 | { 15 | @TagKey 16 | String KEY = "contact:twitter"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactWebsiteTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:website tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.URI, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Awebsite#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactWebsiteTag 14 | { 15 | @TagKey 16 | String KEY = "contact:website"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ContactXingTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM contact:xing tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/contact%3Axing#values", osm = "http://wiki.openstreetmap.org/wiki/Key:contact") 13 | public interface ContactXingTag 14 | { 15 | @TagKey 16 | String KEY = "contact:xing"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/CoveredTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM Covered Tag 8 | * 9 | * @author cuthbertm 10 | */ 11 | @Tag(value = Tag.Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/covered", osm = "http://wiki.openstreetmap.org/wiki/Key:covered") 12 | public enum CoveredTag 13 | { 14 | YES, 15 | NO, 16 | ARCADE, 17 | COLONNADE; 18 | 19 | @TagKey 20 | public static final String KEY = "covered"; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/CuisineTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM cuisine tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/cuisine#values", osm = "http://wiki.openstreetmap.org/wiki/Key:cuisine") 13 | public interface CuisineTag 14 | { 15 | @TagKey 16 | String KEY = "cuisine"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/CyclewayLaneTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM cycleway lane tag 8 | * 9 | * @author james_gage 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/cycleway%3Alane#values", osm = "http://wiki.openstreetmap.org/wiki/Key:cycleway:lane") 12 | public enum CyclewayLaneTag 13 | { 14 | ADVISORY, 15 | EXCLUSIVE; 16 | 17 | @TagKey 18 | public static final String KEY = "cycleway:lane"; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/DestinationForwardTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM destination:forward tag 9 | * 10 | * @author alexhsieh 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/destination%3Aforward") 13 | public interface DestinationForwardTag 14 | { 15 | @TagKey 16 | String KEY = "destination:forward"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/DestinationIntRefTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM destination:int_ref tag 9 | * 10 | * @author sbhalekar 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/destination%3Aint_ref") 13 | public interface DestinationIntRefTag 14 | { 15 | @TagKey 16 | String KEY = "destination:int_ref"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/DestinationRefTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM destination:ref tag 9 | * 10 | * @author alexhsieh 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/destination%3Aref") 13 | public interface DestinationRefTag 14 | { 15 | @TagKey 16 | String KEY = "destination:ref"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/DestinationRefToTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM destination:ref:to tag 9 | * 10 | * @author sbhalekar 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/destination%3Aref%3Ato") 13 | public interface DestinationRefToTag 14 | { 15 | @TagKey 16 | String KEY = "destination:ref:to"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/DestinationStreetTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM destination:street tag 9 | * 10 | * @author sbhalekar 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/destination%3Astreet") 13 | public interface DestinationStreetTag 14 | { 15 | @TagKey 16 | String KEY = "destination:street"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/DestinationTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM destination tag 9 | * 10 | * @author alexhsieh 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/destination") 13 | public interface DestinationTag 14 | { 15 | @TagKey 16 | String KEY = "destination"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/DirectionTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM direction tag 8 | * 9 | * @author MonicaBrandeis 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/direction", osm = "https://wiki.openstreetmap.org/wiki/Key:direction") 12 | public enum DirectionTag 13 | { 14 | FORWARD, 15 | BACKWARD, 16 | CLOCKWISE, 17 | ANTICLOCKWISE, 18 | BOTH; 19 | 20 | @TagKey 21 | public static final String KEY = "direction"; 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/EmbankmentTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM embankment tag 8 | * 9 | * @author mkalender 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/embankment#values", osm = "http://wiki.openstreetmap.org/wiki/Key:embankment") 12 | public enum EmbankmentTag 13 | { 14 | YES, 15 | NO; 16 | 17 | @TagKey 18 | public static final String KEY = "embankment"; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ExitToLeftTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM exit_to:left tag 9 | * 10 | * @author alexhsieh 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/exit_to%3Aleft") 13 | public interface ExitToLeftTag 14 | { 15 | @TagKey 16 | String KEY = "exit_to:left"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ExitToRightTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM exit_to:right tag 9 | * 10 | * @author alexhsieh 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/exit_to%3Aright") 13 | public interface ExitToRightTag 14 | { 15 | @TagKey 16 | String KEY = "exit_to:right"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/ExitToTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM exit_to tag 9 | * 10 | * @author alexhsieh 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/exit_to") 13 | public interface ExitToTag 14 | { 15 | @TagKey 16 | String KEY = "exit_to"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/FaxTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM fax tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/fax#values", osm = "http://wiki.openstreetmap.org/wiki/Key:phone") 13 | public interface FaxTag 14 | { 15 | @TagKey 16 | String KEY = "fax"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/FixMeTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM fix me tag. Check OSM Wiki below for more information. 8 | * 9 | * @author v-garei 10 | */ 11 | @Tag(value = Tag.Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/fixme#values", osm = "https://wiki.openstreetmap.org/wiki/Key:fixme") 12 | public interface FixMeTag 13 | { 14 | @TagKey 15 | String KEY = "fixme"; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/FootwayTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM footway tag 8 | * 9 | * @author robert_stack 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/footway#values", osm = "http://wiki.openstreetmap.org/wiki/Key:footway") 12 | public enum FootwayTag 13 | { 14 | SIDEWALK, 15 | CROSSING; 16 | 17 | @TagKey 18 | public static final String KEY = "footway"; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/FourWheelDriveOnlyTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * This tag denotes roads that are only navigable by vehicles with Four wheel drive 8 | * 9 | * @author kkonishi2 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/?key=4wd_only", osm = "https://wiki.openstreetmap.org/wiki/Key:4wd_only") 12 | public enum FourWheelDriveOnlyTag 13 | { 14 | YES, 15 | NO; 16 | 17 | @TagKey 18 | public static final String KEY = "4wd_only"; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/HarbourTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM Harbour tag 8 | * 9 | * @author mgostintsev 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/harbour#values", osm = "http://wiki.openstreetmap.org/wiki/Harbour") 12 | public enum HarbourTag 13 | { 14 | YES; 15 | 16 | @TagKey 17 | public static final String KEY = "harbour"; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/HighResolutionTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM hires tag 8 | * 9 | * @author mgostintsev 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/hires#values") 12 | public enum HighResolutionTag 13 | { 14 | YES, 15 | NO, 16 | MAPBOX, 17 | BING; 18 | 19 | @TagKey 20 | public static final String KEY = "hires"; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/IntermittentTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM's intermittent tags 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/intermittent#values", osm = "http://wiki.openstreetmap.org/wiki/Key:intermittent") 12 | public enum IntermittentTag 13 | { 14 | YES, 15 | NO, 16 | DRY; 17 | 18 | @TagKey 19 | public static final String KEY = "intermittent"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/InternetAccessFeeTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM internet_access:fee tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/internet_access:fee#values", osm = "http://wiki.openstreetmap.org/wiki/Key:internet_access") 12 | public enum InternetAccessFeeTag 13 | { 14 | NO, 15 | YES; 16 | 17 | @TagKey 18 | public static final String KEY = "internet_access:fee"; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/InternetAccessTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM internet_access tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/internet_access#values", osm = "http://wiki.openstreetmap.org/wiki/Key:internet_access") 12 | public enum InternetAccessTag 13 | { 14 | WLAN, 15 | NO, 16 | YES, 17 | TERMINAL; 18 | 19 | @TagKey 20 | public static final String KEY = "internet_access"; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/LandcoverTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM landcover tag 8 | * 9 | * @author stephencerqueira 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/landcover#values", osm = "https://wiki.openstreetmap.org/wiki/Proposed_features/landcover") 12 | public enum LandcoverTag 13 | { 14 | GRASS, 15 | GRAVEL, 16 | TREES; 17 | 18 | @TagKey 19 | public static final String KEY = "landcover"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/LivingStreetTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM's living_street tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/living_street#values", osm = "http://wiki.openstreetmap.org/wiki/Proposed_features/Tag:living_street%3Dyes") 12 | public enum LivingStreetTag 13 | { 14 | YES, 15 | NO, 16 | RESIDENTIAL; 17 | 18 | @TagKey 19 | public static final String KEY = "living_street"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/NotesTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM notes tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/notes#values", osm = "http://wiki.openstreetmap.org/wiki/Notes") 13 | public interface NotesTag 14 | { 15 | @TagKey 16 | String KEY = "notes"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/OpenDateTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM open_date tag 8 | * 9 | * @author brianjor 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/open_date#values") 12 | public interface OpenDateTag 13 | { 14 | @TagKey 15 | String KEY = "open_date"; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/OpeningDateTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM opening_date tag 8 | * 9 | * @author brianjor 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/opening_date#values", osm = "https://wiki.openstreetmap.org/wiki/Key:opening_date") 12 | public interface OpeningDateTag 13 | { 14 | @TagKey 15 | String KEY = "opening_date"; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/OrganicTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM organic tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/organic#values", osm = "http://wiki.openstreetmap.org/wiki/Key:organic") 12 | public enum OrganicTag 13 | { 14 | ONLY, 15 | YES, 16 | NO, 17 | LIMITED; 18 | 19 | @TagKey 20 | public static final String KEY = "organic"; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/PhoneTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM phone tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/phone#values", osm = "http://wiki.openstreetmap.org/wiki/Key:phone") 13 | public interface PhoneTag 14 | { 15 | @TagKey 16 | String KEY = "phone"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/PublicServiceVehiclesTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM Public Service Vehicles (psv) tag 8 | * 9 | * @author mgostintsev 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/psv#values", osm = "http://wiki.openstreetmap.org/wiki/Key:psv") 12 | public enum PublicServiceVehiclesTag 13 | { 14 | YES, 15 | NO, 16 | BUS, 17 | OFFICIAL, 18 | DESIGNATED; 19 | 20 | @TagKey 21 | public static final String KEY = "psv"; 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/RampBicycleTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM ramp bicycle tag 8 | * 9 | * @author james_gage 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/ramp:bicycle#values", osm = "http://wiki.openstreetmap.org/wiki/Key:ramp:bicycle") 12 | public enum RampBicycleTag 13 | { 14 | YES, 15 | NO; 16 | 17 | @TagKey 18 | public static final String KEY = "ramp:bicycle"; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SaltTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM salt tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/salt#values", osm = "http://wiki.openstreetmap.org/wiki/Key:salt") 12 | public enum SaltTag 13 | { 14 | YES, 15 | NO, 16 | UNKNOWN; 17 | 18 | @TagKey 19 | public static final String KEY = "salt"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SidewalkLeftTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM sidewalk left tag 8 | * 9 | * @author Vladimir Lemberg 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/sidewalk:left#values", osm = "https://wiki.openstreetmap.org/wiki/Key:sidewalk:left") 12 | public enum SidewalkLeftTag 13 | { 14 | NO, 15 | YES, 16 | SEPARATE; 17 | 18 | @TagKey 19 | public static final String KEY = "sidewalk:left"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SidewalkRightTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM sidewalk right tag 8 | * 9 | * @author Vladimir Lemberg 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/sidewalk:right#values", osm = "https://wiki.openstreetmap.org/wiki/Key:sidewalk:right") 12 | public enum SidewalkRightTag 13 | { 14 | NO, 15 | YES, 16 | SEPARATE; 17 | 18 | @TagKey 19 | public static final String KEY = "sidewalk:right"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SmokingTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM smoking tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/smoking#values", osm = "http://wiki.openstreetmap.org/wiki/Key:smoking") 12 | public enum SmokingTag 13 | { 14 | NO, 15 | OUTSIDE, 16 | YES, 17 | SEPARATED, 18 | ISOLATED, 19 | DEDICATED, 20 | UNKNOWN; 21 | 22 | @TagKey 23 | public static final String KEY = "smoking"; 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SnowmobileTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM Snowmobile Tag. 8 | * 9 | * @author sayas01 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/snowmobile#values", osm = "https://wiki.openstreetmap.org/wiki/Key:snowmobile") 12 | public enum SnowmobileTag 13 | { 14 | NO, 15 | DESIGNATED, 16 | YES, 17 | PERMISSIVE, 18 | PRIVATE; 19 | 20 | @TagKey 21 | public static final String KEY = "snowmobile"; 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SourceTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM source tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/source#values", osm = "http://wiki.openstreetmap.org/wiki/Key:source") 13 | public interface SourceTag 14 | { 15 | @TagKey 16 | String KEY = "source"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SourceTypeTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM source:type tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/source%3Atype#values") 13 | public interface SourceTypeTag 14 | { 15 | @TagKey 16 | String KEY = "source:type"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SourceURLTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM source_url tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.URI, taginfo = "http://taginfo.openstreetmap.org/keys/source%3Aurl#values") 13 | public interface SourceURLTag 14 | { 15 | @TagKey 16 | String KEY = "source:url"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/SwimmingPoolTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM swimming_pool tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/swimming_pool#values") 12 | public enum SwimmingPoolTag 13 | { 14 | NO, 15 | YES, 16 | ABOVE, 17 | WADING, 18 | ENTRANCE, 19 | PLUNGE; 20 | 21 | @TagKey 22 | public static final String KEY = "swimming_pool"; 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/TemporaryDateOnTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM temporary:date_on tag 8 | * 9 | * @author brianjor 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/temporary:date_on#values", osm = "https://wiki.openstreetmap.org/wiki/Item:Q15233") 12 | public interface TemporaryDateOnTag 13 | { 14 | @TagKey 15 | String KEY = "temporary:date_on"; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/TracktypeTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM tracktype tag 8 | * 9 | * @author robert_stack 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/tracktype#values", osm = "http://wiki.openstreetmap.org/wiki/Key:tracktype") 12 | public enum TracktypeTag 13 | { 14 | GRADE1, 15 | GRADE2, 16 | GRADE3, 17 | GRADE4, 18 | GRADE5; 19 | 20 | @TagKey 21 | public static final String KEY = "tracktype"; 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/URLTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM url tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.URI, taginfo = "http://taginfo.openstreetmap.org/keys/url#values", osm = "http://wiki.openstreetmap.org/wiki/Key:url") 13 | public interface URLTag 14 | { 15 | @TagKey 16 | String KEY = "url"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/VacantTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM vacant tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/vacant#values") 12 | public enum VacantTag 13 | { 14 | YES, 15 | SELL, 16 | RENT, 17 | RESTAURANT, 18 | RENTAL, 19 | NO, 20 | PUB, 21 | CONSTRUCTION, 22 | SHOP; 23 | 24 | @TagKey 25 | public static final String KEY = "vacant"; 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/WebsiteTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM website tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.URI, taginfo = "http://taginfo.openstreetmap.org/keys/website#values", osm = "http://wiki.openstreetmap.org/wiki/Key:website") 13 | public interface WebsiteTag 14 | { 15 | @TagKey 16 | String KEY = "website"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/WheelchairDescriptionTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM wheelchair:description tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/wheelchair:description#values") 13 | public interface WheelchairDescriptionTag 14 | { 15 | @TagKey 16 | String KEY = "wheelchair:description"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/WheelchairTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM wheelchair tag 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(taginfo = "http://taginfo.openstreetmap.org/keys/wheelchair#values", osm = "http://wiki.openstreetmap.org/wiki/Key%3Awheelchair") 12 | public enum WheelchairTag 13 | { 14 | YES, 15 | NO, 16 | LIMITED; 17 | 18 | @TagKey 19 | public static final String KEY = "wheelchair"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/WifiTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM wifi tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/wifi#values", osm = "http://wiki.openstreetmap.org/wiki/Key:internet_access") 13 | public interface WifiTag 14 | { 15 | @TagKey 16 | String KEY = "wifi"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/WinterRoadTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM Winter Tag. 8 | * 9 | * @author sayas01 10 | */ 11 | @Tag(taginfo = "https://taginfo.openstreetmap.org/keys/winter_road#values", osm = "https://wiki.openstreetmap.org/wiki/Key:winter_road") 12 | public enum WinterRoadTag 13 | { 14 | YES, 15 | NO; 16 | 17 | @TagKey 18 | public static final String KEY = "winter_road"; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/annotations/validation/DoubleValidator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.annotations.validation; 2 | 3 | /** 4 | * Checks if the value of a tag is either an exact value or can be coerced into a java double and 5 | * within an optional range of accepted values 6 | * 7 | * @author cstaylor 8 | */ 9 | public class DoubleValidator extends NumericValidator 10 | { 11 | @Override 12 | protected Number parse(final String value) 13 | { 14 | return Double.parseDouble(value); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/annotations/validation/ISOCountryValidator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.annotations.validation; 2 | 3 | import org.openstreetmap.atlas.locale.IsoCountry; 4 | 5 | /** 6 | * Checks if the value of a tag matches an ISO2 or ISO3 country code 7 | * 8 | * @author cstaylor 9 | */ 10 | public class ISOCountryValidator implements TagValidator 11 | { 12 | @Override 13 | public boolean isValid(final String value) 14 | { 15 | return IsoCountry.isValidCountryCode(value); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/annotations/validation/LongValidator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.annotations.validation; 2 | 3 | /** 4 | * Checks if the value of a tag is either an exact value or can be coerced into a java long and 5 | * within an optional range of accepted values 6 | * 7 | * @author cstaylor 8 | */ 9 | public class LongValidator extends NumericValidator 10 | { 11 | @Override 12 | protected Number parse(final String value) 13 | { 14 | return Long.parseLong(value); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/annotations/validation/NonEmptyStringValidator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.annotations.validation; 2 | 3 | /** 4 | * Checks if the value of a tag has at least one non-whitespace character 5 | * 6 | * @author cstaylor 7 | */ 8 | public class NonEmptyStringValidator implements TagValidator 9 | { 10 | @Override 11 | public boolean isValid(final String value) 12 | { 13 | return value.trim().length() > 0; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/annotations/validation/NoneValidator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.annotations.validation; 2 | 3 | /** 4 | * Does no checking: only used for permitting any kind of values in a tag 5 | * 6 | * @author cstaylor 7 | */ 8 | public class NoneValidator implements TagValidator 9 | { 10 | @Override 11 | public boolean isValid(final String value) 12 | { 13 | return true; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/annotations/validation/OrdinalValidator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.annotations.validation; 2 | 3 | /** 4 | * Ordinals must be positive integers 5 | * 6 | * @author cstaylor 7 | */ 8 | public class OrdinalValidator extends NumericValidator 9 | { 10 | @Override 11 | protected Number parse(final String value) 12 | { 13 | return Long.parseLong(value); 14 | } 15 | 16 | @Override 17 | protected boolean withinRange(final Number checkMe) 18 | { 19 | return super.withinRange(checkMe) && checkMe.longValue() > 0L; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/HistoricallyReferencedAsTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM old_ref tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/old_ref#values", osm = "http://wiki.openstreetmap.org/wiki/Key:ref") 13 | public interface HistoricallyReferencedAsTag 14 | { 15 | @TagKey 16 | String KEY = "old_ref"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/InternationallyKnownAsTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM int_name tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/int_name#values", osm = "http://wiki.openstreetmap.org/wiki/Key:name") 13 | public interface InternationallyKnownAsTag 14 | { 15 | @TagKey 16 | String KEY = "int_name"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/LocallyKnownAsTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM loc_name tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/loc_name#values", osm = "http://wiki.openstreetmap.org/wiki/Key:name") 13 | public interface LocallyKnownAsTag 14 | { 15 | @TagKey 16 | String KEY = "loc_name"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/LocallyReferencedAsTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM loc_ref tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/loc_ref#values", osm = "http://wiki.openstreetmap.org/wiki/Key:ref") 13 | public interface LocallyReferencedAsTag 14 | { 15 | @TagKey 16 | String KEY = "loc_ref"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/Name1Tag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * OSM name_1 tag, not official per OSM tagging wiki, but is very prevalent especially in the USA 8 | * 9 | * @author brian_l_davis 10 | */ 11 | @Tag(value = Tag.Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/name_1#values", osm = "http://wiki.openstreetmap.org/wiki/Key:name_1") 12 | public interface Name1Tag 13 | { 14 | @TagKey 15 | String KEY = "name_1"; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/OldReferenceTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM old_ref tag 9 | * 10 | * @author kkonishi2 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "https://taginfo.openstreetmap.org/keys/old_ref", osm = "http://wiki.openstreetmap.org/wiki/Key:ref") 13 | public interface OldReferenceTag 14 | { 15 | @TagKey 16 | String KEY = "old_ref"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/ReferenceTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM ref tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/ref#values", osm = "http://wiki.openstreetmap.org/wiki/Key:ref") 13 | public interface ReferenceTag 14 | { 15 | @TagKey 16 | String KEY = "ref"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/RegionallyKnownAsTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM reg_name tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/reg_name#values", osm = "http://wiki.openstreetmap.org/wiki/Key:name") 13 | public interface RegionallyKnownAsTag 14 | { 15 | @TagKey 16 | String KEY = "reg_name"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/RegionallyReferencedAsTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM ref_ref tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/reg_ref#values", osm = "http://wiki.openstreetmap.org/wiki/Key:ref") 13 | public interface RegionallyReferencedAsTag 14 | { 15 | @TagKey 16 | String KEY = "reg_ref"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/tags/names/SortingNameTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags.names; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.Tag.Validation; 5 | import org.openstreetmap.atlas.tags.annotations.TagKey; 6 | 7 | /** 8 | * OSM sorting_name tag 9 | * 10 | * @author cstaylor 11 | */ 12 | @Tag(value = Validation.NON_EMPTY_STRING, taginfo = "http://taginfo.openstreetmap.org/keys/sorting_name#values", osm = "http://wiki.openstreetmap.org/wiki/Key:sorting_name") 13 | public interface SortingNameTag 14 | { 15 | @TagKey 16 | String KEY = "sorting_name"; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/README.md: -------------------------------------------------------------------------------- 1 | # Utilities package 2 | 3 | This package contains utilities that help with collections, [scalars](scalars), threading, running java commands, converting, counting, and many others. 4 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/abstractcommand/AtlasShellToolsMarkerInterface.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.abstractcommand; 2 | 3 | /** 4 | * A marker interface for the classpath scanner. No subcommands should directly implement this 5 | * interface. They instead should extend {@link AbstractAtlasShellToolsCommand}. 6 | * 7 | * @author lcram 8 | */ 9 | public interface AtlasShellToolsMarkerInterface 10 | { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/documentation/DocumentationFormatType.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.documentation; 2 | 3 | /** 4 | * @author lcram 5 | */ 6 | public enum DocumentationFormatType 7 | { 8 | PARAGRAPH, 9 | CODE 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/parsing/ArgumentArity.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.parsing; 2 | 3 | /** 4 | * The arity of an argument. 5 | * 6 | * @see "https://en.wikipedia.org/wiki/Arity" 7 | * @author lcram 8 | */ 9 | public enum ArgumentArity 10 | { 11 | UNARY, 12 | VARIADIC 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/parsing/ArgumentOptionality.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.parsing; 2 | 3 | /** 4 | * The optionality of a program argument. 5 | * 6 | * @author lcram 7 | */ 8 | public enum ArgumentOptionality 9 | { 10 | OPTIONAL, 11 | REQUIRED 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/parsing/OptionArgumentType.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.parsing; 2 | 3 | /** 4 | * The optionality of an option's argument. 5 | * 6 | * @author lcram 7 | */ 8 | public enum OptionArgumentType 9 | { 10 | NONE, 11 | OPTIONAL, 12 | REQUIRED 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/parsing/OptionOptionality.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.parsing; 2 | 3 | /** 4 | * The optionality of an option. 5 | * 6 | * @author lcram 7 | */ 8 | public enum OptionOptionality 9 | { 10 | OPTIONAL, 11 | REQUIRED 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/parsing/exceptions/AmbiguousAbbreviationException.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.parsing.exceptions; 2 | 3 | /** 4 | * @author lcram 5 | */ 6 | public class AmbiguousAbbreviationException extends Exception 7 | { 8 | private static final long serialVersionUID = 8506034533362610699L; 9 | 10 | public AmbiguousAbbreviationException(final String option, final String ambiguousOptions) 11 | { 12 | super("long option \'" + option + "\' is ambiguous (" + ambiguousOptions + ")"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/parsing/exceptions/ArgumentException.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.parsing.exceptions; 2 | 3 | /** 4 | * @author lcram 5 | */ 6 | public class ArgumentException extends Exception 7 | { 8 | private static final long serialVersionUID = 8506034533362610699L; 9 | 10 | public ArgumentException(final String message) 11 | { 12 | super(message); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/command/parsing/exceptions/OptionParseException.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.command.parsing.exceptions; 2 | 3 | /** 4 | * @author lcram 5 | */ 6 | public class OptionParseException extends Exception 7 | { 8 | private static final long serialVersionUID = 2471393426772482019L; 9 | 10 | public OptionParseException(final String message) 11 | { 12 | super(message); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/configuration/Configurable.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.configuration; 2 | 3 | import java.util.Optional; 4 | 5 | /** 6 | * Configurable wrapper 7 | * 8 | * @author brian_l_davis 9 | */ 10 | public interface Configurable 11 | { 12 | /** 13 | * @param 14 | * property type 15 | * @return the current value 16 | */ 17 | V value(); 18 | 19 | /** 20 | * @param 21 | * property type 22 | * @return Optional of the current value, wrapping {@code null} 23 | */ 24 | Optional valueOption(); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/conversion/Converter.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.conversion; 2 | 3 | import java.util.function.Function; 4 | 5 | /** 6 | * Convert from A type to B type 7 | * 8 | * @param 9 | * The source type 10 | * @param 11 | * The target type 12 | * @author tony 13 | */ 14 | public interface Converter extends Function 15 | { 16 | @Override 17 | default B apply(final A other) 18 | { 19 | return convert(other); 20 | } 21 | 22 | B convert(A object); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/conversion/StringConverter.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.conversion; 2 | 3 | /** 4 | * Converter from a String to a specified type 5 | * 6 | * @author matthieun 7 | * @param 8 | * The target conversion type 9 | */ 10 | public interface StringConverter extends Converter 11 | { 12 | StringConverter IDENTITY = string -> string; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/conversion/TwoWayConverter.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.conversion; 2 | 3 | /** 4 | * Not only can convert from A type to B type, this interface supports backward convert from B to A 5 | * as well 6 | * 7 | * @param 8 | * The source type 9 | * @param 10 | * The target type 11 | * @author tony 12 | */ 13 | public interface TwoWayConverter extends Converter 14 | { 15 | A backwardConvert(B object); 16 | 17 | default Converter revert() 18 | { 19 | return object -> backwardConvert(object); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/conversion/TwoWayStringConverter.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.conversion; 2 | 3 | /** 4 | * @author matthieun 5 | * @param 6 | * The type to convert to and from String 7 | */ 8 | public interface TwoWayStringConverter extends StringConverter, TwoWayConverter 9 | { 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/function/QuaternaryOperator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.function; 2 | 3 | /** 4 | * Represents an operation upon four operands of the same type, producing a result of the same type 5 | * as the operands. This is a specialization of {@link QuaternaryFunction} for the case where the 6 | * operands and the result are all of the same type. 7 | * 8 | * @param 9 | * the type of the operands and result of the operator 10 | * @author lcram 11 | */ 12 | @FunctionalInterface 13 | public interface QuaternaryOperator extends QuaternaryFunction 14 | { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/function/SenaryOperator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.function; 2 | 3 | /** 4 | * Represents an operation upon six operands of the same type, producing a result of the same type 5 | * as the operands. This is a specialization of {@link SenaryFunction} for the case where the 6 | * operands and the result are all of the same type. 7 | * 8 | * @param 9 | * the type of the operands and result of the operator 10 | * @author lcram 11 | */ 12 | @FunctionalInterface 13 | public interface SenaryOperator extends SenaryFunction 14 | { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/function/TernaryOperator.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.function; 2 | 3 | /** 4 | * Represents an operation upon three operands of the same type, producing a result of the same type 5 | * as the operands. This is a specialization of {@link TernaryFunction} for the case where the 6 | * operands and the result are all of the same type. 7 | * 8 | * @param 9 | * the type of the operands and result of the operator 10 | * @author lcram 11 | */ 12 | @FunctionalInterface 13 | public interface TernaryOperator extends TernaryFunction 14 | { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/statistic/Statistic.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.statistic; 2 | 3 | /** 4 | * @author tony 5 | */ 6 | public interface Statistic 7 | { 8 | /** 9 | * Updates the internal state of the statistic to reflect the addition of the new value 10 | * 11 | * @param value 12 | * the new value 13 | */ 14 | void increment(double value); 15 | 16 | /** 17 | * Print current statistic to logger 18 | */ 19 | void summary(); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/org/openstreetmap/atlas/utilities/time/Time.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.time; 2 | 3 | import java.time.ZoneOffset; 4 | 5 | import org.openstreetmap.atlas.utilities.scalars.Duration; 6 | 7 | /** 8 | * UTC Time 9 | * 10 | * @author matthieun 11 | */ 12 | public class Time extends LocalTime 13 | { 14 | public static Time now() 15 | { 16 | return new Time(Duration.milliseconds(System.currentTimeMillis())); 17 | } 18 | 19 | public Time(final Duration epoch) 20 | { 21 | super(epoch, ZoneOffset.UTC); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/proto/Area.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoAreaWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "Location.proto"; 9 | import "Tag.proto"; 10 | 11 | message ProtoArea { 12 | optional int64 id = 1; 13 | repeated ProtoLocation shapePoints = 2; 14 | 15 | repeated ProtoTag tags = 3; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/proto/Edge.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoEdgeWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "Location.proto"; 9 | import "Tag.proto"; 10 | 11 | message ProtoEdge { 12 | optional int64 id = 1; 13 | repeated ProtoLocation shapePoints = 2; 14 | repeated ProtoTag tags = 5; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/proto/Line.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoLineWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "Location.proto"; 9 | import "Tag.proto"; 10 | 11 | message ProtoLine { 12 | optional int64 id = 1; 13 | repeated ProtoLocation shapePoints = 2; 14 | 15 | repeated ProtoTag tags = 3; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/proto/Location.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoLocationWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "Tag.proto"; 9 | 10 | message ProtoLocation { 11 | optional int32 latitude = 1; 12 | optional int32 longitude = 2; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/proto/Node.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoNodeWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "Location.proto"; 9 | import "Tag.proto"; 10 | 11 | message ProtoNode { 12 | optional int64 id = 1; 13 | optional ProtoLocation location = 2; 14 | repeated ProtoTag tags = 5; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/proto/Point.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoPointWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "Location.proto"; 9 | import "Tag.proto"; 10 | 11 | message ProtoPoint { 12 | optional int64 id = 1; 13 | optional ProtoLocation location = 2; 14 | 15 | repeated ProtoTag tags = 3; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/proto/ProtoByteArray.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoByteArrayWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | message ProtoByteArray { 9 | optional string name = 1; 10 | optional bytes elements = 2; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/proto/ProtoByteArrayOfArrays.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoByteArrayOfArraysWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "ProtoByteArray.proto"; 9 | 10 | message ProtoByteArrayOfArrays { 11 | optional string name = 1; 12 | repeated ProtoByteArray arrays = 2; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/proto/ProtoIntegerArray.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoIntegerArrayWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | message ProtoIntegerArray { 9 | optional string name = 1; 10 | repeated int32 elements = 2; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/proto/ProtoIntegerArrayOfArrays.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoIntegerArrayOfArraysWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "ProtoIntegerArray.proto"; 9 | 10 | message ProtoIntegerArrayOfArrays { 11 | optional string name = 1; 12 | repeated ProtoIntegerArray arrays = 2; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/proto/ProtoIntegerStringDictionary.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoIntegerStringDictionaryWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | message ProtoIntegerStringDictionary { 9 | optional int32 currentIndex = 1; 10 | repeated int32 indexes = 2; 11 | repeated string words = 3; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/proto/ProtoLongArray.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoLongArrayWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | message ProtoLongArray { 9 | optional string name = 1; 10 | repeated int64 elements = 2; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/proto/ProtoLongArrayOfArrays.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoLongArrayOfArraysWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "ProtoLongArray.proto"; 9 | 10 | message ProtoLongArrayOfArrays { 11 | optional string name = 1; 12 | repeated ProtoLongArray arrays = 2; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/proto/ProtoLongToLongMap.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoLongToLongMapWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "ProtoLongArray.proto"; 9 | 10 | message ProtoLongToLongMap { 11 | optional string name = 1; 12 | optional ProtoLongArray keys = 2; 13 | optional ProtoLongArray values = 3; 14 | } 15 | -------------------------------------------------------------------------------- /src/main/proto/ProtoLongToLongMultiMap.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoLongToLongMultiMapWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "ProtoLongArray.proto"; 9 | 10 | message ProtoLongToLongMultiMap { 11 | optional string name = 1; 12 | optional ProtoLongArray keys = 2; 13 | repeated ProtoLongArray values = 3; 14 | } 15 | -------------------------------------------------------------------------------- /src/main/proto/ProtoPackedTagStore.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoPackedTagStoreWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | import "ProtoIntegerArrayOfArrays.proto"; 9 | 10 | message ProtoPackedTagStore { 11 | optional int64 index = 1; 12 | optional ProtoIntegerArrayOfArrays keys = 2; 13 | optional ProtoIntegerArrayOfArrays values = 3; 14 | } 15 | -------------------------------------------------------------------------------- /src/main/proto/ProtoPolyLineArray.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoPolyLineArrayWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | message ProtoPolyLineArray { 9 | optional string name = 1; 10 | repeated bytes encodings = 2; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/proto/ProtoPolygonArray.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoPolygonArrayWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | message ProtoPolygonArray { 9 | optional string name = 1; 10 | repeated bytes encodings = 2; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/proto/Tag.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | option java_multiple_files = true; 4 | option java_outer_classname = "ProtoTagWrapper"; 5 | 6 | package org.openstreetmap.atlas.proto; 7 | 8 | message ProtoTag { 9 | optional string key = 1; 10 | optional string value = 2; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/islands/islands.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Area || e instanceof Relation" 10 | }, 11 | "taggableFilter": "natural->island|place->islet" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/landcover/land-cover-tag-filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "landuse->*", 4 | "natural->*", 5 | "surface->*", 6 | "landcover->*" 7 | ] 8 | } -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/canal.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Line || e instanceof Relation" 10 | }, 11 | "taggableFilter": "natural->water&water->canal|waterway->canal" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/creek.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Line || e instanceof Area" 10 | }, 11 | "taggableFilter": "waterway->stream" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/ditch.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Line || e instanceof Area" 10 | }, 11 | "taggableFilter": "waterway->ditch,drain" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/harbour.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Area || e instanceof Relation" 10 | }, 11 | "taggableFilter": "harbour->yes&landuse->!industrial,!port&industrial->!port,!shipyard" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/lagoon.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Area || e instanceof Relation" 10 | }, 11 | "taggableFilter": "natural->water&water->lagoon" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/lake.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Area || e instanceof Relation" 10 | }, 11 | "taggableFilter": "natural->water&water->!||water->lake,oxbow&waterway->!&landuse->!&harbour->!yes&landuse->!industrial,!port&industrial->!port,!shipyard" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/pond.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Area" 10 | }, 11 | "taggableFilter": "natural->water&water->pond|landuse->pond" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/pool.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Area" 10 | }, 11 | "taggableFilter": "natural->water&water->pool" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/reservoir.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Area || e instanceof Relation" 10 | }, 11 | "taggableFilter": "natural->water&water->reservoir|landuse->reservoir" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/river.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Line || e instanceof Area || e instanceof Relation" 10 | }, 11 | "taggableFilter": "natural->water&water->river|waterway->river,riverbank" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/items/complex/water/finder/wetland.json: -------------------------------------------------------------------------------- 1 | { 2 | "global": { 3 | "filters": { 4 | "default": { 5 | "predicate": { 6 | "imports": [ 7 | "org.openstreetmap.atlas.geography.atlas.items" 8 | ], 9 | "command": "e instanceof Area || e instanceof Relation" 10 | }, 11 | "taggableFilter": "natural->wetland&wetland->swamp,marsh,reedbed" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/pbf/atlas-area.json: -------------------------------------------------------------------------------- 1 | { 2 | "atlas-area": 3 | { 4 | "taggableFilter": "highway->platform,bus_stop,rest_area||highway->pedestrian,footway&&area->yes||highway->!&railway->!||railway->platform,traverser,station&route->!ferry&man_made->!pier||man_made->pier&&area->yes" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/pbf/atlas-edge.json: -------------------------------------------------------------------------------- 1 | { 2 | "atlas-edge": 3 | { 4 | "taggableFilter": "access->!no||motor_vehicle->yes||motorcar->yes||vehicle->yes&oneway->!reversible&route->ferry||man_made->pier||junction->roundabout||highway->MOTORWAY,TRUNK,PRIMARY,SECONDARY,TERTIARY,UNCLASSIFIED,RESIDENTIAL,SERVICE,MOTORWAY_LINK,TRUNK_LINK,PRIMARY_LINK,SECONDARY_LINK,TERTIARY_LINK,LIVING_STREET,PEDESTRIAN,TRACK,BUS_GUIDEWAY,RACEWAY,ROAD,FOOTWAY,BRIDLEWAY,STEPS,PATH,CYCLEWAY,ESCAPE" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/pbf/atlas-relation-slicing.json: -------------------------------------------------------------------------------- 1 | { 2 | "atlas-relation-slicing": 3 | { 4 | "taggableFilter": "type->multipolygon,boundary" 5 | }, 6 | "atlas-relation-slicing-consolidate": 7 | { 8 | "taggableFilter": "type->boundary" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/pbf/atlas-way-section.json: -------------------------------------------------------------------------------- 1 | { 2 | "atlas-way-section": 3 | { 4 | "taggableFilter": "highway->crossing,motorway_junction|railway->crossing,level_crossing|barrier->FENCE,WALL,GATE,HEDGE,BOLLARD,LIFT_GATE,RETAINING_WALL,STILE,CYCLE_BARRIER,KERB,YES,ENTRANCE,BLOCK,TOLL_BOOTH,CATTLE_GRID,DITCH,KISSING_GATE,CITY_WALL,GUARD_RAIL,HEDGE_BANK,WIRE_FENCE,LINE,SWING_GATE,CHAIN,TURNSTILE,EMBANKMENT,FIELD_BOUNDARY,BORDER_CONTROL,SALLY_PORT,DOOR,HAMPSHIRE_GATE,WOOD_FENCE,BUMP_GATE" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/pbf/osm-pbf-node.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [] 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/pbf/osm-pbf-relation.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [] 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/pbf/osm-pbf-way.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "hires->!yes" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/geography/atlas/statistics/coverage/poi/countsOne.txt: -------------------------------------------------------------------------------- 1 | transit_rail_stops;railway->station,halt|subway->*^monorail->*^tram->*&public_transport->stop_position,platform,station -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AnyToGeoJsonCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Convert one of the many atlas-related custom file types to GeoJSON. This is very useful when trying to view 2 | these file types in visualization software. Currently, this command supports country boundary files, 3 | any type of sharding, as well as atlases. See the provided options and examples for various customizations. 4 | If you are interested in atlas to text conversion and this command does not provide what you need, try the 'packed2text' command. -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AnyToGeoJsonCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Convert an atlas to GeoJSON 2 | #$ any2geojson --atlas ~/Desktop/myatlas.atlas 3 | Convert a boundary file to GeoJSON: 4 | #$ any2geojson --country-boundary ~/boundary.txt 5 | Convert a boundary file to GeoJSON and include only specific countries: 6 | #$ any2geojson --country-boundary ~/boundary.txt --countries DMA,MTQ,GLP 7 | Convert a dynamic sharding tree textfile to GeoJSON: 8 | #$ any2geojson --sharding dynamic@/Users/you/tree.txt 9 | Get the GeoJSON for a precision 3 geohash sharding tree: 10 | #$ any2geojson --sharding geohash@3 -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AtlasDiffCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Compute a diff between two atlases or two atlas directories using the ChangeAtlas API. 2 | The command will write a pretty print string serialization of the diff to STDOUT. 3 | The pretty print options include: ChangeDescription (default), 4 | the full FeatureChange text, as well as different types of GeoJSON serialization. 5 | 6 | The command will return 0 when there is no diff, 1 when there is a diff, and 2 7 | for any other error. 8 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AtlasDiffCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Compute a diff between two atlases: 2 | #$ atlas-diff folder/before-atlas.atlas after-atlas.atlas 3 | Compute a diff between two atlas folders: 4 | #$ atlas-diff folder/before/ folder/after/ 5 | Set output to use line delimited GeoJSON: 6 | #$ atlas-diff before-atlas.atlas after-atlas.atlas --ldgeojson 7 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AtlasMetadataReaderCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Read selected fields from the metadata of some given input atlases. By default, the reader 2 | will read all fields and dump them to stdout. The user may supply additional options to filter 3 | for specific fields. For example, if the user only cares about the 'size' field, they may 4 | supply the '--size' option to filter for that field. Or if the user would only like to see the 5 | 'code-version' and 'data-version' fields, they may supply '--code-version' and '--data-version'. 6 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AtlasMetadataReaderCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Dump metadata to stdout for all atlases in the current directory: 2 | #$ atlas-metadata-reader *.atlas 3 | Display only the tag metadata for atlases in a given directory: 4 | #$ atlas-metadata-reader dir/*.atlas --tags 5 | Display the code and data versions of some atlases: 6 | #$ atlas-metadata-reader 1.atlas 2.atlas --code-version --data-version -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AtlasShardingConverterCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | This command provides an easy way to change the sharding in which a folder 2 | of atlas files is described. 3 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AtlasShardingConverterCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Convert a folder from geohash precision 4 to slippy tile zoom 7 2 | #$ shardingConverter --input=/path/to/in --output=/path/to/out --inputSharding=geohash@4 --outputSharding=slippy@7 3 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/AtlasShellToolsDemoCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Run a dinner command with pizza and wings. Use 805 beer and the default cheese: 2 | #$ demo dinner pizza wings --beer=805 --cheese 3 | Run a breakfast command with some waffles and pancakes: 4 | #$ demo --breakfast waffles pancakes 5 | Run a lunch command with a salad. Use some tasty parmesan cheese: 6 | #$ demo lunch salad --cheese=parmesan 7 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/ConcatenateAtlasCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | The fatlas command provides an easy way to concatenate atlas files together 2 | using the MultiAtlas class. The command takes an arbitrary number of input 3 | atlas files, reads them into a MultiAtlas, and then saves that MultiAtlas to 4 | a file called 'output.atlas' in the current working directory. The '--output' 5 | option can be used to change this directory. See the ATLAS LOADER section 6 | for more info. 7 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/ConcatenateAtlasCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Concatenate all atlas files on your desktop and write them to 2 | an output atlas in your home directory: 3 | #$ fatlas ~/Desktop/*.atlas --output ~ 4 | Concatenate two atlases, but fail fast if either cannot be found: 5 | #$ fatlas --strict ~/file1.atlas ~/file2.atlas 6 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/CountryBoundaryMapPrinterCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Read a country boundary map and print all the country boundaries in it to geojson and wkt. 2 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/CountryBoundaryMapPrinterCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | #$ boundary-itemizer --country-boundary=/Users/example/path/to/boundary.txt.gz 2 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/HelloWorldCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Prints a simple greeting. The greeting can be personalized with the 2 | '--name' option. 3 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/IsoCountryCodeCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Query the ISO country specification using a country code or a country display name. 2 | The command will automatically differentiate between the ISO2/3 code and the display name. 3 | Additionally, the command is able to understand mild misspellings in display names. Use 4 | the '--all' option to display all available ISO countries. -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/IsoCountryCodeCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Get the ISO country associated with code 'USA': 2 | #$ iso-country-code USA 3 | Get the ISO country associated with display name 'United Kingdom': 4 | #$ iso-country-code 'United Kingdom' 5 | Get the ISO country associated with misspelled display name 'gernamy', showing top 5 matches: 6 | #$ iso-country-code -n 5 'gernamy' 7 | Make multiple queries: 8 | #$ iso-country-code 'USA' 'GB' 'gernamy' 'France' 9 | Show all countries: 10 | #$ iso-country-code --all -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/JavaToProtoSerializationCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Convert Java-serialized atlas(es) to Protocol Buffers format in place or to a specified output 2 | directory. If desired, the reverse conversion can be performed using the '--reverse' option. 3 | Additionally, the format can be checked using the '--check' option. When checking the format, no 4 | conversion will take place. -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/JavaToProtoSerializationCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Convert all atlases on your desktop to Protocol Buffers format: 2 | #$ java2proto ~/Desktop/*.atlas 3 | Convert an atlas from Protocol Buffers format back to Java format: 4 | #$ java2proto java.atlas --reverse 5 | Check the serialization format of some atlases in some folder: 6 | #$ java2proto --check some-folder/*.atlas -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/OsmFileParserCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Take an osm file created by JOSM (with temporary identifiers) and transform it into a mock osm file that looks like it is fully committed. 2 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/OsmFileParserCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Translate a file josm file into an osm file: 2 | #$ josm2osm /path/to/file.josm.osm /path/to/file.osm 3 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/OsmToAtlasCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | This command takes an '.osm' or a '.josm.osm' file and converts its contents into a PackedAtlas. 2 | Use the '--country' option to enable a simple default slicing that applies the given country code 3 | with a maximum bounding box. 4 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/OsmToAtlasCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Convert foo.osm to foo.atlas: 2 | #osm2atlas foo.osm foo.atlas 3 | Convert the JOSM formatted foo.josm.osm to foo.atlas, and apply a DMA country code: 4 | #osm2atlas --josm foo.josm.osm foo.atlas --country DMA 5 | Convert foo.osm on your desktop to foo.atlas and save it in your home folder: 6 | #osm2atlas ~/Desktop/foo.osm ~/foo.atlas 7 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/PbfToAtlasCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Convert a PBF to an Atlas: 2 | #$ pbf2atlas 6-42-24.pbf --countryName KAZ 3 | Convert a PBF to an Atlas with a custom output directory: 4 | #$ pbf2atlas 6-42-24.pbf --countryName KAZ --output=atlas 5 | Convert a directory of PBFs to Atlases in a custom output directory: 6 | #$ pbf2atlas pbf/* --countryName KAZ --output=atlas 7 | Convert a PBF to an Atlas with a custom boundary: 8 | #$ pbf2atlas 6-42-24.pbf --countryName KAZ --bounds=bounds.txt 9 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/PbfToAtlasDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Convert PBF file(s) into sectioned Atlas file(s). The default behavior 2 | will output the files to the same directory, but a custom output directory can be supplied. 3 | By default, the created Atlas files will be written to the current working directory. The 4 | names of the new Atlas files will prepend the country name, use the same name as the PBF file, 5 | and use the filetype ".atlas". 6 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/SubAtlasCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Soft cut an atlas along a polygon: 2 | #$ subatlas --polygon='POLYGON((-61 15,-61 16,-60 16,-60 15,-61 15))' file.atlas 3 | Hard cut a directory of atlases along a polygon, in parallel: 4 | #$ subatlas dir/*.atlas --polygon='POLYGON((-61 15,-61 16,-60 16,-60 15,-61 15))' --parallel --cut-type=HARD_CUT 5 | Cut an atlas containing only points within a given polygon: 6 | #$ subatlas file.atlas --predicate 'e.getType() == ItemType.POINT' --polygon 'POLYGON((-61 15,-61 16,-60 16,-60 15,-61 15))' -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/TaggableMatcherPrinterCommandDescriptionSection.txt: -------------------------------------------------------------------------------- 1 | Print out the tree views for a set of given TaggableMatcher description strings. 2 | The strings will run through the TaggableMatcher parsing system. 3 | 4 | If a tree is too long to fit in your terminal window, try piping it into less 5 | with linewrap disabled using less's -S option. 6 | 7 | Alternatively, you may supply the '--reverse' flag in order to convert old-style 8 | TaggableFilters into TaggableMatchers. 9 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/TaggableMatcherPrinterCommandExamplesSection.txt: -------------------------------------------------------------------------------- 1 | Print the trees for a few TaggableMatchers: 2 | #$ print-matcher 'foo=bar' 'baz=bat | cat = mat' 3 | Print the tree for a large matcher and make it easier to read: 4 | #$ print-matcher '!(foo=bar | baz=bat) & cat=mat' | less -S 5 | Convert some old-style TaggableFilters into TaggableMatchers: 6 | #$ print-matcher --reverse 'foo->bar|baz->bat' 'cat->hat,mat' 7 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/templates/CountryBoundaryMapTemplateSection.txt: -------------------------------------------------------------------------------- 1 | The '--country-boundary' option should point to a valid country boundary file in the format 2 | expected by the CountryBoundaryMap class. The file will be loaded using CountryBoundaryMap's 3 | fromPlainText method, which can handle gzipped or uncompressed files. 4 | -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/templates/MultipleOutputCommandSection.txt: -------------------------------------------------------------------------------- 1 | This man section is generated for any command which inherits multiple output behaviour. 2 | This behaviour provides an '--output' option, which can be used to change the default 3 | location of any output files. This example changes the output location of an example 4 | command to your desktop: 5 | #$ example-output-command myatlas1.atlas --output ~/Desktop -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/templates/OutputDirectoryTemplateSection.txt: -------------------------------------------------------------------------------- 1 | This command provides an '--output-directory' option, which can be used to change the default 2 | location of any output files. This example changes the output location of an example 3 | command to your desktop: 4 | #$ example-output-command myatlas1.atlas --output-directory ~/Desktop -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/command/subcommands/templates/ShardingTemplateSection.txt: -------------------------------------------------------------------------------- 1 | The '--sharding' option should specify a string that is parsable by Sharding's forString method. 2 | Examples include dynamic@/path/to/tree.txt, slippy@10, geohash@5, etc. -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.png -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.prj: -------------------------------------------------------------------------------- 1 | GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]] -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.qix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.qix -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.shp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.shp -------------------------------------------------------------------------------- /src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.shx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/main/resources/org/openstreetmap/atlas/utilities/timezone/tz_world.shx -------------------------------------------------------------------------------- /src/test/java/org/openstreetmap/atlas/event/TestEvent.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.event; 2 | 3 | /** 4 | * Sample {@link Event} to be used for testing. 5 | * 6 | * @author mkalender 7 | */ 8 | public class TestEvent extends Event 9 | { 10 | private final String message; 11 | 12 | public TestEvent(final String message) 13 | { 14 | this.message = message; 15 | } 16 | 17 | public String getMessage() 18 | { 19 | return this.message; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/org/openstreetmap/atlas/geography/atlas/items/AtlasEntityTest.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.atlas.items; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Rule; 5 | import org.junit.Test; 6 | 7 | /** 8 | * @author Yazad Khambata 9 | */ 10 | public class AtlasEntityTest 11 | { 12 | @Rule 13 | public final AreaEntityTestRule rule = new AreaEntityTestRule(); 14 | 15 | @Test 16 | public void getName() 17 | { 18 | Assert.assertEquals("abc", this.rule.getAtlas().node(1).getName().get()); 19 | Assert.assertFalse(this.rule.getAtlas().node(2).getName().isPresent()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/org/openstreetmap/atlas/geography/geojson/parser/domain/bbox/DimensionsTest.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.geography.geojson.parser.domain.bbox; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | 6 | /** 7 | * @author Yazad Khambata 8 | */ 9 | public class DimensionsTest 10 | { 11 | @Test 12 | public void test() 13 | { 14 | Assert.assertEquals(Dimensions.TWO_DIMENSIONAL.getNumberOfCoordinates(), 4); 15 | Assert.assertEquals(Dimensions.THREE_DIMENSIONAL.getNumberOfCoordinates(), 6); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/org/openstreetmap/atlas/tags/TestSyntheticTag.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.tags; 2 | 3 | import org.openstreetmap.atlas.tags.annotations.Tag; 4 | import org.openstreetmap.atlas.tags.annotations.TagKey; 5 | 6 | /** 7 | * Tag used for testing the synthetic attribute 8 | * 9 | * @author cstaylor 10 | */ 11 | @Tag(synthetic = true) 12 | public interface TestSyntheticTag 13 | { 14 | @TagKey 15 | String KEY = "replicant"; 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/org/openstreetmap/atlas/utilities/runtime/system/SystemInfoTest.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.runtime.system; 2 | 3 | import org.junit.Test; 4 | 5 | /** 6 | * @author matthieun 7 | */ 8 | public class SystemInfoTest 9 | { 10 | @Test 11 | public void testPrint() 12 | { 13 | SystemInfo.printSystemInfo(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/org/openstreetmap/atlas/utilities/testing/AtlasFromTextTestCase.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.testing; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Rule; 5 | import org.junit.Test; 6 | 7 | /** 8 | * Verifies that we can create a TestAtlas from an input file 9 | * 10 | * @author cstaylor 11 | */ 12 | public class AtlasFromTextTestCase 13 | { 14 | @Rule 15 | public AtlasFromTextTestCaseRule setup = new AtlasFromTextTestCaseRule(); 16 | 17 | @Test 18 | public void verify() 19 | { 20 | Assert.assertNotNull(this.setup.atlas()); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/org/openstreetmap/atlas/utilities/testing/AtlasFromTextTestCaseRule.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.testing; 2 | 3 | import org.openstreetmap.atlas.geography.atlas.Atlas; 4 | 5 | /** 6 | * Test fixture data for AtlasFromTextTestCase 7 | * 8 | * @author cstaylor 9 | */ 10 | public class AtlasFromTextTestCaseRule extends CoreTestRule 11 | { 12 | @TestAtlas(loadFromTextResource = "test.txt") 13 | private Atlas atlas; 14 | 15 | public Atlas atlas() 16 | { 17 | return this.atlas; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/org/openstreetmap/atlas/utilities/testing/BeanTestCaseRule.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.testing; 2 | 3 | /** 4 | * Example of how to use the Bean annotation in a test case 5 | * 6 | * @author cstaylor 7 | */ 8 | public class BeanTestCaseRule extends CoreTestRule 9 | { 10 | @Bean({ "name=Christopher Taylor", "street=123 Main Street" }) 11 | private SomeTestBean bean; 12 | 13 | SomeTestBean bean() 14 | { 15 | return this.bean; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/resources/aql-files/test.aql: -------------------------------------------------------------------------------- 1 | select node._ from atlas.node -------------------------------------------------------------------------------- /src/test/resources/aql-files/test1/test.aql: -------------------------------------------------------------------------------- 1 | select node._ from atlas.node -------------------------------------------------------------------------------- /src/test/resources/aql-files/test2/test.aql: -------------------------------------------------------------------------------- 1 | select node._ from atlas.node -------------------------------------------------------------------------------- /src/test/resources/aql-files/test2/testA/test.aql: -------------------------------------------------------------------------------- 1 | select node._ from atlas.node -------------------------------------------------------------------------------- /src/test/resources/aql-files/test2/testA/test.aql.sig: -------------------------------------------------------------------------------- 1 | abcd -------------------------------------------------------------------------------- /src/test/resources/aql-files/test2/testB/test.aql: -------------------------------------------------------------------------------- 1 | select node._ from atlas.node -------------------------------------------------------------------------------- /src/test/resources/aql-files/test2/testB/test.aql.sig: -------------------------------------------------------------------------------- 1 | abcd -------------------------------------------------------------------------------- /src/test/resources/aql-files/test2/testB/test2.aql: -------------------------------------------------------------------------------- 1 | select node._ from atlas.node -------------------------------------------------------------------------------- /src/test/resources/aql-files/test2/testB/test2.aql.sig: -------------------------------------------------------------------------------- 1 | abcd -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/BLR-small.atlas.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/BLR-small.atlas.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/MultiPolygonTestGeom1.wkt: -------------------------------------------------------------------------------- 1 | MULTIPOLYGON(((4.284240019864911 43.13294029312797,7.624083769864911 43.10086194353044,7.646056426114911 41.4755361063697,4.306212676114911 41.52490557389508,4.284240019864911 43.13294029312797),(4.811583769864911 42.16328065593403,6.745177519864911 42.61766955007799,7.162657988614911 41.83670446074862,4.965392363614911 42.77915379405722,4.811583769864911 42.16328065593403))) 2 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/ECU_6-16-31.atlas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/ECU_6-16-31.atlas -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/NZL_9-506-316.atlas.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/NZL_9-506-316.atlas.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/command/DNK_Copenhagen/DNK_1.atlas.txt: -------------------------------------------------------------------------------- 1 | # Nodes 2 | # Edges 3 | # Areas 4 | # Lines 5 | # Points 6 | 5057300880000000 && 55.666602,12.503904 && last_edit_user_name -> Niels Elgaard Larsen || last_edit_changeset -> 51420369 || last_edit_time -> 1503613687000 || last_edit_user_id -> 1288 || iso_country_code -> DNK || amenity -> fast_food || name -> Limdim || cuisine -> thai || last_edit_version -> 1 || fvst:navnelbnr -> 711461 7 | # Relations 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/command/DNK_Copenhagen/DNK_3.atlas.txt: -------------------------------------------------------------------------------- 1 | # Nodes 2 | # Edges 3 | # Areas 4 | 575954012000000 && 55.6000372,12.591551:55.6000642,12.5917118:55.6000212,12.5917343:55.600006,12.5916436:55.5999627,12.5916663:55.5999531,12.5916091:55.5999826,12.5915937:55.5999815,12.5915871:55.5999953,12.5915799:55.5999943,12.5915735 && last_edit_user_name -> osmviborg || last_edit_changeset -> 57771646 || last_edit_time -> 1522759697000 || last_edit_user_id -> 379467 || iso_country_code -> DNK || last_edit_version -> 1 || building -> yes 5 | # Lines 6 | # Points 7 | # Relations 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/command/atlas-edge.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "access->!no|motor_vehicle->yes|motorcar->yes|vehicle->yes", 4 | "oneway->!reversible", 5 | "route->ferry|junction->roundabout|highway->MOTORWAY,TRUNK,PRIMARY,SECONDARY,TERTIARY,UNCLASSIFIED,RESIDENTIAL,SERVICE,MOTORWAY_LINK,TRUNK_LINK,PRIMARY_LINK,SECONDARY_LINK,TERTIARY_LINK,LIVING_STREET,PEDESTRIAN,TRACK,BUS_GUIDEWAY,RACEWAY,ROAD,FOOTWAY,BRIDLEWAY,STEPS,PATH,CYCLEWAY,ESCAPE" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/command/atlas-way-section.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "source->Bing|highway->crossing,motorway_junction|railway->crossing,level_crossing|barrier->FENCE,WALL,GATE,HEDGE,BOLLARD,LIFT_GATE,RETAINING_WALL,STILE,CYCLE_BARRIER,KERB,YES,ENTRANCE,BLOCK,TOLL_BOOTH,CATTLE_GRID,DITCH,KISSING_GATE,CITY_WALL,GUARD_RAIL,HEDGE_BANK,WIRE_FENCE,LINE,SWING_GATE,CHAIN,TURNSTILE,EMBANKMENT,FIELD_BOUNDARY,BORDER_CONTROL,SALLY_PORT,DOOR,HAMPSHIRE_GATE,WOOD_FENCE,BUMP_GATE" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/command/osm-pbf-node.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "amenity->!fountain" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/command/osm-pbf-relation.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "boundary->!|natural->water", 4 | "place->island" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/command/osm-pbf-way.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "boundary->!|highway->*|railway->*|waterway->*", 4 | "hires->!yes" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/command/world_islands.osm.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/command/world_islands.osm.pbf -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/dynamic/rules/z12x1349y1869.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-61.4355469,15.4536802],[-61.4355469,15.5383759],[-61.3476562,15.5383759],[-61.3476562,15.4536802]]]},"properties":{}}]} -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/dynamic/rules/z12x1349y1870.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-61.4355469,15.3689499],[-61.4355469,15.4536802],[-61.3476562,15.4536802],[-61.3476562,15.3689499]]]},"properties":{}}]} -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/dynamic/rules/z12x1350y1869.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-61.3476562,15.4536802],[-61.3476562,15.5383759],[-61.2597656,15.5383759],[-61.2597656,15.4536802]]]},"properties":{}}]} -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/dynamic/rules/z12x1350y1870.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-61.3476562,15.3689499],[-61.3476562,15.4536802],[-61.2597656,15.4536802],[-61.2597656,15.3689499]]]},"properties":{}}]} -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/bignode/expand.atlas.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/bignode/expand.atlas.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/bignode/overlap.atlas.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/bignode/overlap.atlas.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/bignode/overmerge.atlas.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/bignode/overmerge.atlas.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/intersection.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/intersection.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/invalidHighwayArea.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/invalidHighwayArea.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/noHighwayArea.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/noHighwayArea.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/out_of_order_highway_area.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/out_of_order_highway_area.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/size_zero.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/size_zero.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/validHighwayArea.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/validHighwayArea.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/validHighwayArea_1.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/validHighwayArea_1.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/validHighwayArea_2.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/highwayarea/validHighwayArea_2.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/restriction/bigNode.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/restriction/bigNode.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/restriction/bigNodeWithOnlyTurnRestrictions.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/items/complex/restriction/bigNodeWithOnlyTurnRestrictions.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/pbf/DNK_SWE_boundary.txt: -------------------------------------------------------------------------------- 1 | DNK||POLYGON ((12.76302329063 55.59512845369, 12.80636778831 55.59503145851, 12.80465117455 55.57373521447, 12.76122084618 55.57300734823, 12.76302329063 55.59512845369)) 2 | SWE||POLYGON ((12.81217998751 55.58015672226, 12.81184618447 55.57264298618, 12.82883979379 55.57243711016, 12.82844529928 55.58034540489, 12.81217998751 55.58015672226))# 3 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/pbf/bridgeConfiguredFilter1.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "highway->traffic_signals" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/pbf/bridgeConfiguredFilter2.json: -------------------------------------------------------------------------------- 1 | { 2 | "my-filter": 3 | { 4 | "taggableFilter": "highway->trunk", 5 | "predicate": 6 | { 7 | "imports": [ 8 | "org.openstreetmap.atlas.geography.atlas.items" 9 | ], 10 | "command": "e instanceof Edge" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/pbf/edge-filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "edge-filter": 3 | { 4 | "taggableFilter": "highway->*" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/DNK_SWE_boundary.txt: -------------------------------------------------------------------------------- 1 | DNK||POLYGON ((12.76302329063 55.59512845369, 12.80636778831 55.59503145851, 12.80465117455 55.57373521447, 12.76122084618 55.57300734823, 12.76302329063 55.59512845369)) 2 | SWE||POLYGON ((12.81217998751 55.58015672226, 12.81184618447 55.57264298618, 12.82883979379 55.57243711016, 12.82844529928 55.58034540489, 12.81217998751 55.58015672226))# 3 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/creation/7-105-51.osm.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/creation/7-105-51.osm.pbf -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/creation/9-433-268.osm.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/creation/9-433-268.osm.pbf -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/creation/nestedSingleRelations.osm.pbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/creation/nestedSingleRelations.osm.pbf -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/sectioning/malformedPolyLineBoundaryMap.txt: -------------------------------------------------------------------------------- 1 | TZA||POLYGON ((30.933931 -1.007137, 33.933931 -1.007137, 33.933931 -6.007137, 30.933931 -6.007137, 30.933931 -1.007137)) 2 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/sectioning/nestedRelationRemovalBoundaryMap.txt: -------------------------------------------------------------------------------- 1 | BRA||POLYGON((-46.70496711184 -23.55204821537, -46.59128899332 -23.55176920987, -46.59144117287 -23.61257839182, -46.70588018909 -23.61271783003, -46.70496711184 -23.55204821537)) 2 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/sectioning/nodeAndPointRelationMemberBoundaryMap.txt: -------------------------------------------------------------------------------- 1 | RUS||POLYGON((37.65492080569 55.92645524618, 37.66290305972 55.9265454096, 37.66296743274 55.92468800095, 37.654834975 55.92464592271, 37.65492080569 55.92645524618)) -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/slicing/CIV_GIN_LBR_osm_boundaries.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/atlas/raw/slicing/CIV_GIN_LBR_osm_boundaries.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/AAA_boundary.txt: -------------------------------------------------------------------------------- 1 | AAA||POLYGON((27.236328125 26.255092778502082,31.015625 26.255092778502082,31.015625 23.544952263601573,27.236328125 23.544952263601573,27.236328125 26.255092778502082))# 2 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/CIV_osm_boundaries.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/CIV_osm_boundaries.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/DMA_as_world_osm_boundaries.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/DMA_as_world_osm_boundaries.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/DMA_snake_polyline.wkt: -------------------------------------------------------------------------------- 1 | LINESTRING(-61.84616088867186 15.432500881886057,-61.50283813476562 15.541022107176659,-60.81619262695312 15.464269084198364,-60.81344604492187 15.374246553214803,-61.18148803710937 15.371598241700937,-61.50283813476562 15.374246553214803,-61.77749633789061 15.29478259026095,-61.78298950195312 15.164926674810914,-61.65939331054686 15.130461682940435,-61.43966674804687 15.228539583518852) -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/HTI_DOM_osm_boundaries.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/HTI_DOM_osm_boundaries.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/MAF_AIA_osm_boundaries.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/MAF_AIA_osm_boundaries.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/MAF_AIA_osm_boundaries_with_grid_index.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/MAF_AIA_osm_boundaries_with_grid_index.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/ZAF_osm_boundary.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/ZAF_osm_boundary.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/countryToShardList.txt: -------------------------------------------------------------------------------- 1 | DMA||9-168-233, 9-169-233, 9-168-234, 10-338-468 -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/duplicate_shape.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/duplicate_shape.dbf -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/duplicate_shape.prj: -------------------------------------------------------------------------------- 1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]] -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/duplicate_shape.qpj: -------------------------------------------------------------------------------- 1 | GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]] 2 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/duplicate_shape.shp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/duplicate_shape.shp -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/duplicate_shape.shx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/duplicate_shape.shx -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/slicing-filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "IShouldBeSliced->yes" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/tree-6-13-100000.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/tree-6-13-100000.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/boundary/tree-6-14-100000.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/geography/boundary/tree-6-14-100000.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/converters/MultiplePolyLineToPolygonsConverterTest_crossingPolyLines.txt: -------------------------------------------------------------------------------- 1 | POLYGON((0 100, 100 100, 0 0, 100 0, 0 100)) 2 | POLYGON((0 0, 0 100, 100 100, 100 0, 0 0)) 3 | MULTIPOLYGON(((0 0, 0 100, 100 100, 100 0, 0 0)),((50 50, 50 150, 150 150, 150 50, 50 50))) 4 | POLYGON((0 0, 50 50, 100 0, 150 0, 200 50, 250 0, 0 0)) 5 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/concatenated_geojson_files_expected: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"LineString","coordinates":[[-71.0,-37.0],[-72.0,-38.0]]},"properties":{"prop1":"foo","prop2":1.99,"prop3":[1,2,3]}},{"type":"Feature","geometry":{"type":"LineString","coordinates":[[-72.0,-38.0],[-73.0,-39.0]]},"properties":{"prop1":"bar","prop2":2.99,"prop3":[2,3,4]}},{"type":"Feature","geometry":{"type":"MultiLineString","coordinates":[[[27.0,42.0],[26.0,43.0]],[[26.0,43.0],[25.0,44.0]]]},"properties":{"prop1":"foo","prop2":1.99}}]} -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/beanA.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 10, 3 | "name": "Hello", 4 | "score": 10.5, 5 | "ids": [1,2,3], 6 | "names": ["hello", "hola", "bonjour"], 7 | "scores": [1.414, 3.14159, 2.718], 8 | "result": true, 9 | "results": [true, false, true], 10 | "tags": {"access": "private", "foot": "no"} 11 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/beanBWithoutArray.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "outer", 3 | "beanA": { 4 | "id": 10, 5 | "name": "Hello", 6 | "score": 10.5, 7 | "ids": [1,2,3], 8 | "names": ["hello", "hola", "bonjour"], 9 | "scores": [1.414, 3.14159, 2.718], 10 | "result": true, 11 | "results": [true, false, true], 12 | "tags": {"access": "private", "foot": "no"} 13 | } 14 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/descriptor1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TAG", 3 | "type": "ADD", 4 | "key": "c", 5 | "value": "3" 6 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/descriptor2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "START_NODE", 3 | "type": "UPDATE", 4 | "beforeView": "1", 5 | "afterView": "10" 6 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/descriptor3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TAG", 3 | "type": "UPDATE", 4 | "key": "b", 5 | "value": "2a", 6 | "originalValue": "2" 7 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/feature2.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Feature", 3 | "geometry": { 4 | "type": "Polygon", 5 | "coordinates": 6 | [[ 7 | [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], 8 | [100.0, 1.0], [100.0, 0.0] 9 | ]] 10 | 11 | }, 12 | "properties": { 13 | "prop0": "value0", 14 | "prop1": { "this": "that" } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/featureChangePropertiesBad1.json: -------------------------------------------------------------------------------- 1 | { 2 | "completeEdgeClass": "org.openstreetmap.atlas.geography.atlas.complete.CompleteEdge" 3 | } 4 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/featureChangePropertiesBad2.json: -------------------------------------------------------------------------------- 1 | { 2 | "relations": "bad" 3 | } 4 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/foreignFieldsNested.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Point", 3 | "unknown": { 4 | "unknown_key1": "unknown_value1", 5 | "unknown_key2": "unknown_value2" 6 | }, 7 | "coordinates": [ 8 | 30, 9 | 10 10 | ] 11 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/foreignFieldsSimple.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Point", 3 | "unknown_key1": "unknown_value1", 4 | "unknown_key2": "unknown_value2", 5 | "coordinates": [ 6 | 30, 7 | 10 8 | ] 9 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/geometryCollectionBasic.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GeometryCollection", 3 | "geometries": [ 4 | { 5 | "type": "Point", 6 | "coordinates": [40, 10] 7 | }, 8 | { 9 | "type": "LineString", 10 | "coordinates": [ 11 | [10, 10], [20, 20], [10, 40] 12 | ] 13 | }, 14 | { 15 | "type": "Polygon", 16 | "coordinates": [ 17 | [[40, 40], [20, 45], [45, 30], [40, 40]] 18 | ] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/geometryCollectionChildConversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GeometryCollection", 3 | "geometries": [ 4 | { 5 | "type": "Point", 6 | "coordinates": [40, 10] 7 | }, 8 | { 9 | "type": "LineString", 10 | "coordinates": [ 11 | [10, 10], [20, 20], [10, 40] 12 | ] 13 | }, 14 | { 15 | "type": "Polygon", 16 | "coordinates": [ 17 | [[40, 40], [20, 45], [45, 30], [40, 40]] 18 | ] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/lineString.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "LineString", 3 | "bbox": [-1.1, -2.1, 3.1, 4.1, 5.1, 6.1], 4 | "coordinates": [ 5 | [30, 10], [10, 30], [40, 40] 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/lineStringConversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "LineString", 3 | "bbox": [-1.1, -2.1, 3.1, 4.1, 5.1, 6.1], 4 | "coordinates": [ 5 | [31, 11], [10, 30], [40, 40] 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/multiLineString.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "MultiLineString", 3 | "bbox": [-1.1, -2.1, 3.1, 4.1, 5.1, 6.1], 4 | "coordinates": [ 5 | [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]], 6 | [[20, 30], [35, 35], [30, 20], [20, 30]] 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/multiLineStringConversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "MultiLineString", 3 | "bbox": [-1.1, -2.1, 3.1, 4.1, 5.1, 6.1], 4 | "coordinates": [ 5 | [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]], 6 | [[20, 30], [35, 35], [30, 20], [20, 30]] 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/multiPoint.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "MultiPoint", 3 | "bbox": [-1.1, -2.1, 3.1, 4.1, 5.1, 6.1], 4 | "coordinates": [ 5 | [30, 10], [10, 30], [40, 40] 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/multiPointConversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "MultiPoint", 3 | "bbox": [-1.1, -2.1, 3.1, 4.1, 5.1, 6.1], 4 | "coordinates": [ 5 | [31, 11], [10, 30], [40, 40] 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/multiPolygon.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "MultiPolygon", 3 | "bbox": [-1.1, -2.1, 3.1, 4.1, 5.1, 6.1], 4 | "coordinates": [[ 5 | [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]] 6 | ]] 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/point.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Point", 3 | "coordinates": [30, 10] 4 | } 5 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/pointConversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Point", 3 | "coordinates": [30, 10] 4 | } 5 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/pointWithBbox2D.json: -------------------------------------------------------------------------------- 1 | { 2 | "bbox": [-1.0, -2.0, 3.0, 4.0], 3 | "type": "Point", 4 | "coordinates": [30, 10] 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/pointWithBbox3D.json: -------------------------------------------------------------------------------- 1 | { 2 | "bbox": [-1.0, -2.0, 3.0, 4.0, 5.0, 6.0], 3 | "type": "Point", 4 | "coordinates": [30, 10] 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/polygon.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Polygon", 3 | "coordinates": [ 4 | [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]] 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/polygonConversion.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Polygon", 3 | "coordinates": [ 4 | [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]] 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/propertiesNested.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Point", 3 | "coordinates": [102.0, 0.5], 4 | "properties": { 5 | "prop0": {"a": 123, "b": "hello", "c": 10.5}, 6 | "prop1": "value1" 7 | } 8 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/parser/propertiesSimple.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Point", 3 | "coordinates": [102.0, 0.5], 4 | "properties": { 5 | "prop0": "value0", 6 | "prop1": "value1" 7 | } 8 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/test1.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"LineString","coordinates":[[-71,-37],[-72,-38]]},"properties":{"prop1":"foo","prop2":1.99,"prop3":[1,2,3]}}]} -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/test2.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"LineString","coordinates":[[-72,-38],[-73,-39]]},"properties":{"prop1":"bar","prop2":2.99,"prop3":[2,3,4]}}]} -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/geography/geojson/test3.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"MultiLineString","coordinates":[[[27,42],[26,43]],[[26,43],[25,44]]]},"properties":{"prop1":"foo","prop2":1.99}}]} 2 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/streaming/readers/data.csv: -------------------------------------------------------------------------------- 1 | "Hello,world",5,25.2 2 | #Comment 3 | hello-world,6,36.3 -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/streaming/readers/geojson-point.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "features": 4 | [ 5 | { 6 | "type": "Feature", 7 | "properties": 8 | { 9 | "id": 193548155000002, 10 | "tags": "\"ref\"=>\"NIC-1\", \"name\"=>\"Carretera Norte\", \"lanes\"=>\"\", \"oneway\"=>\"yes\", \"highway\"=>\"trunk\", \"surface\"=>\"paved\"", 11 | "countries": 12 | [ 13 | "NIC" 14 | ] 15 | }, 16 | 17 | "geometry": 18 | { 19 | "type": "Point", 20 | "coordinates": 21 | [ 22 | -86.19759590000001, 23 | 12.1482481 24 | ] 25 | } 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/streaming/readers/wrongData.csv: -------------------------------------------------------------------------------- 1 | "Hello,world",5 2 | #Comment 3 | hello-world,6,36.3 -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/streaming/resource/zip/test.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/streaming/resource/zip/test.zip -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/tags/filters/matcher/test-matching.json: -------------------------------------------------------------------------------- 1 | { 2 | "matchers": [ 3 | "foo = bar | baz = bat", 4 | "hello != world" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/tags/filters/test-filtering.json: -------------------------------------------------------------------------------- 1 | { 2 | "filters": [ 3 | "barrier->*|highway->crossing,motorway_junction|railway->crossing,level_crossing", 4 | "noexit->!", 5 | "oneway->!reversed" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/archive/testExtractor.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/utilities/archive/testExtractor.zip -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/caching/strategies/hello.txt.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osmlab/atlas/bf5cb903df8896c011db2f85716ef8b5bbe10707/src/test/resources/org/openstreetmap/atlas/utilities/caching/strategies/hello.txt.gz -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongField0.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | public void method() 9 | { 10 | } 11 | 12 | private boolean field; 13 | 14 | public void methodB() 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongField1.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | private boolean field; 9 | private static boolean FIELD; 10 | 11 | public void method() 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongField2.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | private boolean fieldA; 9 | boolean fieldB; 10 | 11 | public void method() 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongInitializerBlock.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | public void method() 9 | { 10 | } 11 | 12 | { 13 | // Do something 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongInitializerStaticBlock.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | public void method() 9 | { 10 | } 11 | 12 | static 13 | { 14 | // Do something 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongMethodModifier.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | void methodA() 9 | { 10 | } 11 | 12 | public void methodB() 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongMethodName.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | public void methodB() 9 | { 10 | } 11 | 12 | public void methodA() 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongMethodVisibility1.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | private void methodA() 9 | { 10 | } 11 | 12 | public void methodB() 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/checkstyle/ArrangementCheckWrongMethodVisibility2.java: -------------------------------------------------------------------------------- 1 | package org.openstreetmap.atlas.utilities.checkstyle; 2 | 3 | /** 4 | * @author matthieun 5 | */ 6 | public class MyClass 7 | { 8 | void methodA() 9 | { 10 | } 11 | 12 | public void methodB() 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/command/subcommands/sharding-tree-1.txt: -------------------------------------------------------------------------------- 1 | 0-0-0+ 2 | 1-0-0 3 | 1-0-1 4 | 1-1-0 5 | 1-1-1 6 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/command/subcommands/templates/atlas1.atlas.txt: -------------------------------------------------------------------------------- 1 | # Nodes 2 | # Edges 3 | # Areas 4 | # Lines 5 | # Points 6 | 1 && 1.0,1.0 && a -> b 7 | 2 && 2.0,2.0 && c -> d 8 | # Relations 9 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/command/subcommands/templates/atlas2.atlas.txt: -------------------------------------------------------------------------------- 1 | # Nodes 2 | # Edges 3 | # Areas 4 | # Lines 5 | # Points 6 | 1 && 1.0,1.0 && a -> b 7 | 2 && 2.0,2.0 && c -> d 8 | # Relations 9 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/command/subcommands/templates/atlas_malformed.atlas.txt: -------------------------------------------------------------------------------- 1 | # Nodes 2 | adsadasd 3 | # Edges 4 | # Areas 5 | # Lines 6 | # Points 7 | # Relations 8 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/command/subcommands/test_boundary.txt: -------------------------------------------------------------------------------- 1 | AIA||POLYGON ((0 0, 0 1, 1 1, 1 0, 0 0))# 2 | MAF||POLYGON ((0 0, 0 2, 2 2, 2 0, 0 0))# 3 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/application.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": { 3 | "ABC": { 4 | "enable": true, 5 | "list": [ 6 | "nodes", 7 | "edges" 8 | ], 9 | "range": { 10 | "max": 20.0, 11 | "min": 10.0 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/application.yml: -------------------------------------------------------------------------------- 1 | feature: 2 | ABC: 3 | enable: true, 4 | list: 5 | - nodes 6 | - edges 7 | range: 8 | max: 20.0 9 | min: 10.0 10 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/development.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature.ABC.range": { 3 | "max": 30.0, 4 | "min": 5.0 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/development.yml: -------------------------------------------------------------------------------- 1 | feature.ABC.range: 2 | max: 30.0 3 | min: 5.0 4 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/developmentOverriding.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature.range": { 3 | "max": 35.0, 4 | "override.ABC.max":70.0 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/developmentOverriding.yml: -------------------------------------------------------------------------------- 1 | feature.range: 2 | max: 35.0 3 | override.ABC.max: 70.0 4 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/feature.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature": { 3 | "XYZ": { 4 | "range": { 5 | "max": 40.0, 6 | "min": 20.0 7 | } 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/feature.yml: -------------------------------------------------------------------------------- 1 | feature: 2 | XYZ: 3 | range: 4 | max: 40.0 5 | min: 20.0 6 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/keywordOverridingApplication.json: -------------------------------------------------------------------------------- 1 | { 2 | "feature":{ 3 | "enable":true, 4 | "list":[ 5 | "nodes", 6 | "edges" 7 | ], 8 | "range":{ 9 | "max":20.0, 10 | "min":10.0 11 | }, 12 | "override": { 13 | "XYZ":{ 14 | "range":{ 15 | "max": 30.0 16 | } 17 | }, 18 | "ABC.list":["nodes"] 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/keywordOverridingApplication.yml: -------------------------------------------------------------------------------- 1 | feature: 2 | enable: true 3 | list: 4 | - nodes 5 | - edges 6 | range: 7 | max: 20.0 8 | min: 10.0 9 | override: 10 | XYZ: 11 | range: 12 | max: 30.0 13 | ABC.list: 14 | - nodes 15 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/yaml_dot_compressed.yml: -------------------------------------------------------------------------------- 1 | a.b.c: 0 2 | a.b.d: 1 3 | -------------------------------------------------------------------------------- /src/test/resources/org/openstreetmap/atlas/utilities/configuration/yaml_dot_expanded.yml: -------------------------------------------------------------------------------- 1 | a: 2 | b: 3 | c: 0 4 | d: 1 5 | --------------------------------------------------------------------------------