Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Feb 21 17:19
    fosskers commented #2646
  • Feb 21 17:17
    fosskers closed #1989
  • Feb 21 17:14
    fosskers commented #2351
  • Feb 21 17:14
    fosskers closed #2341
  • Feb 21 17:11
    pomadchin commented #2646
  • Feb 21 17:10
    fosskers commented #2646
  • Feb 20 21:51
    pomadchin commented #3190
  • Feb 20 21:45
    doug-aero commented #3190
  • Feb 20 21:37
    doug-aero commented #3190
  • Feb 20 21:35
    doug-aero commented #3190
  • Feb 20 21:35
    doug-aero commented #3190
  • Feb 20 21:10
    jpolchlo commented #3190
  • Feb 20 19:53
    pomadchin commented #3190
  • Feb 20 18:42
    doug-aero commented #3190
  • Feb 20 14:53
    pomadchin commented #3190
  • Feb 20 14:51
    pomadchin edited #3190
  • Feb 20 14:42
    pomadchin commented #3190
  • Feb 20 14:28
    jpolchlo commented #3190
  • Feb 19 22:42
    pmacleod commented #3187
  • Feb 19 20:57

    pomadchin on master

    Fix GeoTiff Byte and UByte Cell… (compare)

Grigory
@pomadchin
it is definitely a bug and thanks for finding that stackoverflow issue as well
ah you know that problem with that issue is that locationtech/proj4 is in fact @dwins fork (well, he was doing changes in his fork and after that we moved changes to locationtech repo - he did a huge work)
Frank Dekervel
@kervel
hmm @pomadchin seems such an issue already exists but then for british one locationtech/proj4j#32
i have added a comment there
Grigory
@pomadchin
:+1:
@kervel mb it is inaccurate projection port from the osgeo proj lib
Frank Dekervel
@kervel
i should check if the osgeo proj lib is accurate here (but i suspect it is , since qgis seems to handle these conversions just fine)
Grigory
@pomadchin
@kervel can you check @dwins fork, mb it would work for you?
Frank Dekervel
@kervel
ok, i was assuming that dwins' fork was actually the version used by geotrellis, but i'll try then
Frank Dekervel
@kervel
@pomadchin i tested that fork, doesn't seem better actually
image.png
not as bad as in the stackoverflow post, but not accurate
Grigory
@pomadchin
@kervel can you post some comparison on your data of locationtech proj and @dwins fork?
we can use it as the test case in the future
Frank Dekervel
@kervel
will do tomorrow!
Grigory
@pomadchin
thank you so much @kervel :+1:
Ricardo Yrupailla Meza
@stg101
image.png

Hi , I'm having problems trying to perform a viewshed operation over a field of view of 90 degrees, I'm using the following code

        val point27 = Viewpoint (
          x = point.x, 
          y = point.y, 
          viewHeight = 1.6, 
          angle = 0, 
          fieldOfView = Math.PI / 2, 
          altitude = -1.0/0
        )
        // Perform viewshed

        val layerVs = tiled.viewshed(Seq(point27), maxDistance=maxDistance, curvature=true)

but i'm getting thw following result which correspond to a 2 * PI field of view

I'm doing something wrong ?
Ricardo Yrupailla Meza
@stg101
tiled is of type TileLayerRDD
15952026052
@15952026052
image.png
/* val (zoom, reprojected): (Int, RDD[(SpatialKey, MultibandTile)] with Metadata[TileLayerMetadata[SpatialKey]]) =
      MultibandTileLayerRDD(tiled, rasterMetaData)
        .reproject( layoutScheme, Bilinear)
          Pyramid.upLevels(reprojected, layoutScheme, zoom , Bilinear){...}  */

     Pyramid.upLevels(MultibandTileLayerRDD(tiled, rasterMetaData), layoutScheme, 13, Bilinear) { (rdd, z) =>
      val layerId = LayerId("test", z)
      // If the layer exists already, delete it out before writing
      if(attributeStore.layerExists(layerId)) {
        new FileLayerManager(attributeStore).delete(layerId)
      }
      writer.write(layerId, rdd, ZCurveKeyIndexMethod)
    }
