<br><font size=2 face="sans-serif">IMO:</font>
<br>
<br>
<br><font size=2 face="sans-serif">Hi Randy,</font>
<br>
<br><font size=2 face="sans-serif">Thank you for your informative post.
It has given me a lot to follow up on and think about.</font>
<br>
<br><font size=2 face="sans-serif">I can see an immediate need that this
type of solution could well be used for. I like it.</font>
<br>
<br><font size=2 face="sans-serif">I suspect that in many larger corporate
types of environments, it could well be used effectively for 'pilot' and
'pre-production' type tasks. </font>
<br>
<br><font size=2 face="sans-serif">For 'production' type environments,
there would be issues of integrating an external service hosting spatial
data with internal services hosting corporate aspatial data sources and
applications.</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">with regards to storing imagery in a
database:</font>
<br>
<br><font size=2 face="sans-serif">&lt;rant&gt; &nbsp; &nbsp; &nbsp; (and
not directed at you)</font>
<br>
<br><font size=2 face="sans-serif">I've also seen a lot of reports suggesting
that image management should be file based.</font>
<br>
<br><font size=2 face="sans-serif">My personal preference is to use a database
if possible, so that I can take advantage of corporate data management
facilities, backups, point in time restores etc.</font>
<br>
<br><font size=2 face="sans-serif">I've managed 70 GB orthophoto mosaics
in ArcSDE / Oracle before with minimal problems. I found performance and
response times to be comparable with other image web server options on
the market that use file based solutions for storing data.</font>
<br>
<br><font size=2 face="sans-serif">Ideally, I'm looking to manage state
wide mosaics with a consistant look and feel that can be treated as a single
'layer' by client GIS / Remote Sensing applications (data integrity issues
allowing). </font>
<br>
<br><font size=2 face="sans-serif">One potential use is 'best available'
data mosaics could undergo regular updates as more imagery is flown or
captured. A database makes it easier to manage and deliver such data.</font>
<br>
<br><font size=2 face="sans-serif">My definition of 'imagery' goes beyond
aerial photographs and includes multi or hyper-spectral imagery; various
geophysics data sources such as aeromagnetics, gravity, radiometrics; radar
data etc.</font>
<br>
<br><font size=2 face="sans-serif">Typically this data is required for
digital image analysis purposes using a remote sensing application, so
the integrity of 'the numbers' that make up the image is very important.</font>
<br>
<br><font size=2 face="sans-serif">Many of today's image based solutions
use a (lossy) wavelet compression that can corrupt the integrity of 'the
numbers' describing the radiometric data in the image.</font>
<br>
<br><font size=2 face="sans-serif">When we consider the big picture issues
facing us today, such as Climate Change, I think that it is important to
protect our definitive image libraries from such corruption as they will
be invaluable sources of data for future multi-temporal analysis.</font>
<br>
<br><font size=2 face="sans-serif">That said, if the end use is just for
a picture, then a wavelet compression is a good option. Just protect the
source data for future use.</font>
<br>
<br><font size=2 face="sans-serif">&lt;/rant&gt; &nbsp; &nbsp; &nbsp;</font>
<br>
<br>
<br><font size=2 face="sans-serif">So, does anyone know of a good open
source spatial solution for storing and accessing (multi and hyperspectral)
imagery in a database? &nbsp; &nbsp;;-)</font>
<br>
<br><font size=2 face="sans-serif">WMS 1.3 and WCS are showing promise
for serving imagery, including multi and hyperspectral data.</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">Bruce Bannerman</font>
<br>
<br>
<br>
<br>
<br>
<br><font size=2><tt>discuss-bounces@lists.osgeo.org wrote on 20/02/2008
10:09:28 AM:<br>
<br>
&gt; Hi Ivan,<br>
&gt; <br>
&gt; &nbsp; &nbsp;The most common advice I've seen says to leave raster
out of the DB.<br>
&gt; Of course footprints and meta data could be there, but you would want
to<br>
&gt; point Geoserver coverage to the image/image pyramid url somewhere
in the<br>
&gt; directory hierarchy.<br>
&gt; <br>
&gt; Brent has a nice writeup here:<br>
&gt; http://docs.codehaus.org/display/GEOSDOC/Load+NASA+Blue+Marble+Data<br>
&gt; <br>
&gt; In an AWS sense my idea is to Java proxy the Geoserver Coverage Data
URL to<br>
&gt; S3 buckets and park the imagery over on the S3 side to take advantage
of<br>
&gt; stability and replication. Performance, though, might not be as good
as a<br>
&gt; local directory. Maybe a one time cache to a local directory would
work<br>
&gt; better.<br>
&gt; <br>
&gt; Note: Amazon doesn't charge for inside AWS data transfers.<br>
&gt; <br>
&gt; So in theory:<br>
&gt; &nbsp; PostGIS holds the footprint geometry + metadata<br>
&gt; &nbsp; EC2 Geoserver WFS handles footprint queries into an Svg/Xaml
client, just<br>
&gt; stick it on top of something like JPL BMNG. Once a user picks a coverage<br>
&gt; switch to the Geoserver WMS/WCS service for zooming around in the
selected<br>
&gt; image pyramid<br>
&gt; &nbsp; S3 buckets contain the tiffs, pyramids ...<br>
&gt; &nbsp; EC2 Geoserver handles WMS/WCS service<br>
&gt; &nbsp; EC2 proxy pulls the imagery from the S3 side as needed<br>
&gt; <br>
&gt; Sorry I haven't had time to try this so it is just theoretical. Of
course<br>
&gt; you can go traditional and just keep the coverage imagery files on
the local<br>
&gt; instance avoiding the S3 proxy idea. The reason I don't like that
idea is<br>
&gt; the imagery has to be loaded with every instance creation while an
S3<br>
&gt; approach would need only one copy.<br>
&gt; <br>
&gt; <br>
&gt; randy<br>
&gt; <br>
&gt; -----Original Message-----<br>
&gt; From: Lucena, Ivan [mailto:ivan.lucena@pmldnet.com] <br>
&gt; Sent: Tuesday, February 19, 2008 2:59 PM<br>
&gt; To: rkgeorge@cadmaps.com; OSGeo Discussions<br>
&gt; Subject: Re: [OSGeo-Discuss] OS Spatial environment 'sizing'<br>
&gt; <br>
&gt; Hi Randy, Bruce,<br>
&gt; <br>
&gt; That is a nice piece of advise Randy. I am sorry to intrude the <br>
&gt; conversation but I would like to ask how that &quot;heavy raster&quot;
<br>
&gt; manipulation would be treated by PostgreSQL/PostGIS, managed or unmanaged?<br>
&gt; <br>
&gt; Best regards,<br>
&gt; <br>
&gt; Ivan<br>
&gt; <br>
&gt; Randy George wrote:<br>
&gt; &gt; Hi Bruce,<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; On the
&quot;scale relatively quickly&quot; front, you should look <br>
&gt; &gt; at Amazon's EC2/S3 services. I've recently worked with it and
find it an <br>
&gt; &gt; attractive platform for scaling http://www.cadmaps.com/gisblog<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; The stack I like is Ubuntu+Java+ Postgresql/PostGIS + Apache2
mod_jk <br>
&gt; &gt; Tomcat + Geoserver + custom SVG or XAML clients run out of Tomcat<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If you
use the larger instances the cost is higher but <br>
&gt; &gt; it sounds like you plan on some heavy raster services (WMS,WCS)
and lots <br>
&gt; &gt; of memory will help.<br>
&gt; &gt; <br>
&gt; &gt; Small EC2 instance provides $0.10/hr:<br>
&gt; &gt; <br>
&gt; &gt; 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2
Compute <br>
&gt; &gt; Unit), 160 GB of instance storage, 32-bit platform<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; Large EC2 instances provide $0.40/hr:<br>
&gt; &gt; <br>
&gt; &gt; 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2
EC2 <br>
&gt; &gt; Compute Units each), 850 GB of instance storage, 64-bit platform<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; Extra large EC2 instances $0.80/hr:<br>
&gt; &gt; <br>
&gt; &gt; 15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2
EC2 Compute <br>
&gt; &gt; Units each), 1690 GB of instance storage, 64-bit platform<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; Note: that the instances do not need to be permanent. Some people
<br>
&gt; &gt; (WeoGeo) have been using a couple of failover small instances
and then <br>
&gt; &gt; starting new large instances for specific requirements. The idea
is to <br>
&gt; &gt; start and stop instances as required rather than having ongoing
<br>
&gt; &gt; infrastructure costs. It only takes a minute or so to start an
ec2 <br>
&gt; &gt; instance. If you are running a corporate service there may be
parts of <br>
&gt; &gt; the day with very little use so you just schedule your heavy
duty <br>
&gt; &gt; instances for peak times. If you can connect your raster to S3
buckets <br>
&gt; &gt; rather than instance storage you have built in replicated backup.<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; I know that Java JAI can easily eat up memory and is core to
Geoserver <br>
&gt; &gt; WMS/WCS so you probably want to look at large memory footprint
for any <br>
&gt; &gt; platform with lots of raster service. I'm partial to Geoserver
because <br>
&gt; &gt; of its Java foundation. &nbsp;I think I would try to keep the
Apache2 mod_jk <br>
&gt; &gt; Tomcat Geoserver on a separate server instance from PostGIS.
This might <br>
&gt; &gt; avoid problems for instance startup since your database would
need to be <br>
&gt; &gt; loaded separately. The instance ami resides in a 10G partition
the <br>
&gt; &gt; balance of data will probably reside on a /mnt partition separate
from <br>
&gt; &gt; ec2-run-instances. You may be able to avoid datadir problems
by adding <br>
&gt; &gt; something like Elastra to the mix. Elastra beta is a wrapper
for <br>
&gt; &gt; PostgreSql that puts the datadir on S3 rather than local to an
instance. <br>
&gt; &gt; I suppose they still keep indices(GIST et al) on the local instance.<br>
&gt; &gt; <br>
&gt; &gt; (I still think it an interesting exercise to see what could be
done <br>
&gt; &gt; connecting PostGIS to AWS SimpleDB services.)<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; So thinking out loud here is a possible architecture-<br>
&gt; &gt; <br>
&gt; &gt; &nbsp; &nbsp; Basic permanent setup<br>
&gt; &gt; <br>
&gt; &gt; put raster in S3 - this may require some customization of Geoserver,<br>
&gt; &gt; <br>
&gt; &gt; build a datadir in a PostGIS and backup to S3<br>
&gt; &gt; <br>
&gt; &gt; create a private ami for Postgresql/PostGIS<br>
&gt; &gt; <br>
&gt; &gt; create a private ami for the load balancer instance<br>
&gt; &gt; <br>
&gt; &gt; create a private ami with your service stack for both a small
and large <br>
&gt; &gt; instance for flexibility,<br>
&gt; &gt; <br>
&gt; &gt; &nbsp; &nbsp;Startup services<br>
&gt; &gt; <br>
&gt; &gt; start a balancer instance<br>
&gt; &gt; <br>
&gt; &gt; point your DNS CNAME to this balancer instance<br>
&gt; &gt; <br>
&gt; &gt; start a PostGis instance (you could have more than one if necessary
but <br>
&gt; &gt; it would be easier to just scale to a larger instance type if
the load <br>
&gt; &gt; demands it)<br>
&gt; &gt; <br>
&gt; &gt; have a scripted download from an S3 BU to your PostGIS datadir
(I'm <br>
&gt; &gt; assuming a relatively static data resource)<br>
&gt; &gt; <br>
&gt; &gt; &nbsp; &nbsp;Variable services<br>
&gt; &gt; <br>
&gt; &gt; start service stack instance and connect to PostGIS<br>
&gt; &gt; <br>
&gt; &gt; update balancer to see new instance - this could be tricky<br>
&gt; &gt; <br>
&gt; &gt; repeat previous &nbsp;two steps as needed<br>
&gt; &gt; <br>
&gt; &gt; at night scale back - cron scaling for a known cycle or use a
controller <br>
&gt; &gt; like weoceo to detect and respond to load fluctuation<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; By the way the public AWS ami with the best resources that I
have found <br>
&gt; &gt; is Ubuntu 7.10 Gutsy. The debian dependency tools are much easier
to use <br>
&gt; &gt; and the resources are plentiful.<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; I've been toying with using an AWS stack adapted for serving
some larger <br>
&gt; &gt; Postgis vector sets such as fully connected census demographic
data and <br>
&gt; &gt; block polygons here in US. The idea would be to populate the
data <br>
&gt; &gt; directly from the census SF* and TIGER with a background Java
bot. There <br>
&gt; &gt; are some potentially novel 3D viewing approaches possible with
xaml. <br>
&gt; &gt; Anyway lots of fun to have access to virtual systems like this.<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; As you can see I'm excited anyway.<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; randy<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; *From:* discuss-bounces@lists.osgeo.org <br>
&gt; &gt; [mailto:discuss-bounces@lists.osgeo.org] *On Behalf Of <br>
&gt; &gt; *Bruce.Bannerman@dpi.vic.gov.au<br>
&gt; &gt; *Sent:* Monday, February 18, 2008 6:35 PM<br>
&gt; &gt; *To:* OSGeo Discussions<br>
&gt; &gt; *Subject:* [OSGeo-Discuss] OS Spatial environment 'sizing'<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; IMO:<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; Hello everyone,<br>
&gt; &gt; <br>
&gt; &gt; I'm trying to get a feel for server 'sizing' for a **hypothetical**
<br>
&gt; &gt; Corporate environment to support OS Spatial apps.<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; Assume that:<br>
&gt; &gt; <br>
&gt; &gt; - this is a dedicated environment to allow the use of OS Spatial
<br>
&gt; &gt; applications to serve Corporate OGC Services.<br>
&gt; &gt; <br>
&gt; &gt; - the applications of interest are GeoServer, Deegree, GeoNetwork,
<br>
&gt; &gt; MapServer, MapGuide and Postgres/PostGIS.<br>
&gt; &gt; <br>
&gt; &gt; - the environment may need to scale relatively quickly.<br>
&gt; &gt; <br>
&gt; &gt; - it will be required to serve in the vicinty of 5 to 10 TB of
data <br>
&gt; &gt; initially (WMS, WFS, WCS).<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; Can anyone shed some light on the following questions please?<br>
&gt; &gt; <br>
&gt; &gt; - I'm assuming a Linux installation (SLES, Redhat or Debian)
or possibly <br>
&gt; &gt; Intel Solaris. Has anyone experienced any issues in these (or
other) <br>
&gt; &gt; environments that they'd like to share?<br>
&gt; &gt; <br>
&gt; &gt; - Are there any recommendations as to dedicated network bandwidth
that <br>
&gt; &gt; should be allocated?<br>
&gt; &gt; <br>
&gt; &gt; - Has anyone done any work with load balancing and would like
to share <br>
&gt; &gt; their experiences?<br>
&gt; &gt; <br>
&gt; &gt; - Of the above OS Spatial products, which ones could co-exist
on the <br>
&gt; &gt; same server (excluding Postgres/PostGIS)?<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; Any thoughts are appreciated.<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; Bruce Bannerman<br>
&gt; &gt; Australia<br>
&gt; &gt; <br>
&gt; &gt; Notice:<br>
&gt; &gt; This email and any attachments may contain information that is
personal, <br>
&gt; &gt; confidential,<br>
&gt; &gt; legally privileged and/or copyright. No part of it should be
reproduced, <br>
&gt; &gt; adapted or communicated without the prior written consent of
the <br>
&gt; &gt; copyright owner.<br>
&gt; &gt; <br>
&gt; &gt; It is the responsibility of the recipient to check for and remove
viruses.<br>
&gt; &gt; <br>
&gt; &gt; If you have received this email in error, please notify the sender
by <br>
&gt; &gt; return email, delete it from your system and destroy any copies.
You are <br>
&gt; &gt; not authorised to use, communicate or rely on the information
contained <br>
&gt; &gt; in this email.<br>
&gt; &gt; <br>
&gt; &gt; Please consider the environment before printing this email.<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; ------------------------------------------------------------------------<br>
&gt; &gt; <br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Discuss mailing list<br>
&gt; &gt; Discuss@lists.osgeo.org<br>
&gt; &gt; http://lists.osgeo.org/mailman/listinfo/discuss<br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; Discuss mailing list<br>
&gt; Discuss@lists.osgeo.org<br>
&gt; http://lists.osgeo.org/mailman/listinfo/discuss<br>
</tt></font>