Git Product home page Git Product logo

library-spatial's Introduction

Library-Spatial

This library handles spatial interactions for LANDIS. It was designed to be independent of the LANDIS-II framework and therefore could readily be used for any model that requires spatial interactions.

library-spatial's People

Contributors

rmscheller avatar mshukuno avatar vschuster avatar aruzicka555 avatar

Watchers

James Cloos avatar  avatar Brian Miranda avatar  avatar Marc Ouellette avatar  avatar

library-spatial's Issues

Build project script is broken

Same issue that was a problem with core-model. https://github.com/LANDIS-II-Foundation/Core-Model/issues/4
There are at least a couple of fixes that need to be considered now that this issue persists in more than one location:

  1. Add the GDAL C# bindings into the external\gdal\libs\managed\ directly. This is the same change that was done to core-model without knowledge that GDAL was being used in other locations.

  2. Store the GDAL C# bindings to a google download and modify both scripts (and any other scripts that may have been affected by the code migration as they are found) to download the bindings into the appropriate location.

premake fails with premake5-alpha12

I'm trying to build Library-Spatial on OS X. I downloaded premake5-alpha12, but the build fails:

% ~/Downloads/premake5 vs2015

** Warning: the flags value Symbols has been deprecated and will be removed.
   Use `symbols "On"` instead
   @/Users/dvm105/landis/Library-Spatial/src/premake5.lua(14)



** Warning: the flags value OptimizeSize has been deprecated and will be removed.
   Use `optimize "Size"` instead.
   @/Users/dvm105/landis/Library-Spatial/src/premake5.lua(18)



Error: error loading module 'CSProjFile' from file './CSProjFile.lua':
	/Users/dvm105/landis/Library-Spatial/src/CSProjFile.lua:81: invalid escape sequence near '"\.'

If I manually retrieve premake5-alpha11, it works:

% ~/Downloads/premake5-alpha11 vs2015
** Warning: the flags value Symbols has been deprecated.
   Use `symbols "On"` instead
Building configurations...
Running action 'vs2015'...
Generated landis-spatial.sln...
Generated api/Landis_SpatialModeling.csproj...
Generated Landscapes/Landis_Landscapes.csproj...
Generated RasterIO/Landis_RasterIO.csproj...
Generated RasterIO.Gdal/Landis_RasterIO_Gdal.csproj...
Modifying api/Landis_SpatialModeling.csproj ...
  <HintPath> elements added to the project's references
  Enabled the generation of XML documentation file
Modifying Landscapes/Landis_Landscapes.csproj ...
  <HintPath> elements added to the project's references
Modifying RasterIO/Landis_RasterIO.csproj ...
  <HintPath> elements added to the project's references
Modifying RasterIO.Gdal/Landis_RasterIO_Gdal.csproj ...
  <HintPath> elements added to the project's references
Done (38ms).

I think I've also seen this issue with Landis Core.

We should either add a note to the README, or update premake5.lua to fix the issue.

As an aside, why does the project use premake? Is there a reason the .csproj files can't be checked directly into git? They could be build using mono's xbuild or .NET Core's build tools directly w/o needing premake.

Allow a pixel band of input raster to work with a raster band of larger type

The GDAL implementation uses a single data type for all the bands in an output 
raster.  Therefore, if an output raster's pixel class has different sized 
bands, then all the bands are written using the largest data type.  For 
example, if a pixel has two bands, one that is a short (signed 16-bit integer) 
and another that is a float (32-bit single precision), then data for both bands 
are written as float values.

For an input raster, each pixel band must have a data type that is equal to or 
larger than the type of its corresponding raster band.  For example, if the 
raster band is a float, then the corresponding pixel band must be either a 
float or a double (64-bit).  If the pixel band is smaller (e.g., a short), then 
an exception occurs.

Consequently, it is not currently possible to open certain rasters for reading 
with the same pixel class that was used to write them.  It would be much more 
useful for developers to be able to do so.

To support this, the restriction on input pixel bands based on their 
corresponding raster bands must be lifted.  One alternative is to have a type 
conversion delegate for each pixel band.  The delegate would convert the larger 
raster band data into the smaller data type used by the pixel band.  For 
convenience, the default converters would simply do range checking: if the 
raster band data value is within the [min,max] range of the pixel band's data 
type, then return the value (possibly rounded if converting a floating point 
type to an integer type); otherwise, throw some exception.

A developer could specify an explicit conversion method if she wants some other 
action (for example, clipping values outside the pixel band's data type to the 
range limits, so as to avoid any exceptions).

Original issue reported on code.google.com by [email protected] on 17 Oct 2010 at 8:51

Add pixel types to library

Example: ShortPixel, IntPixel, etc. These are currently found in individual extensions, where they are broadly duplicated.

Add raster's metadata to new library API

The current API uses the RasterIO.IMetadata interface to access a raster's 
metadata.  The new API needs a new way to provide a raster's metadata that's 
compatible with how GDAL handles metadata.

Original issue reported on code.google.com by [email protected] on 8 Sep 2010 at 4:15

Unnecessary download of WinPkgTools when LSML-admin "distclean" run twice in a row

What steps will reproduce the problem?
1. In the svn example, run "LSML-admin distclean" on a Windows system.
2. Then repeat the command again.


What is the expected output? What do you see instead?

Expect that nothing will happen; that the command will simply report that it's 
running, but it won't have any files or directories to delete.  Instead, the 
command downloads the WinPkgTools, and then immediately deletes them.  The 
result is still correct, but the download is unnecessary.

Original issue reported on code.google.com by [email protected] on 3 Sep 2012 at 12:56

Wrong type error given when wrong format input

For example, Zachary Robbins got an error when inputting an initial community file with a float format (integer is expected). The error said (paraphrasing):

"Float or double expected."

The correct error would be:

"Integer expected"

Ensure copyright notice and license info in each source file

Make sure that each source file has a copyright notice at the top.  Below
is the template for the copyright notice.  The information for the <YEAR>,
<ORIGINAL DEVELOPER>, and <ADDITIONAL CONTRIBUTORS> fields needs to be
extracted from the Subversion logs.

// Copyright <YEAR> University of Wisconsin
// All rights reserved.
//
// The copyright holder licenses this file under the New (3-clause) BSD
// License (the "License").  You may not use this file except in
// compliance with the License.  A copy of the License is available at
//
//   http://www.opensource.org/licenses/bsd-license.php
//
// and is included in the NOTICE.txt file distributed with this work.
//
// Contributors:
//   <ORIGINAL DEVELOPER>, Forest Landscape Ecology Lab, UW-Madison
//   <ADDITIONAL CONTRIBUTORS and their affiliations>

Original issue reported on code.google.com by [email protected] on 20 May 2010 at 7:05

Integrate landscapes module into gdal branch

Currently, the gdal branch has only the revised raster I/O module and some 
types from the grids module.  The rest of the grids module as well as the whole 
landscapes module needs to integrated from the trunk.

Original issue reported on code.google.com by [email protected] on 17 Oct 2010 at 8:57

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.