[OpenLayers-Dev] [Dev] Re: Vectors in OpenLayers?

Bart van den Eijnden (OSGIS) bartvde at osgis.nl
Thu Oct 19 03:44:12 EDT 2006


Will there also be an option to serialize the objects as GML? 

Since interaction will mostly be against OGC Web Services.

Best regards,
Bart

--
Bart van den Eijnden
OSGIS, Open Source GIS
http://www.osgis.nl


--------- Oorspronkelijk bericht --------
Van: Paul Spencer <pspencer at dmsolutions.ca>
Naar: Pierre GIRAUD <bluecarto at gmail.com>
Cc: dev at openlayers.org
Onderwerp: Re: [OpenLayers-Dev] [Dev]  Re: Vectors in OpenLayers?
Datum: 19/10/06 00:09

> Hi Pierre,
> 
> I haven't looked at the code but I think that this will be needed in  
> some sort of factory object that can create Geometry (and associated  
> Shape) objects from WKT.  We are a bit early for implementation  
> details right now (despite the fact that I've already done a bunch of  
> implementation), but when the design is finalized, we'll need this  
> piece.
> 
> This reminds me that Geometry objects need to be able to serialize  
> themselves as WKT.
> 
> Cheers
> 
> Paul
> 
> On 13-Oct-06, at 12:46 PM, Pierre GIRAUD wrote:
> 
> &gt; I wanna propose you some peace of code for this.
> &gt; Hope you'll be able to have a quick look and check if I'm the good  
> &gt; way.
> &gt;
> &gt; I tried to follow the &quot;factory&quot; pattern, but I'm not sure I
> &gt; implemented it right considering the rest of the architecture.
> &gt;
> &gt; Regards and nice week-end
> &gt;
> &gt; Pierre
> &gt;
> &gt; ps : this code might be useable in the current vector sandbox
> &gt;
> &gt; On 10/13/06, Pierre GIRAUD &lt;bluecarto at gmail.com&gt; wrote:
> &gt;&gt; I don't know if this is a needed functionnality, but it can
probably
> &gt;&gt; help. I was trying to think about and implement a way to add a  
> &gt;&gt; feature
> &gt;&gt; by its WKT string writing.
> &gt;&gt;
> &gt;&gt; Something like :
> &gt;&gt;
> &gt;&gt; OpenLayers.Vector.WKT
> &gt;&gt;
> &gt;&gt; p4 = new OpenLayers.Vector.WKT('POINT(-40 30)');
> &gt;&gt;
> &gt;&gt; Regards
> &gt;&gt;
> &gt;&gt; Pierre
> &gt;&gt;
> &gt;&gt; On 10/13/06, Paul Spencer &lt;pspencer at dmsolutions.ca&gt; wrote:
> &gt;&gt; &gt; Thanks Chris :)
> &gt;&gt; &gt;
> &gt;&gt; &gt; Performance really sucks if you add a lot of features.  I
wrote a
> &gt;&gt; &gt; quick loop to add a 1 degree box every 10 degrees and
brought my
> &gt;&gt; &gt; firefox to a halt.  Profiling reveals a number of
problematic  
> &gt;&gt; areas,
> &gt;&gt; &gt; the biggest of which is getPx (of course).
> &gt;&gt; &gt;
> &gt;&gt; &gt; I've done some optimization that improves performance in
this case:
> &gt;&gt; &gt;
> &gt;&gt; &gt; * remove the call to Pixel.add(x,y) and directly modify the
pixel
> &gt;&gt; &gt; position - this was a big savings ...
> &gt;&gt; &gt;
> &gt;&gt; &gt; * cached px location in the Point object based on the bounds
of the
> &gt;&gt; &gt; containing vectorLayer so getPx is only called when the
bounds have
> &gt;&gt; &gt; actually changed.
> &gt;&gt; &gt;
> &gt;&gt; &gt; attached is a patch against the sandbox to incorporate these
 