Hello @pomadchin I don't want to reproject, so in (Pyramid.upLevels()), replace reprojected with MultibandTileLayerRDD(tiled, rasterMetaData).
But the result is that only the top layer has normal image output.
image.png
15952026052
@15952026052
image.png
Grigory
@pomadchin
@15952026052 how is that possible that level 12 has the higher resolution?
Frank Dekervel
@kervel
hello, i have N tilesets in webmercator (see, i am getting further and further :D) every tileset is sparse and the overlap between the tilesets is small. I need to merge them to a big tileset. this shouldn't be an expensive operation since it will just involve copying 90% of the tiles and merging 10% of them, but when doing this with spark a tileset is a RDD[SpatialKey,Tile] so merging N tilesets will require me to load all tiles in memory (even the ones that just need to be copied?)... or am i not understanding how a PairRDD works ?
N ~ 200 with every tileset having a couple of hunderds of 1024x1024 tiles.
Frank Dekervel
@kervel
a column based datastructure (eg Dataset[(SpatialKey,Tile)]) would be much more efficient here i guess
Frank Dekervel
@kervel
hmm, that's rasterframes, right ?
Grigory
@pomadchin
hey @kervel can you tell a little bie more about what you’re trying to do? it is a bit hard to follow
Not sure that rasterframes would solve your issue btw
Frank Dekervel
@kervel
well, i have now geotrellis jobs that generate tilesets based on mobile lidar data.
every run of the mobile lidar is now converted into one set of tiles.
but i want to make a big tileset of all the runs together ... normally every time the mobile lidar runs it will go somewhere else. but sometimes it will have an overlapping section with a previous run
so i go raw lidar returns --> pointcloud --> raster --> retile --> reproject --> save to hadoop for one tileset
Eugene Cheipesh
@echeipesh
@kervel You should be able to use the LayerWriter.update function to merge in the new data. The writer will check if the target tile exists and try to update it using the provided function. (Be warned the default implementation doesn't actually do any merging, so make sure to specify real value for mergeFunc there).
Frank Dekervel
@kervel
Ok, that sounds good! Tx
Frank Dekervel
@kervel
i'm reading about rasterframes.. and i think it would also help me because raster data is lazily loaded. what i can't easily do in geotrellis is getting a list of the raster tile keys without loading them all (or can i). but going to use the layerWriter.update method.
Glider
@esmeetu
hey, @pomadchin i have committed a PR. #3147 for optimization.
Besides, i have a question about tile mapalgebra calculation. How to deal with edge when using 3x3 window to calculate the tile's slope. The edge pixel only has three adjacent pixels, so there is a big difference in the result of tile slope. Is there a better way to solve this?
Grigory
@pomadchin
hey @esmeetu thanks! I anwsered under the issue; thank you so much for the contribution
Eugene Cheipesh
@echeipesh
@kervel You can do that with GT as well. If you load make `RasterSource' instances for your rasters thats a lazy view that will at some point read metadata. You can do metadata-only reproject or resample on them and then trade it for LayoutTileSource if you give tell it how you want the tiles layed out (LayoutDefinition) -- the LayoutTileSource will both give you a set of keys you can read and allow you to actually read them lazilly.
@kervel There is more than normal ammount of scaladocs on those interfaces but you'll still need to read a few tea-leaves as these things are new and are not described in the documntation yet.
RasterFrames will give you a DataFrame interface, which is quite nice to work against and these kinds of workflows are built into the TileUDT. So it depends on how much flexibility and which direction you need.
Jason T Brown
@vpipkt
Hi! Long time user, first time caller. I am using (an older version of) GDALDataset in RasterFrames. The evaluation of various dataset's metadata is happening in parallel and I am un-scientifically seeing a lot of calls here to get the band min and max. I think this is forcing a lot of data reads that are ultimately unnecessary. Happy to elaborate. Would you be open to a PR trying to avoid this call if possible, as in most cases it is
Grigory
@pomadchin
hey @vpipkt yea; feel free to create a PR; I think you’re asbolutely correct about it and we would happy to assist you wth it :100:
Jason T Brown
@vpipkt
@pomadchin thanks so much, I'll request your review on it.
Grigory
@pomadchin
perfect
Frank Dekervel
@kervel
@echeipesh thx! Did not know about existence of Rastersource
Eugene Cheipesh
@echeipesh
Fresh off the mint with GT 3.0 :)