Wykres commitów

1310 Commity (master)

Autor SHA1 Wiadomość Data
Yuri Astrakhan 6a41245288
Generate getmvt() func with build-sql (#880)
Add `getmvt` sql function as part of the build-sql make step. The function will be imported into PG during the `import-sql` step after all other SQL is done.  This is a noop for the `generate-tiles` approach.
2020-05-20 13:52:18 -04:00
Yuri Astrakhan bac0f25b1d
Remove parallel safe on layer_building for now (#882)
layer_building uses osm_all_buildings, which uses a
non-parallel-safe as_numeric.  Marking it as non-parallel safe
for now until we switch to CleanNumeric later.
2020-05-20 13:38:11 -04:00
Frédéric Rodrigo 97216c5c19
Replace materialized view of water by tables with diff update (#853)
Replacing materialized view by a tables with update from trigger on change only.

Start with the most simple cases.

Just replicate the change on:
* `osm_water_polygon` to `osm_water_lakeline`,
* `osm_water_polygon` to `osm_water_point`.

Use a view to factorize the `osm_water_lakeline` and `osm_water_point_view` definition and reuse it in the trigger.

The update of `osm_important_waterway_linestring` is more complex, as it is a merge of `osm_waterway_linestring`. It not done in the same way. At the end of the transaction we remove impacted and recompute them.

The goal is to update more quickly the content of derivated table by just updating the changing content. It replaces the update of materialized view because their need a full recompute (with lock issue).

Note, an advanced version of differential update over materialized view as already implemented in the building cluster PR #725.

It addresses #814 and a part of #809.
2020-05-20 13:14:22 -04:00
Yuri Astrakhan be75e7662f
wait longer for preloaded image (#881)
preloaded postgis image can take longer than 60 seconds to start
on slower machines. Increase the timeout to 3 minutes.
2020-05-20 11:50:54 -04:00
Yuri Astrakhan 0d6cc6b43e
Properly init dirs, docs (#879)
* make sure all required dirs are initialized before running any of the docker commands. Otherwise docker will create them as root.
* minor docs cleanup
2020-05-20 11:27:42 -04:00
Yuri Astrakhan e12f09ae57
Generate multiple parallelizable SQL files (#839)
Generate multiple SQL files to be imported in parallel.
The files will respect the cross-layer dependencies,
so they can be all ingested at the same time.
2020-05-18 14:26:51 -04:00
Eva Jelinkova d8095e8ee9
Update Readme.md - start-db command (#872) 2020-05-15 15:01:29 -04:00
Frédéric Rodrigo dcee493da6
Simplify update_gbr_route_members() (#870)
Code cleaning.

The function `update_gbr_route_members()` use two sub queries, but only one is relay needed.
2020-05-15 11:24:57 -04:00
zstadler aea7d73ece
quickstart support for osmfr and bbike areas (#861)
* quickstart support for osmfr and bbike areas

- Use the `--empty` flag to start with an empty database
- Geofabrik as the default server
- osmfr is used for hierarchical area names such as `europe/austria`
- bbbike is used for Capitalized area names such as `Adelaide`
2020-05-15 01:14:14 -04:00
zstadler e10aa33268
Update Makefile (#869)
Missed another typo
2020-05-15 00:08:37 -04:00
zstadler 63e150244d
Fix Typo (#868)
Avoid `http://http://...`
2020-05-14 17:59:12 -04:00
zstadler 12542eb687
Unified naming convention for make targets (#862)
Following https://github.com/openmaptiles/openmaptiles/pull/821#issuecomment-625773180
2020-05-09 13:30:57 -04:00
Yuri Astrakhan dd3cb077a2
Improve GH action update-pr log messages (#860) 2020-05-07 17:20:06 -04:00
Yuri Astrakhan 632a33ed05
attempt to reset hardware before each test (#859)
* Trims SSD drives, flushes cache before each performance test. Unfortunately these are still incomplete -- need to use real hardware machines for all these to take effect.
* A bit more output in PR updater
2020-05-07 15:33:28 -04:00
Frédéric Rodrigo 9f9facc8c6
Remove support of relation type=associatedStreet, few valuable data, most false positive (#841)
Thank you @frodrigo for PR.
2020-05-07 14:37:00 +02:00
Eva Jelinkova 11566f89c7
adding more data in zoom 7 and 8 (#617) 2020-05-07 11:01:58 +02:00
Yuri Astrakhan d9fb768af8
Github Actions: Debug bbox test params (#857)
Somehow test fails on options in github actions, add debugging output for that cmd
2020-05-06 13:51:38 -04:00
Yuri Astrakhan 864eba51b3
Update README.md (#854) 2020-05-06 12:14:55 -04:00
Yuri Astrakhan c35cc59bda
Profiling tests: Large test data and wikidata caching (#855)
* Adds a script to downloads multiple areas and compute their test parameters
* added a large test that uses a combined 76MB file with equatorial-guinea, liechtenstein, district-of-columbia, greater-london
* cache wikidata downloads
2020-05-06 11:36:15 -04:00
Yuri Astrakhan b6f1e1374b
parametrized pbf file (#856)
* `make import-data` now accepts `PBF_FILE=...` parameter (see #820)
* quickstart uses specific data file when importing
2020-05-06 11:27:14 -04:00
Yuri Astrakhan 36c63ab41b
auto-build master-tools branch (#842)
`master-tools` branch is the same as `master` branch, except that it uses `latest` from the tools repo. This allows us to quickly track if master is compiling correct.
2020-05-05 12:18:34 -04:00
Yuri Astrakhan e0f111c9ef
Disable TTY in test-perf (sets proper width) (#849)
No TTY forces test-perf to use the default screen width for the output
2020-05-05 12:08:08 -04:00
Yuri Astrakhan 0cae7b9fd6
Upgrade to tools v5 - rm import-osm, new downloader... (#785)
Update to tools v5. See https://github.com/openmaptiles/openmaptiles-tools/releases/tag/v5.0.0 for the list of all changes. Other OMT-repo specific changes:

* removes `import-osm` docker usage, replacing it with `openmaptiles-tools`
* quickstart builds faster because it uses postgres with preloaded water, natural earth, and lake centerlines tables.

### Makefile targets
* `tools-dev` will open a shell in a docker to experiment and debug (instead of `import-sql-dev` and `import-osm-dev`)
* separated `start-maputnik` from `start-postserve`
* renamed `clean-docker` into `db-destroy` to make it more explicit
* cleaner `db-start`, `db-stop`, `db-destroy` targets
* `db-start-preloaded` is the same as `db-start`, except that it uses `postgis-preloaded` -- an image with preloaded water, natural-earth, and lake centerline data
* `db-start` will not recreate the container if it already exists -- this way if it was started as preloaded, it will not be rebuilt.
* better output messages

### Quickstart
* uses `postgis-preloaded` image by default to make quickstart quicker.  To start with a clean db, pass 2 parameters to quickstart, e.g. `./quickstart.sh albania empty`
2020-05-05 11:53:09 -04:00
Yuri Astrakhan 785ec93799
Improve workflow PR updates (#847)
Include closed PRs in the update cycle, because there could be a case that PR got closed before the job had a chance to finish, and we should still update it.
2020-05-05 09:56:49 -04:00
Yuri Astrakhan 365a2349f2
Use --bbox for test-perf testing (#850)
This approach allows us to change test data at any moment, without changing test-perf code.
2020-05-04 23:38:28 -04:00
Yuri Astrakhan 0d0d9c6b89
Don't hide makefile errors in pipes (#848)
Follow up to #846 - make sure that if an error happens inside a target whose output is piped, we stop.
2020-05-04 16:41:55 -04:00
zstadler 29973669ae
Warning-check for `make import-sql` (#846)
Always check `make import-sql` for warnings. Not only when invoked by `quickstart.sh`.
2020-05-04 13:28:23 -04:00
Yuri Astrakhan 68911900c9
More performance profiling details (#845)
Results now show a table of how long each step took, as well as the PG database size change.

* use `time` to compute profiling for each step
* call postgres to get database size
2020-05-04 12:18:39 -04:00
Yuri Astrakhan 5445a70c30
workflow improvements (#840)
* 20 min seems to be too short, it skips some PRs
* fixed to proper URL printing in logs
2020-04-30 11:50:45 -04:00
Frédéric Rodrigo 99f9336e5e
Merge ways and relations fetch from table osm_building_polygon (#757)
Build on top of PR #755, to be merged first.

Since we want every thing from osm_building_polygon (osm_id >= 0 and osm_id < 0), we can merge the two queries.

Note: the obp.osm_id >= 0 on the left join only apply to the left join part.
2020-04-29 16:03:22 +02:00
Yuri Astrakhan 5f277b5023
Workflow - use insecure curl when can (#838)
Turned out that some update jobs failed due to

```
{
  "message": "Bad credentials",
  "documentation_url": "https://developer.github.com/v3"
}
```

This is probably due to credentials expiring (long workflow startup?),
or some internal github issue.

For now, removing authenticated `curl` calls because most
of them can be done anonymously, and keeping them only when needed.
2020-04-28 23:38:06 -04:00
Yuri Astrakhan d5569fb679
display raw data on error in workflow (#837)
trying to figure out what strange data is returned
by github that is not returned when testing locally
2020-04-28 21:41:07 -04:00
Yuri Astrakhan e037b5a7f6
PR workflow - error reporting and cleanup (#836)
optimize a bit the CI workflow PR commenting logic
to avoid some errors and better debugging messages.
2020-04-28 15:37:07 -04:00
Yuri Astrakhan f030f7ace7
Improve PR comment updater, bug fixes (#835)
* use proper number parsing
* skip PRs that weren't recently updated
* Better reporting
2020-04-28 11:10:24 -04:00
Kyle Barron cc6fccb4df
Add amenity=drinking_water (#765)
* Add amenity=drinking_water

Fixes #569.

From test:
Generated 118,970 tiles in 0:06:20.7, 312.4 tiles/s +1.3%, 155.5 bytes/tile +0.0%

* updated devdoc image  - Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
2020-04-28 12:51:26 +02:00
Frédéric Rodrigo 86a6f93b29
Micro SQL improvement of building layer (#755)
Thank you @frodrigo for this improvement.
2020-04-28 12:05:58 +02:00
Frédéric Rodrigo cb2cc09d20
Remove support of relation type=street, few valuable data, most false positive (#754)
Thank you @frodrigo for this PR. Tests are looking good.
2020-04-28 10:36:44 +02:00
Yuri Astrakhan 33b91cee90
minor CI fix to handle no PRs (#834)
* delete output escaping (forgot to remove it -- was used for the older system)
* stop early if there are no pull requests (e.g. in case this is a fork)
2020-04-27 03:42:37 -04:00
Yuri Astrakhan 75a47109ee
Implement PR performance auto-update (#833)
A cron-based approach to find pull requests, possibly from forks,
that finished profiling, and post their results as comments.

See in-depth explanation of how this works at
https://github.com/nyurik/auto_pr_comments_from_forks
2020-04-27 02:37:57 -04:00
Yuri Astrakhan 479b83c0f0
in a CI test, print less junk (#831) 2020-04-24 16:44:02 -04:00
Petr Pridal 83f8a23bd3
Merge pull request #828 from nyurik/maptiler-change
klokantech/tileserver-gl -> maptiler/tileserver-gl
2020-04-24 21:17:26 +02:00
Petr Pridal 08b5fcd457
Merge branch 'master' into maptiler-change 2020-04-24 20:39:46 +02:00
zstadler ed32b115b3
Update Makefile (#825)
Add `/bin/sh` support

Co-authored-by: Yuri Astrakhan <YuriAstrakhan@gmail.com>
2020-04-24 14:38:36 -04:00
zstadler 3104badf63
`make generate-qareports` depends on `db-start` (#826)
Co-authored-by: Yuri Astrakhan <YuriAstrakhan@gmail.com>
2020-04-24 14:29:59 -04:00
Yuri Astrakhan 79be9bb0bc Merge branch 'master' into maptiler-change 2020-04-24 14:08:36 -04:00
Yuri Astrakhan d7873db0c0
Implement PR performance testing (#824)
* On pull request and on commit, run base test followed by the test of the change,
comparing the results, and publishing the results to the Pull Request.
If the pull request is updated, the resulting comment will be updated.

* also save quickstart.log as an artifact

Note that due to GitHub workflow security restrictions, it is not possible to post PR comments if the change originated from a fork.  I am still looking for workarounds.

To view what would have been posted, in the build results at the bottom, open `PR performance` details, and expand the ` Comment on Pull Request` (and its subitem).

Optimizations: the process keeps two caches -- one for the data test file, and one for the results of the performance run for the "base" revision.  If this or other PR has been executed for the same revision and the same test data, performance test will only run for the proposed changes, not for the base.

Co-authored-by: Tomas Pohanka <TomPohys@gmail.com>
2020-04-24 09:20:59 -04:00
Frédéric Rodrigo 5da406f4a2
Filter osm_building_polygon on polygon (#758) 2020-04-23 08:23:52 +02:00
Yuri Astrakhan 95ddc34295
Minor makefile cleanup followup #821 (#823)
Per @zstadler recommendations in
21053e4a5f
2020-04-22 14:55:13 -04:00
Yuri Astrakhan 21053e4a5f
Makefile target cleanup, minor improvements (#821)
* allow postgres image to be overwritten with an env var
* allow DIFF_MODE var to be overwritten with an env var
* add /mapping and /cache dirs into tools image
* make `build-sql` target explicit rather than relying on a filename
* `tools-dev` will open a shell in a docker to experiment and debug (instead of `import-sql-dev` and `import-osm-dev`)
* separated `start-maputnik` from `start-postserve`
* renamed `clean-docker` into `db-destroy` to make it more explicit
* cleaner `db-start`, `db-stop`, `db-destroy` targets
* better output messages
2020-04-22 11:15:20 -04:00
Frédéric Rodrigo 8f9770e546
Reorder POI data update and trigger creation to avoid refresh of materialized view on initial import (#780)
Reorder POI data update and trigger creation to avoid refresh of materialized view after update done by initial import.

I checked the other updates and there are OK.
2020-04-22 03:03:10 -04:00