Code Monkey home page Code Monkey logo

sharpmap.businessobjects's People

Contributors

fobermaier avatar terribletim avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

sharpmap.businessobjects's Issues

BusinessObjectFilterProvider

I have been trialing a BusinessObjectFilterProvider class following SharpMap FilterProvider:

namespace SharpMap.Data.Providers.Business
{
    public abstract class BusinessObjectFilterProvider
    {
        public delegate bool FilterMethod(object bo);
        public FilterMethod FilterDelegate { get; set; }
    }
}

Inherited by:
public class BusinessObjectProvider<TFeature> : BusinessObjectFilterProvider, IProvider

Requests based upon geometric selection are filtered similar to:

public Collection<IGeometry> GetGeometriesInView(Envelope bbox)
{
    var res = new Collection<IGeometry>();
    foreach (TFeature feature in _source.Select(bbox))
    {
        if (FilterDelegate == null || FilterDelegate(feature))
        {
            res.Add(_source.GetGeometry(feature));
        }
    }
    return res;
}

I have been using on InMemory objects.

Let me know if this would be useful to the project and I can issue pull request.

InMemoryBusinessObjectSource as primary collection of business objects

I'm wondering if it would be possible to use InMemoryBuisnessObjectSource as the primary collection of business objects, rather than managing a separate parallel collection as the primary source.

It would require several additional methods for efficient management of objects such as:

InsertFeature
Add a single business object to the collection, with CachedExtents expanding to include the feature

SelectFeatures
Select features based upon object attributes using lambda expression.

DeleteFeatures
Delete features based upon object attributes using lambda expression.

Would this be compatible with overall project? While I would like to contribute, I'm not sure how to achieve the last 2 in C#.

SQLite.Interop.dll

Hi and thanks for SharpMap.BusinessObjects - it's a great idea, much appreciated.

Small issue: SharpMap.BusinessObjects doesn't compile initially as SQLite.Interop.dll (x86 and x64) is not part of source code. I am currently working with InMemory so have excluded from the project in order to compile.

Locking on BusinessObjectProvider

Working with InMemory objects, I am occasionally getting error Collection was modified; enumeration operation may not execute. I will add locking on InMemoryBusinessObjectSource and submit pull request.

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.