Hi,

I've been hacking on the OAM imagery index again. Here's what I've done
so far this morning:

API-side:

 1. Fixed the 'resolution' on images which broke the API (oops). Images
    now have a resolution based on their height/width and the geographic
    area they cover. (thx to schuyler, i think, for the implementation)
 2. Fixed /layer/59/ so it actually worked and returns just that layer
    object.
 3. Fixed the /image/ API to be an order of magnitude faster; fetching
    10000 images from the /image/ path is now under 3 seconds for
    time-to-first-byte for me. (Before it was more like 30.) Fetching
    1000 records is under 1 second.

      As a side effect, this API is now limited to a subset of the information
      that was previously available. (Specifically, license and mirror 
      information is no longer available by default.) Some of this can 
      probably be brought back given time; at the moment I was
      approaching a bare minimum of information. 

      The real performance hog here is, I believe, creating model instance
      objects to use for serializing; using .values() in django to select
      specific fields instead is where almost all of the speedup comes
      from. 
      
      If you want more information in this API -- rather than having
      to do subsequent fetches to get more information -- we should talk
      about it on this list to see what the information/time increase
      trade off is. 

 4. Modified the 'layer' API so you can post just a single piece of information
    -- like title, description, or images array -- rather than the entire
    JSON object, when performing updates.

UI-side:
 
 1. Added a layer browser: 
     http://oam.osgeo.org/layer/ -- this also has text search,
        http://oam.osgeo.org/layer/?q=landsat , though it doesn't
        search descriptions yet.
 2. Did the same speedup I did in the API for layer pages: 
      http://oam.osgeo.org/layer/59/onearth-landsat-7-321-pan/ now 
      loads in under 1 second locally.
 3. Added navigation between layers; 
     http://oam.osgeo.org/layer/56/blue-marble-ng-topo-bathy-apr-2004/ links to
     both http://oam.osgeo.org/layer/57/blue-marble-ng-topo-bathy-may-2004/ and
     http://oam.osgeo.org/layer/55/blue-marble-ng-topo-bathy-mar-2004/
 4. Added links from images back to the layers they're part of, so
     http://oam.osgeo.org/image/9878/ links to 
     http://oam.osgeo.org/layer/10/wisconsin-naip-2010/
 5. Added display of mirrors, so http://oam.osgeo.org/image/1921/   
    shows that there is one mirror of this content available. 
 6. Added login links in the upper right of every HTML page
 7. Added support for inline editing of Title/Description of 
    layers for logged in users: when a user is logged in, they
    can click on the title or description and it will allow them to
    edit it.

-- note that logins are based on OSGeo Userids; you can get an 
OSGeo Userid at 
  https://www2.osgeo.org/cgi-bin/ldap_create_user.py

Next steps for the UI:

 1. Visualizing images + layers in simple maps throughout the site
 2. Adding support for adding and removing layers from images
    in the web UI. (This is already possible through the API.)

Next steps for the API: 
 1. Add support for 'tags' (key/value pairs) on layers (and possibly
    images, though that feels less urgent, since images aren't really
    things that humans typically interact with individually).

-- Chris

_______________________________________________
talk mailing list
talk@openaerialmap.org
http://openaerialmap.org/mailman/listinfo/talk_openaerialmap.org

Reply via email to