Skip to content

Commit

Permalink
Merge branch 'master' into 0.7, release 0.7.1
Browse files Browse the repository at this point in the history
  • Loading branch information
tyrasd committed Aug 12, 2021
2 parents e0ddfa0 + dbdcd03 commit 536aac1
Show file tree
Hide file tree
Showing 31 changed files with 268 additions and 138 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,5 @@ Add any other context about the problem here.
Please complete the following information:
- OS: [e.g. Ubuntu 20.04 LTS]
- Java Version: [e.g. openjdk version "11.0.9.1"]
- OSHDB Version: [e.g. 0.7.0]
- OSHDB Version: [e.g. 0.7.1]
- Maven version: [e.g. 3.6.3]
6 changes: 3 additions & 3 deletions .idea/checkstyle-idea.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 21 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
Changelog
=========

## 0.8.0-SNAPSHOT (current master)


## 0.7.1

* fix a bug where contribution-based filters are not applied when used in an and/or operation. ([#409])
* fix a regression in `0.7.0` which prevents queries from being executed on an ignite cluster backend ([#417])

[#409]: https://github.com/GIScience/oshdb/issues/409
[#417]: https://github.com/GIScience/oshdb/pull/417


## 0.7.0

### breaking changes
Expand Down Expand Up @@ -97,7 +109,7 @@ Changelog
## 0.6.4

* make `aggregateByGeometry` robust against broken geometries causing topology exceptions (regression in version 0.6) ([#362])
* fix a crash caused by the use of non-existent tags in oshdb filters ([#363])
* fix a crash caused by the use of non-existent tags in OSHDB filters ([#363])

[#362]: https://github.com/GIScience/oshdb/pull/362
[#363]: https://github.com/GIScience/oshdb/pull/363
Expand Down Expand Up @@ -193,7 +205,7 @@ When switching to the OSHDB version 0.6 you need to adapt your `pom.xml` to the

## 0.5.8

* fix a regression in 0.5.7 when using oshdb on Ignite, restoring binary compatibility when running clients with different oshdb 0.5 versions in parallel. ([#235])
* fix a regression in 0.5.7 when using OSHDB on Ignite, restoring binary compatibility when running clients with different oshdb 0.5 versions in parallel. ([#235])
* fix a bug in the geometry builder utility causing exceptions to be thrown for certain invalid OSM multipolygons. ([#231])

[#231]: https://github.com/GIScience/oshdb/issues/231
Expand Down Expand Up @@ -342,15 +354,15 @@ When switching to the OSHDB version 0.6 you need to adapt your `pom.xml` to the
* renamed bounding box class to `OSHDBBoundingBox` and change order of constructor parameters to `minLon, minLat, maxLon, maxLat` (was `minLon, maxLon, minLat, maxLat`), for example:
* ~~`new BoundingBox(9.4,17.5,46.4,49.1)`~~ (0.3 code)
* `new OSHDBBoundingBox(9.4,46.4,17.5,49.1)` (0.4)
* fixed naming scheme of oshdb related classes: `OSHDB` (as well as `OSM`, `OSH`) are written in upper case:
* fixed naming scheme of OSHDB related classes: `OSHDB` (as well as `OSM`, `OSH`) are written in upper case:
* ~~`OSHDB_Ignite`~~ is now `OSHDBIgnite`
* ~~`OSHDbGeometryBuilder`~~ is now `OSHDBGeometryBuilder`
* re-introduced `oshdb-util` module
* some classes/packages have been moved to this module (e.g. the `geometry` and `time` helpers, as well as `tagInterpreter`, `tagTranslator`, `cellIterator`, `export`, …)
* moved some functionality from `OSM`, `OSH` and `Grid` classes into the oshdb-util package (these methods are now found in more specific classes like the `OSHDBGeometryBuilder`)
* all timestamps related to oshdb objects (osm entities, etc.) return `OSHDBTimestamp` objects
* all timestamps related to OSHDB objects (osm entities, etc.) return `OSHDBTimestamp` objects
* if you need to access the raw unix timestamp (`long`) value, use `….getTimestamp().getRawUnixTimestamp()`
* introduce specific classes for osm tags (`OSMTag`), tag-keys (`OSMTagKey`), roles (`OSMRole`) and their oshdb counterparts (`OSHDBTag`, …)
* introduce specific classes for osm tags (`OSMTag`), tag-keys (`OSMTagKey`), roles (`OSMRole`) and their OSHDB counterparts (`OSHDBTag`, …)
* these will be returned e.g. by `OSMEntity.getTags()` instead of the raw tag (`int`) ids – if you need these, use `OSMEntity.getRawTags()` or the appropriate getter function of the new objects (e.g. `OSHDBTag.getKey()`)
* the celliterator is now a (reusable) object instead of a set of static functions
* drop ~~`MEMBERLIST_CHANGE`~~ from analyzed contribution types of `OSMContribution`s
Expand All @@ -363,7 +375,7 @@ When switching to the OSHDB version 0.6 you need to adapt your `pom.xml` to the
* higher max-zoom level (up to level 15 instead of 12)
* move content from almost empty cells to higher zoom levels
* store objects in cells where they fit fully
* (note: oshdb database files created with this format are backwards compatible with oshdb version 0.3.1 as long as the max-zoom parameter is kept at `12`)
* (note: OSHDB database files created with this format are backwards compatible with oshdb version 0.3.1 as long as the max-zoom parameter is kept at `12`)

#### oshdb-api

Expand All @@ -376,7 +388,7 @@ When switching to the OSHDB version 0.6 you need to adapt your `pom.xml` to the
#### oshdb-tool

* rewritten importer (.osh.pbf → .oshdb) etl toolchain
* generated oshdb files include metadata about the included (osm) data
* generated OSHDB files include metadata about the included (osm) data

### performance

Expand All @@ -400,13 +412,13 @@ When switching to the OSHDB version 0.6 you need to adapt your `pom.xml` to the

## 0.3.1

* make java API methods work with updated “0.4” oshdb schema
* make java API methods work with updated “0.4” OSHDB schema
* mark some methods as deprecated that are removed in 0.4


## 0.3.0

* added a new easy to use _“functional programming style”_ API abstraction level that works on local oshdb files as well as on an Ignite cluster
* added a new easy to use _“functional programming style”_ API abstraction level that works on local OSHDB files as well as on an Ignite cluster
* OSMEntitySnapshotMapper – iterates over entity “snapshots” at given timestamps
* OSMContributionMapper – iterates over all OSM contributions for each entity (i.e. creation, modifications, deletion)
* (breaking) renamed properties of `CellIterator.iterateAll`'s results
Expand Down
18 changes: 18 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Raifer"
given-names: "Martin"
orcid: "https://orcid.org/0000-0002-2106-8560"
- family-names: "Troilo"
given-names: "Rafael"
- family-names: "Mocnik"
given-names: "Franz-Benjamin"
orcid: "https://orcid.org/0000-0002-1759-6336"
- family-names: "Schott"
given-names: "Moritz"
title: "OSHDB - OpenStreetMap History Data Analysis"
version: 0.7.1
doi: 10.5281/zenodo.4146990
date-released: 2021-07-22
url: "https://github.com/GIScience/oshdb"
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The OSHDB allows to investigate the evolution of the amount of data and the cont

Integer numberOfUsersEditingHighways = OSMContributionView.on(oshdb)
.timestamps("2007-10-07", "2009-04-09")
.osmTag("highway")
.filter("type:way and highway=*")
.map(contribution -> contribution.getContributorUserId())
.countUniq();

Expand Down Expand Up @@ -65,14 +65,14 @@ The API is based on the MapReduce programming model and offers powerful methods
Installation
------------

The OSHDB is available as a pre-compiled maven library and can be incorporated easily in any maven project. If you're starting a new project, take a look at how your IDE handles maven projects (for example, here you find instructions how to create a new maven project using [IntelliJ](https://www.jetbrains.com/help/idea/maven-support.html#maven_create_project)). Our [first steps tutorial](https://github.com/GIScience/oshdb/tree/0.7.0/documentation/first-steps#2-add-maven-dependency) includes further information about how to add the OSHDB as a maven dependency to your projects.
The OSHDB is available as a pre-compiled maven library and can be incorporated easily in any maven project. If you're starting a new project, take a look at how your IDE handles maven projects (for example, here you find instructions how to create a new maven project using [IntelliJ](https://www.jetbrains.com/help/idea/maven-support.html#maven_create_project)). Our [first steps tutorial](https://github.com/GIScience/oshdb/tree/0.7.1/documentation/first-steps#2-add-maven-dependency) includes further information about how to add the OSHDB as a maven dependency to your projects.

Documentation
-------------

* [first steps tutorial](documentation/first-steps/README.md)
* [User Manual](documentation/manual/README.md)
* [OSHDB Javadoc](https://docs.ohsome.org/java/oshdb/0.7.0/aggregated/)
* [OSHDB Javadoc](https://docs.ohsome.org/java/oshdb/0.7.1/aggregated/)

Examples
--------
Expand Down
2 changes: 1 addition & 1 deletion documentation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ Here you find OSHDB related documentation material:
Explains the design of the OSHDB data model and shows the different features of the OSHDB API and how they can be used to efficiently query the OSM history data.
* [Examples](https://gitlab.gistools.geog.uni-heidelberg.de/giscience/big-data/ohsome/oshdb-examples) <br>
Contains some example code for how to use the OSHDB to analyze the OSM history data.
* [OSHDB Javadoc](https://docs.ohsome.org/java/oshdb/0.7.0/aggregated/) <br>
* [OSHDB Javadoc](https://docs.ohsome.org/java/oshdb/0.7.1/aggregated/) <br>
This lists all methods offered by the various OSHDB modules, packages and classes.
6 changes: 3 additions & 3 deletions documentation/first-steps/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The programming interface is based on the [MapReduce](https://en.wikipedia.org/w

This _first steps_ tutorial will guide you through each of these steps individually.

## 1. Download an oshdb extract
## 1. Download an OSHDB extract

For your first steps, we recommend that you download one of the available OSHDB data extracts from our [download server](https://downloads.ohsome.org/OSHDB/v0.7/). We will use this data file to run a simple analysis query on it.

Expand All @@ -25,7 +25,7 @@ If you already have an existing Java maven project, the OSHDB-API can be added t
<dependency>
<groupId>org.heigit.ohsome</groupId>
<artifactId>oshdb-api</artifactId>
<version>0.7.0</version>
<version>0.7.1</version>
</dependency>
```

Expand Down Expand Up @@ -77,7 +77,7 @@ In our example, we only want to look at OSM way objects which have the `building
.filter("type:way and building=*")
```

There are a variety of available filter selectors which can be combined into a [filter](https://github.com/GIScience/oshdb/tree/0.7.0/documentation/first-steps) string: each one specifies a property which OSM objects can have. These selectors can be combined into a filter string using boolean operators and parentheses. If multiple `filter`s are set, the result will contain only the OSM objects which match all given filters.
There are a variety of available filter selectors which can be combined into a [filter](https://github.com/GIScience/oshdb/tree/0.7.1/documentation/first-steps) string: each one specifies a property which OSM objects can have. These selectors can be combined into a filter string using boolean operators and parentheses. If multiple `filter`s are set, the result will contain only the OSM objects which match all given filters.

## 7. Calculating intermediate results

Expand Down
2 changes: 1 addition & 1 deletion documentation/first-steps/example-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<dependency>
<groupId>org.heigit.ohsome</groupId>
<artifactId>oshdb-api</artifactId>
<version>0.7.0</version>
<version>0.7.1</version>
</dependency>
</dependencies>

Expand Down
Loading

0 comments on commit 536aac1

Please sign in to comment.