Giter VIP home page Giter VIP logo

geofeatures's People

Contributors

tonystone avatar tonystone-j2 avatar vfn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

geofeatures's Issues

Create an example/demo app

The current example app in the Example directory is just a shell built from the cocoapod template. This application needs to be finished to help show the use of GeoFeatures.

The demo app could store various shapes in WKT txt files, parse them and possibly show them on a map or other view. Adding functionality that demonstrates the algorithms such as within (could be tap on the image on the screen) and union_ would be nice also but could wait until after a basic app is in place.

GeoFeatures2: Polygon does not resolve properly on OSX using Swift Package Manager (Swift PM)

The following code is required on in this scenario. This needs to be resolved.

#if (os(OSX) || os(iOS) || os(tvOS) || os(watchOS)) && SWIFT_PACKAGE
    /// TODO: Remove this after figuring out why there seems to be a symbol conflict (error: cannot specialize a non-generic definition) with another Polygon on Swift PM on Apple platforms only.
    import struct GeoFeatures.Polygon
#endif

Add versioning for doxygen docs on gh-pages

Create a directory structure in the gh-pages branch with an index.html landing page that has a link to the current docs and an index of previous versions.

   /index.html
   /doxy/1.0.0
   /doxy/1.0.1
   /doxy/1.1.0

Implement "Indexed Subscripting" in multi types

Clang 3.1 introduced "Indexed Subscriptiong" to the Objective-C language. This feature allows changes the Objective-C syntax for dictionary and array sub scripting from this:

    NSDictionary *dictionary = [NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:128] forKey:@"foo"];

    NSArray * array = [NSArray arrayWithObjects: @"10", @"20", @"30"];

...to this:

   NSDictionary * dictionary = @{@"foo": @128};

   NSArray * array = @[@"10", @"20", @"30"];

Classes that require adding this feature are:

GFMultiPoint
GFMultiLineString
GFMultiPolygon
GFGeometryCollection

Documentation #import statements incorrect.

Doxygen is generating incorrect import statements for the public headers. The import statements are must be fully qualified and are not.

The current documentation set reads:

#import <GFGeometry.h>

The correct import is:

#import <GeoFeatures/GFGeometry.h>

Fix private vs public headers

Some private methods are currently visible in the CocoaPod, this should be corrected. For example, protected methods are currently visible.

Implement "fast enumeration" for multi types.

Fast enumeration is used often in Objective-c and since the multi types are simple collection classes they should implement this feature. Classes that should get this are:

GFMultiPoint
GFMultiLineString
GFMultiPolygon
GFGeometryCollection

CocoaPods.org does not show the Expand tab for GeoFeatures

After investigation this way be caused by CocoaDocs failing on the following error pulled from this link

http://api.cocoadocs.org:4567/error/GeoFeatures/1.2.0

report_error({"message":"Argument list too long - du -skc /Users/maddern/dev/cocoadocs.org/activity/download/GeoFeatures/1.2.0/GeoFeatures/LICENSE /Users/maddern/dev/cocoadocs.org/activity/download/GeoFeatures/1.2.0/GeoFeatures/GeoFeatures/boost/algorithm/minmax_element.hpp ...
/Users/maddern/dev/cocoadocs.org/activity/download/GeoFeatures/1.2.0/GeoFeatures/LICENSE_BOOST_1_0 /Users/maddern/dev/cocoadocs.org/activity/download/GeoFeatures/1.2.0/GeoFeatures/README.md","trace":["/Users/maddern/dev/cocoadocs.org/classes/stats_generator.rb:95:in ``'","/Users/maddern/dev/cocoadocs.org/classes/stats_generator.rb:95:in `generated_install_size'","/Users/maddern/dev/cocoadocs.org/classes/stats_generator.rb:26:in `upload'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:484:in `document_spec'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:532:in `document_spec_at_path'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:165:in `block in doc'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:160:in `each'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:160:in `doc'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:232:in `block in cocoadocs_url'","/Users/maddern/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/open-uri.rb:153:in `open_uri'","/Users/maddern/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/open-uri.rb:704:in `open'","/Users/maddern/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/open-uri.rb:34:in `open'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:229:in `cocoadocs_url'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:180:in `cocoadocs'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:115:in `initialize'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:551:in `new'","/Users/maddern/dev/cocoadocs.org/./cocoadocs.rb:551:in `<main>'"]}

This is due to CocoaDocs trying to document all the internal code and boost which it should not.

Please see the following link for trouble shooting http://orta.io/rebase/why-cant-i-expand/.

Need a function to return a collection of inner rings of MultiPolygon

Need a function to return a collection of inner rings of a MultiPolygon. This would likely be very similar to returning the collection of inner rings on a single Polygon, which returns an array of RingType objects. In this case, the result would be an array of an array of RingType objects. There would not need to be any particular ordering of the arrays.

boost include files can't be found via Cocoapods 1.0

While building GeoFeatures via Cocoapods 1.0.X, I'm seeing errors that look like this:

In file included from /Users/me/Source/climate-iphone/Pods/GeoFeatures/GeoFeatures/GFBox.mm:27:
In file included from /Users/meSource/climate-iphone/Pods/GeoFeatures/GeoFeatures/internal/geofeatures/Box.hpp:30:
/Users/me/Source/climate-iphone/Pods/GeoFeatures/GeoFeatures/internal/geofeatures/Point.hpp:31:10: fatal error: 'boost/mpl/int.hpp' file not found
#include <boost/mpl/int.hpp>
         ^
1 error generated.

To get around this, I need to go into the Pods -> GeoFeatures target settings and make two changes: 1) set "Always Search User Paths" to true and 2) add in a path to the Pod/GeoFeatures folder and set it to "recursive". This probably isn't the correct long term solution.

Is there a better solution that can be done?

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.