Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entwine overlapping bounds tiles read #54

Open
1 of 3 tasks
pomadchin opened this issue Mar 16, 2020 · 3 comments
Open
1 of 3 tasks

Entwine overlapping bounds tiles read #54

pomadchin opened this issue Mar 16, 2020 · 3 comments
Assignees

Comments

@pomadchin
Copy link
Member

pomadchin commented Mar 16, 2020

The task is to check out PDAL/PDAL@a2a08f0 behavior;

Ref: PDAL/PDAL#2959

  • Build a Docker container with the PDAL version from the branch
  • Run benchmarks and / or check for visual correctness
    • The step above may require building new PDAL JNI bindings (opt)
@pomadchin pomadchin changed the title Entwine overlapping tiles read Entwine overlapping bounds tiles read Mar 16, 2020
@echeipesh
Copy link
Collaborator

Outcome: Test the PDAL created no-cull option to see the effect on degenerate case.

@jpolchlo
Copy link
Contributor

jpolchlo commented Apr 1, 2020

This test is pending on two events: (1) locating a test example with a gap, and possibly (2) adding a parameter to ReaderEpt (in a branch) to access the no-cull option. The second can be eliminated in favor of providing a text pipeline.

Once a gap is found, we would need to find an extent that crosses into the gap but does not cover it. That is, find an extent that interacts with the gap like so:

 * ** *** *** * *  *  * *   *
* * * *  **  * * * ** *** * *
* **          * **  ** * *  **
+------------+   * ** * * * *
|*  *        |   * * * * * * *
| **         |   *** *** * **
|* ***       |    * * *** *  *
+------------+   **  ** *  * *
* * * *  * *   * * *** * * **
  ** * ***  * * * *  ** * * **

The resulting triangulation won't fill in the gap values without the no-cull option.

There is an alternative suggested to the no-cull option, which is to manually build a sample via multiple readers. The first reader will grab the requested region at full resolution, the last reader will grab the entire 0-0-0-0 node by requesting the full EPT extent at very large resolution. Any number of intermediate reads can be performed with extent sizes/cell sizes between the top- and bottom-level queries.

In any event, these nested reads can be benchmarked without finding a data void, but the performance penalty can only be assessed for merit once a problematic region is located.

@jpolchlo
Copy link
Contributor

jpolchlo commented Apr 1, 2020

A Dockerfile to provide the branch of PDAL:

FROM debian:sid
MAINTAINER Grigory Pomadchin <[email protected]>

RUN set -ex && \
    apt update -y && \
    apt install \
      openjdk-8-jdk \
      ca-certificates-java -y

ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-amd6
RUN update-alternatives --set java `update-alternatives --list java | grep java-8`

# https://tracker.debian.org/pkg/pdal
RUN apt-get -y install bash gcc g++ cmake wget git libgdal-dev liblaszip-dev
RUN git clone https://github.com/pdal/pdal.git && \
    cd pdal && \
    git checkout a2a08f0 && \
    mkdir build && \
    cd build && \
    cmake -DCMAKE_BUILD_TYPE=Release .. && \
    make && \
    make install && \
    cd ../.. && \
    rm -rf pdal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants