by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 13:35
    pomadchin review_requested #3278
  • 08:29
    wenjunzhangp commented #3277
  • Aug 03 19:31
    pomadchin review_requested #3273
  • Aug 03 19:31
    pomadchin review_requested #3275
  • Aug 03 19:16
    pomadchin commented #3203
  • Aug 03 18:30
    pomadchin synchronize #3278
  • Aug 03 18:30

    pomadchin on rgba-color

    Fix JPEG render (compare)

  • Aug 03 18:29
    pomadchin synchronize #3278
  • Aug 03 18:29

    pomadchin on rgba-color

    Fix JPEG render (compare)

  • Aug 03 18:09
    pomadchin assigned #3278
  • Aug 03 18:09
    pomadchin commented #3203
  • Aug 03 18:08
    pomadchin assigned #3203
  • Aug 03 18:02
    pomadchin edited #3278
  • Aug 03 18:01
    pomadchin synchronize #3278
  • Aug 03 18:01

    pomadchin on rgba-color

    Fix JPEG render (compare)

  • Aug 03 14:39
    pomadchin labeled #3276
  • Aug 03 13:37
    wenjunzhangp commented #3277
  • Aug 03 13:34
    pomadchin commented #3277
  • Aug 03 13:34
    pomadchin commented #3277
  • Aug 03 04:24
    wenjunzhangp commented #3277