> &gt;&gt; changes.
> &gt;&gt; &gt;
> &gt;&gt; &gt; Next steps for me are:
> &gt;&gt; &gt;
> &gt;&gt; &gt; * fix rendering in IE and Safari (that was the whole point
of using
> &gt;&gt; &gt; excanvas)
> &gt;&gt; &gt;
> &gt;&gt; &gt; * further optimizations, including:
> &gt;&gt; &gt;
> &gt;&gt; &gt;    o try caching the bounds of each vector and test for  
> &gt;&gt; intersection
> &gt;&gt; &gt; with layer bounds before rendering
> &gt;&gt; &gt;
> &gt;&gt; &gt;    o tighten inner loops and remove deep call chains
(possibly
> &gt;&gt; &gt; putting some of the pixel conversion stuff right into
convertToPx)
> &gt;&gt; &gt;
> &gt;&gt; &gt;   o anything else you can think of
> &gt;&gt; &gt;
> &gt;&gt; &gt; * convenience functions for constructing polygons and lines
from
> &gt;&gt; &gt; points without having to construct intermediate objects
> &gt;&gt; &gt;
> &gt;&gt; &gt; Other things that need to be done at some point, but not  
> &gt;&gt; necessarily
> &gt;&gt; &gt; for 2.3:
> &gt;&gt; &gt;
> &gt;&gt; &gt; * refactor the code (what, already?) so that the Vector  
> &gt;&gt; architecture
> &gt;&gt; &gt; can support multiple rendering types (Canvas, SVG, VML,
possibly
> &gt;&gt; &gt; others in the future) by introducing Layer.Vector subclasses
and a
> &gt;&gt; &gt; new Rendering class that knows how to render into the
sub-classed
> &gt;&gt; &gt; layer types
> &gt;&gt; &gt;
> &gt;&gt; &gt; * refactor styling support to make it less specific to
Canvas
> &gt;&gt; &gt; rendering stuff
> &gt;&gt; &gt;
> &gt;&gt; &gt; * add some Controls for digitizing and possibly editing
> &gt;&gt; &gt;
> &gt;&gt; &gt; Cheers
> &gt;&gt; &gt;
> &gt;&gt; &gt; Paul
> &gt;&gt; &gt;
> &gt;&gt; &gt; On 12-Oct-06, at 7:55 PM, Christopher Schmidt wrote:
> &gt;&gt; &gt;
> &gt;&gt; &gt; &gt; On Thu, Oct 12, 2006 at 05:02:00PM -0400, Paul Spencer
wrote:
> &gt;&gt; &gt; &gt;&gt; Schuyler, et al
> &gt;&gt; &gt; &gt;&gt;
> &gt;&gt; &gt; &gt;&gt; attached is a first cut at the vector stuff.  It
extracts  
> &gt;&gt; over an
> &gt;&gt; &gt; &gt;&gt; existing openlayers folder and contains only the
new files  
> &gt;&gt; I've added
> &gt;&gt; &gt; &gt;&gt; plus a change to OpenLayers.js to load the extra
files by  
> &gt;&gt; default
> &gt;&gt; &gt; &gt;&gt; (except for excanvas for some reason ;)).
> &gt;&gt; &gt; &gt;&gt;
> &gt;&gt; &gt; &gt;&gt; There is a vector.html in the examples folder.
> &gt;&gt; &gt; &gt;
> &gt;&gt; &gt; &gt; This code, with some improvements from Schuyler and I,
is now  
> &gt;&gt; in place
> &gt;&gt; &gt; &gt; in a sandbox in the OpenLayers SVN. You can check out
with:
> &gt;&gt; &gt; &gt;
> &gt;&gt; &gt; &gt; svn co http://svn.openlayers.org/sandbox/sderle/vector/
> &gt;&gt; &gt; &gt;
> &gt;&gt; &gt; &gt; You can try it out at:
> &gt;&gt; &gt; &gt;
> &gt;&gt; &gt; &gt;
http://openlayers.org/~crschmidt/vector/examples/vector.html
> &gt;&gt; &gt; &gt;
> &gt;&gt; &gt; &gt; Click once to start drawing a line -- click again to
end it.
> &gt;&gt; &gt; &gt;
> &gt;&gt; &gt; &gt; FF only at the moment.
> &gt;&gt; &gt; &gt;
> &gt;&gt; &gt; &gt; Cool stuff, Paul, thanks for getting the ball rolling
on this.
> &gt;&gt; &gt; &gt; --
> &gt;&gt; &gt; &gt; Christopher Schmidt
> &gt;&gt; &gt; &gt; Web Developer
> &gt;&gt; &gt;
> &gt;&gt; &gt;
+-----------------------------------------------------------------+
> &gt;&gt; &gt; |Paul Spencer                         
pspencer at dmsolutions.ca    |
> &gt;&gt; &gt;
+-----------------------------------------------------------------+
> &gt;&gt; &gt; |Chief Technology Officer                                   
     |
> &gt;&gt; &gt; |DM Solutions Group Inc               
http://www.dmsolutions.ca/ |
> &gt;&gt; &gt;
+-----------------------------------------------------------------+
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt; &gt; _______________________________________________
> &gt;&gt; &gt; Dev mailing list
> &gt;&gt; &gt; Dev at openlayers.org
> &gt;&gt; &gt; http://openlayers.org/mailman/listinfo/dev
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt; &gt;
> &gt;&gt;
> &gt;&gt; &lt;wkt.html&gt;
> &gt;&gt; &lt;WKT.js&gt;
> &gt; _______________________________________________
> &gt; Dev mailing list
> &gt; Dev at openlayers.org
> &gt; http://openlayers.org/mailman/listinfo/dev
> 
> +-----------------------------------------------------------------+
> |Paul Spencer                          pspencer at dmsolutions.ca    |
> +-----------------------------------------------------------------+
> |Chief Technology Officer                                         |
> |DM Solutions Group Inc                http://www.dmsolutions.ca/ |
> +-----------------------------------------------------------------+
> 
> 
> 
> 
> _______________________________________________
> Dev mailing list
> Dev at openlayers.org
> http://openlayers.org/mailman/listinfo/dev
> 
> 






More information about the Dev mailing list