Frederic Guiet
@fguiet
case
not
:(
Frederic Guiet
@fguiet
gtg seeya @pomadchin
thank for ya help
Grigory
@pomadchin
np, you’re welcome
rexuexiangbei
@rexuexiangbei
@pomadchin hi,which hbase version is required in gt3.0.0;hbase 1.3.1 is ok?
Grigory
@pomadchin
Hey @rexuexiangbei nope, we are on hbase 2.2 but you can try, API can be compatible
John Smith
@GintokiYs
image.png
image.png
hello @pomadchin What is the use of this class?
Grigory
@pomadchin
Hey @15952026052 it is a zoomed layout scheme (as I already mentioned according to tms tiling scheme) - allows to derive zoom level based not the raster extent and the cellSize; also allows to derive layoutDefinjtion and derive it for some specific zoom level
Frank Dekervel
@kervel
hello, maybe stupid question, i'm trying to create the trivial PR suggested by @pomadchin and i'd like to test it on my project. now i have geotrellis/ and myproject/ but myproject refers to the released version of geotrellis in its build.sbt. how can i make my project using the geotrellis i built myself ?
Frank Dekervel
@kervel
i now did it with "sbt publishLocal" and then i changed version of geotrellis to 3.1.0-snapshot in my build.sbt but there must be a better way ?
Grigory
@pomadchin
Hey @kervel ; nope, you can use https://github.com/locationtech/geotrellis/blob/master/scripts/publish-local.sh if you have difficulties. The good part of the story that you usually need to publish everything once and after that you can just rebuild the project you modified
Frank Dekervel
@kervel
ah, the push creates symlinks ?
Grigory
@pomadchin
symlinks? ah sowe had difficulties with publishing everything through a single sbt commands (memory / etc). sowe created a seaparate script that publishes everything into a local maven repository
James Cosford
@jamescosford
I've just come back to using geotrellis/vector after not touching it since 2.10, and I thought I would bring everything up to date with 3.1.0. Is that a good idea? Is there a good summary of changes somewhere? Feels like everything is miles from where it was.
Grigory
@pomadchin

hey @jamescosford you can get a high order summary from here: https://www.azavea.com/blog/2019/10/29/geotrellis-3-0-release/ also we have some release notes https://github.com/locationtech/geotrellis/releases/tag/v3.0.0 and we don’t have updated docs

the difference between 3.0 and 3.1 in a broken types hierarchy that was fixed in 3.1 and you probably won’t even notice it

James Cosford
@jamescosford
Thanks! I was stupidly looking at the master changelog and not the 3.0 branch changelog
I think I'm running into mostly locationtech/geotrellis#2932 stuff because I am using lots of JTS functionality
All of that high-overhead Scala wrapper stuff was really handy :D
Grigory
@pomadchin
yea; but we have some thin wrappers now around it; it was a reall mess always to convert between jts and our vector types :D
James Cosford
@jamescosford
I'm sure I will appreciate the improvements once I get rid of all these red squiggles. Thanks for the help, and all the hard work you guys have been doing.
Nathan Banek
@natonic77
I'm trying to produce a visual representation of a GeoTIFF that contains elevation data (or other dimensions, but elevation is a good example: something along the lines of the kind of visual illustration shown at the top of this page: https://library.carleton.ca/help/dem-formats). The raw underlying data does not naturally translate into a useful color range (or even grayscale) for rendering on the screen. I'm assuming I need to use a custom colorramp to make this work, but I'm a little lost as to where to begin. Anyone familiar with this sort of application and where I might learn more about how to get started?
Nathan Banek
@natonic77
Didn't exactly answer my own question about visualizing elevation data, but got closer. I used the built in ColorRamps in the library and got some decent results, but strangely I got different results for the same ColorRamp used with renderPng vs using it with renderJpg (renderJpg tended to be more muted than renderPng). Any idea why that would be?
Frank Dekervel
@kervel
is the rasterizer in geotrellis (geotrellis.raster.rasterize) elaborate enough to use as a simple tile renderer for vector data in postgis ? (there are tons of other options, but since i'm already using geotrellis ..)
Grigory
@pomadchin
@kervel I think it would work; @MahdiSMIDA did smth like that and visualized pointclouds using it https://gitter.im/geotrellis/geotrellis?at=5d95c2113220922ffb1e776d
Simeon H.K. Fitch
@metasim
@jamesmcclain are you still the lead guy on gdal_warp_bindings?
(about linkage rules on MacOS)
Grigory
@pomadchin
@metasim yep he is our lead guy here
:D
ha; interesting; so it assumes some to see some static paths?
Simeon H.K. Fitch
@metasim
Yeh.... which is a nice feature of OSX... when you want it.
There's some otool rpath trickery that allows you to manipulate it.
Nathan Banek
@natonic77

Found a potential problem in ColorMethods.toBufferedImage when used with a Byte-typed GeoTIFF. The current code passes the byte value of each cell as an integer to AWT's BufferedImage.setRGB call. This has the effect of populating the only Blue band in each cell resulting image, but it should have the effect of populating the R, G, and B bands in the raster (i.e. grayscale).

  def toBufferedImage: BufferedImage = {
    val bi = new BufferedImage(self.cols, self.rows, BufferedImage.TYPE_INT_RGB)
    cfor(0)(_ < self.cols, _ + 1) { x =>
      cfor(0)(_ < self.rows, _ + 1) { y =>
        bi.setRGB(x, y, self.get(x, y))
      }
    }
    bi
  }

Something like the byte-oriented version below would accurately convert the byte cells into full ARGB ints in the BufferedImage cells. Obviously, this could be done a little more cleanly within the library itself, but this is the workaround I am using in my own code.

          def byteToBufferedImage(t: Tile): BufferedImage = {
            val bi = new BufferedImage(t.cols, t.rows, BufferedImage.TYPE_INT_RGB)
            cfor(0)(_ < t.cols, _ + 1) { x =>
              cfor(0)(_ < t.rows, _ + 1) { y =>
                val byteVal = t.get(x, y)
                bi.setRGB(x, y, (0xFF << 24) | ((byteVal & 0xFF) << 16) | ((byteVal & 0xFF) << 8) | byteVal)
              }
            }
            bi
          }
Grigory
@pomadchin
I remember smth about it @metasim there was definitely smth with it; lets wait for @jamesmcclain comments
Simeon H.K. Fitch
@metasim
Sure... for now, I just need to document it.
Grigory
@pomadchin
hey @natonic77 so it is still related to the toJpg conversion?
I remember that you created an issue, can you post these thoughts into the issue as well?
Simeon H.K. Fitch
@metasim
We are finding that for some cell types, a.union(b) != b.union(a). We think it's a bug, but want to know what you think.
Grigory
@pomadchin
I wont expect that a.union(b) == b.union(a) when you have a function defined this way
Nathan Banek
@natonic77
@pomadchin I guess it is peripherally related. Two different problems, but both affect the JPEG output. I'll add it there.
Grigory
@pomadchin
@natonic77 yep, I think it is used (we used it) only for JPEG generation
hm @metasim but anyway; this can be a bug; what is the example of a union that doesnt work ‘as expected'?
Grigory
@pomadchin
@metasim you can even go deeper and make CellTypeSpec better :tada:
Simeon H.K. Fitch
@metasim
    println(UShortConstantNoDataCellType.union(UShortCellType) == UShortCellType.union(UShortConstantNoDataCellType))
'k