RE: [flexcoders] stopping a sevice call mid request
Probably best to code this functionality on server side in your own proxy which will in turn make the call to the listing service. This proxy can check for multiple calls and handle that anyway you wish. -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Tracy Spratt Sent: Tuesday, 21 April 2009 4:28 p.m. To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] stopping a sevice call mid request I am not sure that you can. After all, the call is asynchronous, you have sent it off to some place for handling. What would such a “stop” do? Go the server processing the request and tell it to stop? I can imagine it would be possible to code such a behavior into the server process, but the long running server process would have to continually check for a stop order. Why are you wanting this behavior? Tracy Spratt, Lariat Services, development services available -- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of djepyon Sent: Tuesday, April 21, 2009 12:12 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] stopping a sevice call mid request I've tried combinations of stop() and disconnect() on HTTPService and nothing seems to do the trick. If a user a series of quick requests to a listing service I want to stop those that aren't the most recent. How can this be done? Thanks
RE: [flexcoders] How to disable a checkbox in a Datagrid Column
Well your itemrender can be coded as so: ?xml version=1.0 encoding=utf-8? mx:CheckBox xmlns:mx=http://www.adobe.com/2006/mxml; paddingLeft=10 mx:Script ![CDATA[ import mx.controls.DataGrid; import mx.events.DataGridEvent; import mx.utils.ObjectUtil; import mx.utils.UIDUtil; import mx.events.FlexEvent; import mx.collections.ICollectionView; import mx.controls.dataGridClasses.DataGridListData; private var _ownerData:Object; private var _text:String; override public function set data(value:Object):void { _ownerData = value; if(_ownerData) { var col:DataGridListData = DataGridListData(listData); selected = (_ownerData[col.dataField] == on) ? true : false; enabled = (_ownerData[request] == Yes) ? false : true; updateDummyText(); dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } } override public function get data():Object { return _ownerData; } public function set text(value:String):void { } public function get text():String { return _text; } override protected function clickHandler(event:MouseEvent):void { super.clickHandler(event); var col:DataGridListData = DataGridListData(listData); _ownerData[col.dataField] = selected ? on : off; _ownerData[request] = Yes; // If rendererIsEditor is true, // change event of collection doesn't happen by this event var toggleEvent:Event = new Event(stateChange); owner.dispatchEvent(toggleEvent); updateDummyText(); } private function updateDummyText():void { if(selected){ _text = on; }else{ _text = off; } } ]] /mx:Script and accessed in your datagrid column like so: mx:DataGridColumn headerText=State dataField=value width=50 editable=true resizable=false itemRenderer=StateEditor rendererIsEditor=true/ -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of b.kotireddy Sent: Wednesday, 11 February 2009 12:31 p.m. To: flexcoders@yahoogroups.com Subject: [flexcoders] How to disable a checkbox in a Datagrid Column Hi guys, I have a check box for each record in Datagrid Column. I used the itemRenderer to create checkbox. I want to disable that column or checkbox in that column when my user does not have permission to uncheck or check that checkbox. Please help me to do this. Thanks in advance koti
RE: [flexcoders] How to disable a checkbox in a Datagrid Column
You will need to code it as I have ... I could be wrong though. -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of koti reddy Sent: Wednesday, 11 February 2009 12:42 p.m. To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] How to disable a checkbox in a Datagrid Column I have implemented like below.The below lines of code is my one of the column in datagrid. mx:DataGridColumn headerText=Print dataField=displayPrintFlag rendererIsEditor=true textAlign=center mx:itemRenderer mx:Component mx:CheckBox click=data.displayPrintFlag= !data.displayPrintFlag selected={data.displayPrintFlag}/ /mx:Component /mx:itemRenderer /mx:DataGridColumn -- From: Mark Easton mar...@azurebell.co.nz To: flexcoders@yahoogroups.com Sent: Tuesday, February 10, 2009 4:37:06 PM Subject: RE: [flexcoders] How to disable a checkbox in a Datagrid Column Well your itemrender can be coded as so: ?xml version=1.0 encoding=utf- 8? mx:CheckBox xmlns:mx=http://www.adobe. com/2006/ mxml paddingLeft= 10 mx:Script ![CDATA[ import mx.controls. DataGrid; import mx.events.DataGridE vent; import mx.utils.ObjectUtil ; import mx.utils.UIDUtil; import mx.events.FlexEvent ; import mx.collections. ICollectionView; import mx.controls. dataGridClasses. DataGridListData ; private var _ownerData:Object; private var _text:String; override public function set data(value:Object) :void { _ownerData = value; if(_ownerData) { var col:DataGridListDat a = DataGridListData( listData) ; selected = (_ownerData[ col.dataField] == on) ? true : false; enabled = (_ownerData[ request ] == Yes) ? false : true; updateDummyText( ); dispatchEvent( new FlexEvent(FlexEvent .DATA_CHANGE) ); } } override public function get data():Object { return _ownerData; } public function set text(value:String) :void { } public function get text():String { return _text; } override protected function clickHandler( event:MouseEvent ):void { super.clickHandler( event); var col:DataGridListDat a = DataGridListData( listData) ; _ownerData[col. dataField] = selected ? on : off; _ownerData[ request] = Yes; // If rendererIsEditor is true, // change event of collection doesn't happen by this event var toggleEvent: Event = new Event(stateChange ); owner.dispatchEvent (toggleEvent) ; updateDummyText( ); } private function updateDummyText( ):void { if(selected) { _text = on; }else{ _text = off; } } ]] /mx:Script and accessed in your datagrid column like so: mx:DataGridColumn headerText= State dataField=value width=50 editable=true resizable=false itemRenderer= StateEditor rendererIsEditor= true/ -Original Message- From: flexcod...@yahoogro ups.com [mailto:flexcoders@ yahoogroups. com]On Behalf Of b.kotireddy Sent: Wednesday, 11 February 2009 12:31 p.m. To: flexcod...@yahoogro ups.com Subject: [flexcoders] How to disable a checkbox in a Datagrid Column Hi guys, I have a check box for each record in Datagrid Column. I used the itemRenderer to create checkbox. I want to disable that column or checkbox in that column when my user does not have permission to uncheck or check that checkbox. Please help me to do this. Thanks in advance koti
RE: [flexcoders] sms with flex and coldfusion
Many ways. For example just use an Email2SMS product or a product with and SMS API. e.g. http://www.bulletinonline.net/bw/index.jsp -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of stinasius Sent: Wednesday, 4 February 2009 8:54 p.m. To: flexcoders@yahoogroups.com Subject: [flexcoders] sms with flex and coldfusion how can i send an sms to a mobile phone without the need of a gateway through a flex form using a coldfusion backend?
RE: [flexcoders] Re: sms with flex and coldfusion
No there is nothing in Flex for sms. I cant say for Cold Fusion. But, sending and receiving SMS is no big deal if you arre using Email2SMS or some API. The other way is to use your own modem and send SMS messages with that - but you did not want to use a gateway. I was actually the Development Manager at www.bulletinwireless.co.nz for a few years, so I know a bit about it. -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of stinasius Sent: Wednesday, 4 February 2009 9:07 p.m. To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: sms with flex and coldfusion isn't there a custom component or can i just write my own code for it? thats what i meant
RE: [flexcoders] Re: sms with flex and coldfusion
Off topic a little, but One of the unique features that bulletinwireless has is two-way sms for which they possess a long standing patent. Essentially, through their associations with the telcos and gateway providers, then can control part of the source msisdn and thus use that part to thread messages. So when a reply comes back, you know which sms it is a reply to. -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Gregor Kiddie Sent: Wednesday, 4 February 2009 10:22 p.m. To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: sms with flex and coldfusion You might want to take a look at Ribbit as well, they offer text messages. http://developer.ribbit.com/platform/features Gk. Gregor Kiddie Senior Developer INPS Tel: 01382 564343 Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ Registered Number: 1788577 Registered in the UK Visit our Internet Web site at www.inps.co.uk The information in this internet email is confidential and is intended solely for the addressee. Access, copying or re-use of information in it by anyone else is not authorised. Any views or opinions presented are solely those of the author and do not necessarily represent those of INPS or any of its affiliates. If you are not the intended recipient please contact is.helpd...@inps.co.uk --
[flexcoders] Charting 1 minute data over 1 year
Hi, I am trying to work out how best to produce a chart which allows a user to make sense of data logged every minute for up to 12 months (ie 524160 values). To complicate matters the graphs are are presented on a dashboard where the user can display many graphs at once - so we are not just displaying the one graph and the size of the graph will change depending on how many graphs are being displayed in the dashboard window. We are logging sensor data (temperature, current, vibration, humidity, wind speed etc). Client does not like a month, week, day, hour, minute drill down scenario - I tried that and it was rejected. He wants a line graph, but where we do have to average data would like to some idea of max and mins - maybe that can be done in point comment. Trouble is if we chart so many points then there are too many points for the mouse click to discern. Essentially the client would like to see the data always at maximum detail no matter what period is being looked at. I have read this http://www.cynergysystems.com/blogs/page/andrewtrice?entry=visualizing_large _data_sets, and am thinking that I will need to proceed in kind and to use an Image object and set BitmapData pixels directly - depending on how I decide to reimplement this thing. Of course I am limited by the number of pixels available along the x-axis for a given chart size. This is complicated as the client would like to zoom on the graph and also look at time slices. The client would also like to be able to see exceptions clearly on the graph - for example if there was a vibration spike. Also sometimes the sensor might not be operational so we need to see those breaks in the graph when no data was captured. All in all I am finding this a complicated requirement to unravel, as some of the requirements seem to be nonsensical - eg having a zoom - when the client always wants to see maximum detail??? So, I need to work out a design for this which will best meet the clients requirement and which flex can handle. Any comments and ideas are appreciated. I am working on this presently, so as I come up with ideas on how to proceed I will post them here. Cheers Mark
RE: [flexcoders] Charting 1 minute data over 1 year
Hi Maciek, Thanks for your response. Yes I have seen that example and I liked it. We still need to contend, though, with having 500,000 values to plot for the full graph. Using standard graphing that takes for ever to plot - in fact I could not get it to plot. 2000 values seems to the maximum number of points that can be plotted, or to be exact the number of pixels available on x-axis. So how can I take 500,000 points and : 1. Producre a graph that as closely as possible retains its shape? 2. Shows exceptional values If I were to massage the 500,000 points by taking sample of 250 points and averaging them, then I can miss important detail. I could use a vertical column graph with floating columns, where I plotted the line starting at min and ending at max for the plot point. Furthermore as the user used the slider to look at a smaller portion of the graph I would still want to plot at maximum pixel detail. That is if the user uses the slider to look at 1 month then that would allow me to plot points where each point was calculated from a smaller sample size. Cheers Mark -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Maciek Sakrejda Sent: Friday, 30 January 2009 11:21 a.m. To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Charting 1 minute data over 1 year Have you suggested a thumbnail slider solution à la Google Finance (say, like here: http://www.meutzner.com/blog/index.cfm/2007/6/15/Google-Finance-with-Flex-from-Silvafug-last-night )? We've implemented something similar, and it works quite well. I can't share our implementation, but the example I linked has source. -- Maciek Sakrejda Truviso, Inc. http://www.truviso.com -Original Message- From: Mark Easton mar...@azurebell.co.nz Reply-To: flexcoders@yahoogroups.com To: Flexcoders flexcoders@yahoogroups.com Subject: [flexcoders] Charting 1 minute data over 1 year Date: Fri, 30 Jan 2009 11:04:42 +1300 Hi, I am trying to work out how best to produce a chart which allows a user to make sense of data logged every minute for up to 12 months (ie 524160 values). To complicate matters the graphs are are presented on a dashboard where the user can display many graphs at once - so we are not just displaying the one graph and the size of the graph will change depending on how many graphs are being displayed in the dashboard window. We are logging sensor data (temperature, current, vibration, humidity, wind speed etc). Client does not like a month, week, day, hour, minute drill down scenario - I tried that and it was rejected. He wants a line graph, but where we do have to average data would like to some idea of max and mins - maybe that can be done in point comment. Trouble is if we chart so many points then there are too many points for the mouse click to discern. Essentially the client would like to see the data always at maximum detail no matter what period is being looked at. I have read this http://www.cynergysystems.com/blogs/page/andrewtrice?entry=visualizing_large _data_sets, and am thinking that I will need to proceed in kind and to use an Image object and set BitmapData pixels directly - depending on how I decide to reimplement this thing. Of course I am limited by the number of pixels available along the x-axis for a given chart size. This is complicated as the client would like to zoom on the graph and also look at time slices. The client would also like to be able to see exceptions clearly on the graph - for example if there was a vibration spike. Also sometimes the sensor might not be operational so we need to see those breaks in the graph when no data was captured. All in all I am finding this a complicated requirement to unravel, as some of the requirements seem to be nonsensical - eg having a zoom - when the client always wants to see maximum detail??? So, I need to work out a design for this which will best meet the clients requirement and which flex can handle. Any comments and ideas are appreciated. I am working on this presently, so as I come up with ideas on how to proceed I will post them here. Cheers Mark
RE: [flexcoders] Charting 1 minute data over 1 year
I like the idea of the separate series for the outlying points. With respect to the main graph showing raw data ...I am not sure that would be acceptable to the client. Depending on the range selected by the slider the main graph would still be limited by available x-axis pixels in terms of what it can display. At one extreme the user could user the slider to select the whole graph - that dataset is 500,000 points. We could limit the slider to the detail that can be displayed in the main graph. But that means that only a small slice can be viewed at any one time, and the added user problem of having to move two sliders to keep the slice small. I think if we went this way then when the slider is resposition I would need to look at the data population size for that and base on available x-axis pixels produce a new dataset to display the top graph. But I believe this would make the slider, slow and difficult to use, unless I allowed the sliders to be positioned and then the user clicked some button to generate the new graph. -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Maciek Sakrejda Sent: Friday, 30 January 2009 12:27 p.m. To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Charting 1 minute data over 1 year How about, on the main graph, showing the raw data as limited by the slider, but on the slider, show points that average over some period of time, combined with a separate series for outlying points (those outside 1 or 2 standard deviations from the mean)? This gives you an overview of the general trends, a quick indication of outliers, and an ability to zoom in on any single section fairly easily. -- Maciek Sakrejda Truviso, Inc. http://www.truviso.com -Original Message- From: Mark Easton mar...@azurebell.co.nz Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Charting 1 minute data over 1 year Date: Fri, 30 Jan 2009 12:16:16 +1300 Hi Maciek, Thanks for your response. Yes I have seen that example and I liked it. We still need to contend, though, with having 500,000 values to plot for the full graph. Using standard graphing that takes for ever to plot - in fact I could not get it to plot. 2000 values seems to the maximum number of points that can be plotted, or to be exact the number of pixels available on x-axis. So how can I take 500,000 points and : 1. Producre a graph that as closely as possible retains its shape? 2. Shows exceptional values If I were to massage the 500,000 points by taking sample of 250 points and averaging them, then I can miss important detail. I could use a vertical column graph with floating columns, where I plotted the line starting at min and ending at max for the plot point. Furthermore as the user used the slider to look at a smaller portion of the graph I would still want to plot at maximum pixel detail. That is if the user uses the slider to look at 1 month then that would allow me to plot points where each point was calculated from a smaller sample size. Cheers Mark -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Maciek Sakrejda Sent: Friday, 30 January 2009 11:21 a.m. To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Charting 1 minute data over 1 year Have you suggested a thumbnail slider solution à la Google Finance (say, like here: http://www.meutzner.com/blog/index.cfm/2007/6/15/Google-Finance-with-Flex-from-Silvafug-last-night )? We've implemented something similar, and it works quite well. I can't share our implementation, but the example I linked has source. -- Maciek Sakrejda Truviso, Inc. http://www.truviso.com -Original Message- From: Mark Easton mar...@azurebell.co.nz Reply-To: flexcoders@yahoogroups.com To: Flexcoders flexcoders@yahoogroups.com Subject: [flexcoders] Charting 1 minute data over 1 year Date: Fri, 30 Jan 2009 11:04:42 +1300 Hi, I am trying to work out how best to produce a chart which allows a user to make sense of data logged every minute for up to 12 months (ie 524160 values). To complicate matters the graphs are are presented on a dashboard where the user can display many graphs at once - so we are not just displaying the one graph and the size of the graph will change depending on how many graphs are being displayed in the dashboard window. We are logging sensor data (temperature, current, vibration, humidity, wind speed etc). Client does not like a month, week, day, hour, minute drill down scenario - I tried that and it was rejected. He wants a line graph, but where we do have to average data would like to some idea of max and mins - maybe that can be done in point comment. Trouble is if we chart so many points
RE: [flexcoders] Charting 1 minute data over 1 year
Thanks Doug, Yes I have been thinking (the last hour) of using such a representation or alternatively of plotting a graph of floating columns, with each column starting at min and ending at max, combined with a line graph in a different colour showing the averages. BUT (and this is a big but) the client said he was not interested in min and max, but rather exceptional values. Although I have to take his requirements with a grain of salt sometimes it does pay to listen to him - he is the client! :) The exceptions may be a single solitary value or a series of values. So, if I were to grab the points that within each sample are 1 or 2 std deviations outside the normal then I wont always have these points - so they may just be the odd value. Hence using floating columns to display these seems to make sense. Mark -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Doug McCune Sent: Friday, 30 January 2009 12:34 p.m. To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Charting 1 minute data over 1 year What if you aggregate your data by some amount (say the maximum resolution you can display on the x-axis), and then for each data point you plot the min, max, and average, kind of like the HLOCChart that's used to show stock data. That would let you see the average trend as well as identify any peaks or valleys that were out of the ordinary. So then the task involves being able to efficiently take 500,000 points and turn it into 2,000 aggregated points with min/max/avg. Or even just do 3 completely separate line series for the min, max, and avg. There's only so much information you can show in a single horizontal pixel, so there's simply no way to show all the data. But showing min/max/avg might get you the info you need. Doug On Thu, Jan 29, 2009 at 3:27 PM, Maciek Sakrejda msakre...@truviso.com wrote: How about, on the main graph, showing the raw data as limited by the slider, but on the slider, show points that average over some period of time, combined with a separate series for outlying points (those outside 1 or 2 standard deviations from the mean)? This gives you an overview of the general trends, a quick indication of outliers, and an ability to zoom in on any single section fairly easily. -- Maciek Sakrejda Truviso, Inc. http://www.truviso.com -Original Message- From: Mark Easton mar...@azurebell.co.nz Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Charting 1 minute data over 1 year Date: Fri, 30 Jan 2009 12:16:16 +1300 Hi Maciek, Thanks for your response. Yes I have seen that example and I liked it. We still need to contend, though, with having 500,000 values to plot for the full graph. Using standard graphing that takes for ever to plot - in fact I could not get it to plot. 2000 values seems to the maximum number of points that can be plotted, or to be exact the number of pixels available on x-axis. So how can I take 500,000 points and : 1. Producre a graph that as closely as possible retains its shape? 2. Shows exceptional values If I were to massage the 500,000 points by taking sample of 250 points and averaging them, then I can miss important detail. I could use a vertical column graph with floating columns, where I plotted the line starting at min and ending at max for the plot point. Furthermore as the user used the slider to look at a smaller portion of the graph I would still want to plot at maximum pixel detail. That is if the user uses the slider to look at 1 month then that would allow me to plot points where each point was calculated from a smaller sample size. Cheers Mark -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Maciek Sakrejda Sent: Friday, 30 January 2009 11:21 a.m. To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Charting 1 minute data over 1 year Have you suggested a thumbnail slider solution à la Google Finance (say, like here: http://www.meutzner.com/blog/index.cfm/2007/6/15/Google-Finance-with-Flex-from-Silvafug-last-night )? We've implemented something similar, and it works quite well. I can't share our implementation, but the example I linked has source. -- Maciek Sakrejda Truviso, Inc. http://www.truviso.com -Original Message- From: Mark Easton mar...@azurebell.co.nz Reply-To: flexcoders@yahoogroups.com To: Flexcoders flexcoders@yahoogroups.com Subject: [flexcoders] Charting 1 minute data over 1 year Date: Fri, 30 Jan 2009 11:04:42 +1300 Hi, I am trying to work out how best to produce a chart which allows a user to make sense of data logged every minute for up
RE: [flexcoders] Charting 1 minute data over 1 year
Definitely will do Doug. Its going to test my flex skills, but I hope to have done it by the end of next week. It is complicated in that we have a dashboard that allows the users to see many graphs for all the different sensors, contact inputs and actuators at the same time - and move them in to display groups (each display group has its own tab). I am taking the approach that these display group graphs will all be displayed for the last 24 hours or the last hour (switchable by the user). Then if the user wants to do further analysis he/she can select the graph to analyse it further and we will do that in a full size window. That is where we will apply what is discussed below. Graphing actuators and contact inputs is also interesting as they only have three values - Nan, 0 and 1. I will used a stepped line for those, but will still need to be massaging data depending on the sample size required to fit the data into the available x-axis pixels. In this case the client does not want the sampling to miss any state change activity. Obviously we cant average the sample data, so for this I am thinking I will plot the sample entry point and exit point. Then, in another series I will also plot the number of state changes in the sample. Then the user can slice using the slider to look at parts of the graph in more detail and thus be able to see exactly what the activity was. Thanks! -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Doug McCune Sent: Friday, 30 January 2009 1:43 p.m. To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Charting 1 minute data over 1 year Hey Mark, This might be out of the question due to client restrictions, but I'd be very interested in seeing a screenshot of the solution you come up with (even if you have to use some fake data to show us). It's an interesting data visualization problem and I think it would benefit many people here (or maybe just me) to see how you decided to solve it. So if after you figure out a workable solution you can share what you did and how well it worked, I'd be interested. Best of luck, Doug On Thu, Jan 29, 2009 at 4:12 PM, Mark Easton mar...@azurebell.co.nz wrote: Thanks Doug, Yes I have been thinking (the last hour) of using such a representation or alternatively of plotting a graph of floating columns, with each column starting at min and ending at max, combined with a line graph in a different colour showing the averages. BUT (and this is a big but) the client said he was not interested in min and max, but rather exceptional values. Although I have to take his requirements with a grain of salt sometimes it does pay to listen to him - he is the client! :) The exceptions may be a single solitary value or a series of values. So, if I were to grab the points that within each sample are 1 or 2 std deviations outside the normal then I wont always have these points - so they may just be the odd value. Hence using floating columns to display these seems to make sense. Mark -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Doug McCune Sent: Friday, 30 January 2009 12:34 p.m. To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Charting 1 minute data over 1 year What if you aggregate your data by some amount (say the maximum resolution you can display on the x-axis), and then for each data point you plot the min, max, and average, kind of like the HLOCChart that's used to show stock data. That would let you see the average trend as well as identify any peaks or valleys that were out of the ordinary. So then the task involves being able to efficiently take 500,000 points and turn it into 2,000 aggregated points with min/max/avg. Or even just do 3 completely separate line series for the min, max, and avg. There's only so much information you can show in a single horizontal pixel, so there's simply no way to show all the data. But showing min/max/avg might get you the info you need. Doug On Thu, Jan 29, 2009 at 3:27 PM, Maciek Sakrejda msakre...@truviso.com wrote: How about, on the main graph, showing the raw data as limited by the slider, but on the slider, show points that average over some period of time, combined with a separate series for outlying points (those outside 1 or 2 standard deviations from the mean)? This gives you an overview of the general trends, a quick indication of outliers, and an ability to zoom in on any single section fairly easily. -- Maciek Sakrejda Truviso, Inc. http://www.truviso.com -Original Message- From: Mark Easton mar...@azurebell.co.nz Reply-To: flexcoders@yahoogroups.com To: flexcoders@yahoogroups.com
RE: [flexcoders] Charting 1 minute data over 1 year
Greg, I really like that idea. Will factor it in to our design discussions here. Many thanks, Mark -Original Message- From: Gregory Kelley [mailto:flexcod...@yahoogroups.com]on Behalf Of Gregory Kelley Sent: Friday, 30 January 2009 5:47 p.m. To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Charting 1 minute data over 1 year Just a thought but if you are limited by pixels maybe you can make pixel represent a subset of data. Then if you can use that subset to test for outliers at certain deviations you color it differently then a red dot needs further review yellow dots are not that bad and blue dots are inconsequential. (hot - cold colors). Each dot would represent a plotable set of data. Greg From: flexcoders@yahoogroups.com on behalf of Mark Easton Sent: Thu 1/29/2009 7:59 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Charting 1 minute data over 1 year ? Definitely will do Doug. Its going to test my flex skills, but I hope to have done it by the end of next week. It is complicated in that we have a dashboard that allows the users to see many graphs for all the different sensors, contact inputs and actuators at the same time - and move them in to display groups (each display group has its own tab). I am taking the approach that these display group graphs will all be displayed for the last 24 hours or the last hour (switchable by the user). Then if the user wants to do further analysis he/she can select the graph to analyse it further and we will do that in a full size window. That is where we will apply what is discussed below. Graphing actuators and contact inputs is also interesting as they only have three values - Nan, 0 and 1. I will used a stepped line for those, but will still need to be massaging data depending on the sample size required to fit the data into the available x-axis pixels. In this case the client does not want the sampling to miss any state change activity. Obviously we cant average the sample data, so for this I am thinking I will plot the sample entry point and exit point. Then, in another series I will also plot the number of state changes in the sample. Then the user can slice using the slider to look at parts of the graph in more detail and thus be able to see exactly what the activity was. Thanks! -Original Message- From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com]on Behalf Of Doug McCune Sent: Friday, 30 January 2009 1:43 p.m. To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Charting 1 minute data over 1 year Hey Mark, This might be out of the question due to client restrictions, but I'd be very interested in seeing a screenshot of the solution you come up with (even if you have to use some fake data to show us). It's an interesting data visualization problem and I think it would benefit many people here (or maybe just me) to see how you decided to solve it. So if after you figure out a workable solution you can share what you did and how well it worked, I'd be interested. Best of luck, Doug On Thu, Jan 29, 2009 at 4:12 PM, Mark Easton mar...@azurebell.co.nz mailto:mar...@azurebell.co.nz wrote: ? Thanks Doug, Yes I have been thinking (the last hour) of using such a representation or alternatively of plotting a graph of floating columns, with each column starting at min and ending at max, combined with a line graph in a different colour showing the averages. BUT (and this is a big but) the client said he was not interested in min and max, but rather exceptional values. Although I have to take his requirements with a grain of salt sometimes it does pay to listen to him - he is the client! :) The exceptions may be a single solitary value or a series of values. So, if I were to grab the points that within each sample are 1 or 2 std deviations outside the normal then I wont always have these points - so they may just be the odd value. Hence using floating columns to display these seems to make sense. Mark -Original Message- From: flexcoders@yahoogroups.com mailto:flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders@yahoogroups.com ]On Behalf Of Doug McCune Sent: Friday, 30 January 2009 12:34 p.m. To: flexcoders@yahoogroups.com mailto:flexcoders@yahoogroups.com Subject: Re: [flexcoders] Charting 1 minute data over 1 year What if you aggregate your data by some amount (say the maximum resolution you can display on the x-axis), and then for each data point you plot the min, max, and average, kind of like the HLOCChart that's used to show stock data. That would let you see the average trend as well as identify any peaks or valleys that were out of the ordinary. So then the task involves being able to efficiently take 500,000 points and turn it into 2,000 aggregated points with min/max/avg. Or even just do 3 completely separate line series
RE: [flexcoders] Re: AIR SQLLite, ints, and NULLs
I was having troubles with this also (using sqlite in AIR). I did not realise that ints dont have NULLS and Numbers do, so will change my ints to Numbers as well if that is deemed the proper thing to Thanks! _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Charlie Hubbard Sent: Monday, November 24, 2008 9:02 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: AIR SQLLite, ints, and NULLs Thanks Amy, but I was really asking for what I can use as a substitute data type for an int since you can't have NULLs for an int. So far from what I'm finding is I can use Number in place of int and also get a null value for a Number into the DB. At least it seems that way so far. If I change all of my int's to Number's then I start getting NULLs as expected for values that are unset. So I guess I really trying to validate that fact with other Actionscripters out there to see if this is acceptable or if not is there a better option. Can I use Number place of int and not run into any problems down the road? Charlie On Sun, Nov 23, 2008 at 1:37 PM, Amy amyblankenship@ mailto:[EMAIL PROTECTED] bellsouth.net wrote: --- In [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com, Charlie Hubbard [EMAIL PROTECTED] wrote: I've read over all of the docs on Air, but there seems to be a missing discussion around NULL values in SQLLite and how those map back to datatypes. What I've found is that if I have an int field type I can't get a NULL value to ever get inserted into the SQLLite. It just ends up inserting 0 (zero). In Java we'd just convert to using a true Object like Integer class, and that would handle this problem for us. What is the equivalent with Actionscript? If you want NULLs and numbers what is an object and a number, and will Air convert between the two correctly? I don't believe null is an acceptable value for an int in Actionscript 3, so as long as you're using an int datatype, you'll have to check for maybe undefined or something and insert null vs. the actual variable value. Check the docs for the specifics of what the empty value is for int. HTH; Amy No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.9/1806 - Release Date: 11/22/2008 6:59 PM
RE: [flexcoders] Getting IP address of the local machine
I dont know about flex itself, but flex can call php and get the ip address from that. _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of anuj181 Sent: Thursday, November 20, 2008 11:41 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Getting IP address of the local machine Hi Is it possible to get the IP Address of the serveron which you Flex App is running. My requirement is that I need to get the IP address of the server . Please let me know if Flex supports getting the IP address of the server machine, I know we can do that with PHP but i am just wondering if its possible with Flex exclusively. Thanks in advance Anuj No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.6/1797 - Release Date: 11/19/2008 8:58 AM
RE: [flexcoders] Getting IP address of the local machine
Well you already know how to get an ip address from php according to your original email. In Flex you use HttpService import mx.managers.CursorManager; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.http.HTTPService; public function readIP() { networkService = new HTTPService(); networkService.useProxy=false; networkService.method=POST; networkService.url = http://www.something.com//getip.php;; networkService.addEventListener(ResultEvent.RESULT, readResult); networkService.addEventListener(FaultEvent.FAULT, readFailed); networkService.send(); CursorManager.setBusyCursor(); } private function readResult(event: ResultEvent):void { //Process Result CursorManager.removeBusyCursor(); } private function readFailed(event: FaultEvent):void { //Process Failure } _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of anuj sharma Sent: Thursday, November 20, 2008 12:09 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Getting IP address of the local machine Okay if thats the case do you have the code which is doing something like that. I know little bit Flex but I ma fairly new to PHP. Thanks a lot Anuj On Wed, Nov 19, 2008 at 3:06 PM, Mark Easton [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] co.nz wrote: I dont know about flex itself, but flex can call php and get the ip address from that. _ From: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com] On Behalf Of anuj181 Sent: Thursday, November 20, 2008 11:41 AM To: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com Subject: [flexcoders] Getting IP address of the local machine Hi Is it possible to get the IP Address of the serveron which you Flex App is running. My requirement is that I need to get the IP address of the server . Please let me know if Flex supports getting the IP address of the server machine, I know we can do that with PHP but i am just wondering if its possible with Flex exclusively. Thanks in advance Anuj No virus found in this incoming message. Checked by AVG - http://www.avg. http://www.avg.com com Version: 8.0.175 / Virus Database: 270.9.6/1797 - Release Date: 11/19/2008 8:58 AM No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.6/1797 - Release Date: 11/19/2008 8:58 AM
RE: [flexcoders] Getting IP address of the local machine
You should also return your result from php as xml. e.g. ip100.1.1.1/ip _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Mark Easton Sent: Thursday, November 20, 2008 12:19 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Getting IP address of the local machine Well you already know how to get an ip address from php according to your original email. In Flex you use HttpService import mx.managers.CursorManager; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.http.HTTPService; public function readIP() { networkService = new HTTPService(); networkService.useProxy=false; networkService.method=POST; networkService.url = http://www.something.com//getip.php;; networkService.addEventListener(ResultEvent.RESULT, readResult); networkService.addEventListener(FaultEvent.FAULT, readFailed); networkService.send(); CursorManager.setBusyCursor(); } private function readResult(event: ResultEvent):void { //Process Result CursorManager.removeBusyCursor(); } private function readFailed(event: FaultEvent):void { //Process Failure } _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of anuj sharma Sent: Thursday, November 20, 2008 12:09 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Getting IP address of the local machine Okay if thats the case do you have the code which is doing something like that. I know little bit Flex but I ma fairly new to PHP. Thanks a lot Anuj On Wed, Nov 19, 2008 at 3:06 PM, Mark Easton [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] co.nz wrote: I dont know about flex itself, but flex can call php and get the ip address from that. _ From: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com] On Behalf Of anuj181 Sent: Thursday, November 20, 2008 11:41 AM To: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com Subject: [flexcoders] Getting IP address of the local machine Hi Is it possible to get the IP Address of the serveron which you Flex App is running. My requirement is that I need to get the IP address of the server . Please let me know if Flex supports getting the IP address of the server machine, I know we can do that with PHP but i am just wondering if its possible with Flex exclusively. Thanks in advance Anuj No virus found in this incoming message. Checked by AVG - http://www.avg. http://www.avg.com com Version: 8.0.175 / Virus Database: 270.9.6/1797 - Release Date: 11/19/2008 8:58 AM No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.6/1797 - Release Date: 11/19/2008 8:58 AM No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.6/1797 - Release Date: 11/19/2008 8:58 AM
RE: [flexcoders] Re: Creating a Chart With 50,000 Data Points
Hi Jim, Yes, LOL ... and it gets worse when we try to plot a graph for one year (about 500,000 observatons). We are plotting values received from sensors (eg temperature, vibration, humidity, gps location, gps velocity, wind speed, current, voltage, light). We take readings each minute. I have produced a dashboard which uses the following techniques: 1. Each sensor graph is in its own window ... so can be looking at 10 graphs at the same time for instance. 2. I average data to reduce the dataset size 3. I employ drill down 4. I have included a slider to look at reduced time frames The client rejected this solution. I did some tests in flex and found results similar to you Jim. When I tried to plot 40,000 points I gave up waiting for it after 6 minutes. 10,000 points took about 20 secs the first time (including reading from the local sqlite data store). The client and I have now agreed that: 1. If we have a large number of observations from a sensor and plot all of those on a graph over a period of time, then whatever optimisation we use to improve performance should produce an identical looking graph to the first. (I think that identical is probably to strong a word here) 2. We will add a confif paramter for each sensor such that the sensor readings can be changed to occur at multiples of 1 minute. For example, every 10 minutes. So, I will still end up with data sets to large for flex, and given that I want to display many graphs at once and will also be looking at representing many sensors on the one graph this contributes to the issue. So, I do need to sample the dataset somehow to make it work. But have to try to meet the goal expressed in point 1 above. I think a combination of your points 3 and 4 might be a good approached combined with some algorithm to ensure that my top level curve does not miss an max's and min's and as close as possible approximates a full detail curve. A few challenges there! Thanks again, Mark _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of jim.abbott45 Sent: Wednesday, November 19, 2008 8:27 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Creating a Chart With 50,000 Data Points 50,000? LOL. ;-) On a more serious note, I have to agree with Fotis and Ricky that 50K data points is too many, both from a (Flash 9 VM at least) performance perspective and probably also from an Information Visualization perspective (unless, maybe, your users have 300 dpi monitors). There are several standard interaction design and information visualization techniques which may be useful to you . . . 1) Aggregation (as already suggested, take 'N' data points, average them, and then only display the average value). 2) Filtering (by sliders on an axis, by date/time, by structured or open-ended queries, ...) 3) Progressive rendering (sample the entire data set at intervals of 'N', render those points, then go back and get the data which is mid-point between the original points, add the new points to the curve, repeat until desired resolution obtained--or on user demand) 4) Non-linear zooming (like idea 1), but allow user to zoom in on a section of the curve, when they do, add the additional data points to the curve for the zoomed-in region) On a more pragmatic note, you certainly _can_ plot more than 2,000 points. For example, I've personally used Flex to create charts with over 14,000 points in them, so I know that at least that number is definitely *possible*. However, the overall rendering time was (as I recall) over 3 minutes long. More troubling was the fact that the entire Flex UI become very sluggish once a chart that large was displayed. I've seen good chart rendering speed ( ~= 2S ) and no UI sluggishness, up to about 1500 points. I've also been able to render up to 6,000 points, but it took about 10S for the rendering and the UI started to become sluggish. From your posting, it sounds like you're not seeing those rendering speeds. I'd recommend that you experiment with how you are using the charting objects/API. My experience was that I was able to see some very noticeable speed-ups simply be optimizing how I called the charting API (especially w.r.t. how I loaded the series data). In particular, if your charts are interactive, try to cache anything you can that doesn't necessarily change during an interaction (i.e., axis objects). Last thought: the new Flash 10 VM (Astro) has support for larger bitmaps and also can now do hardware-based rendering, apparently. I haven't tried either of those features myself, but using the v10 VM _might_ be another way to get a performance boost, etc. Good luck! Jim --- In [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com, Mark Easton [EMAIL PROTECTED] wrote: Hi, It appears that Flex Charts cannot handle generating charts with large DataSets. We tried with 50,000 data points and it thrashed away without producing a result after 6 minutes. It was able to plot
RE: [flexcoders] Re: Creating a Chart With 50,000 Data Points
Thanks Brendan, We are charting observations from a range of sensors and contact inputs. The contact inputs are a special case as they can only have 1 or 0 values. But the sensors include temperature, current, voltage, light, humidity, vibration, motion, gps velocity, gps location, wind speed, wind direction etc. The client does like the the charting features so he wants all of the flex charting cool stuff as well as the ability to see these charts. But that does not mean that I cant look at a combination of approaches. Its a good idea to look at coding a custom chart, and one I will look at closely. Yes I was thinking along the lines of having 2000 plot points. So in the case of a 3 month graph I would start with 120,000 points and need to reduce that to 2000. Cheers, Mark _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Brendan Meutzner Sent: Wednesday, November 19, 2008 8:51 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Creating a Chart With 50,000 Data Points What kind of charts are you displaying? I've had amazing success with scrapping the charting framework all together and simply drawing the chart programmatically. Yes, it's a bit more work, and yes it's only feasible if you don't really need a lot of the charting features that come in the framework. However, the performance difference is huge. The project I applied this on was for financial stock data, and using a custom drawn chart I mention above, along with the concept someone else mentioned by only showing the n-th datapoint interval depending on the overall range being displayed worked quite well. You're able to keep a consistent number of plot points (I've found 500-750 performs best) no matter what the overall range of data you're displaying. I say 500-750 performs best as I also had a horizontal axis slider which allowed for constantly updating data in the chart. Brendan On Tue, Nov 18, 2008 at 1:27 PM, jim.abbott45 jim.abbott45@ mailto:[EMAIL PROTECTED] yahoo.com wrote: 50,000? LOL. ;-) On a more serious note, I have to agree with Fotis and Ricky that 50K data points is too many, both from a (Flash 9 VM at least) performance perspective and probably also from an Information Visualization perspective (unless, maybe, your users have 300 dpi monitors). There are several standard interaction design and information visualization techniques which may be useful to you . . . 1) Aggregation (as already suggested, take 'N' data points, average them, and then only display the average value). 2) Filtering (by sliders on an axis, by date/time, by structured or open-ended queries, ...) 3) Progressive rendering (sample the entire data set at intervals of 'N', render those points, then go back and get the data which is mid-point between the original points, add the new points to the curve, repeat until desired resolution obtained--or on user demand) 4) Non-linear zooming (like idea 1), but allow user to zoom in on a section of the curve, when they do, add the additional data points to the curve for the zoomed-in region) On a more pragmatic note, you certainly _can_ plot more than 2,000 points. For example, I've personally used Flex to create charts with over 14,000 points in them, so I know that at least that number is definitely *possible*. However, the overall rendering time was (as I recall) over 3 minutes long. More troubling was the fact that the entire Flex UI become very sluggish once a chart that large was displayed. I've seen good chart rendering speed ( ~= 2S ) and no UI sluggishness, up to about 1500 points. I've also been able to render up to 6,000 points, but it took about 10S for the rendering and the UI started to become sluggish. From your posting, it sounds like you're not seeing those rendering speeds. I'd recommend that you experiment with how you are using the charting objects/API. My experience was that I was able to see some very noticeable speed-ups simply be optimizing how I called the charting API (especially w.r.t. how I loaded the series data). In particular, if your charts are interactive, try to cache anything you can that doesn't necessarily change during an interaction (i.e., axis objects). Last thought: the new Flash 10 VM (Astro) has support for larger bitmaps and also can now do hardware-based rendering, apparently. I haven't tried either of those features myself, but using the v10 VM _might_ be another way to get a performance boost, etc. Good luck! Jim --- In [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com, Mark Easton [EMAIL PROTECTED] wrote: Hi, It appears that Flex Charts cannot handle generating charts with large DataSets. We tried with 50,000 data points and it thrashed away without producing a result after 6 minutes. It was able to plot 2,000 points in about 25 seconds. What is the recommended approach for creating charts from large data sets. The best I can think of is to write some code
RE: [flexcoders] Re: Creating a Chart With 50,000 Data Points
A little bit rusty on Java right now - did some J2ME last year but not much since. _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Romain de Wolff Sent: Wednesday, November 19, 2008 12:06 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Creating a Chart With 50,000 Data Points You can always try a Java Applet. But this suggestion might be off topic! On Wed, Nov 19, 2008 at 12:04 AM, Mark Easton [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] co.nz wrote: I'd be using C++. :) I already have a C++ application running on our gateway which deals with grabbing data from the stations. It then passes that to a parser utility I wrote so that would be a good place to reduce the dataset ready for a progressive display on a flex chart. Yep - a very interesting application! _ From: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com] On Behalf Of Josh McDonald Sent: Wednesday, November 19, 2008 11:34 AM To: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com Subject: Re: [flexcoders] Re: Creating a Chart With 50,000 Data Points I'd look into some intermediary code to reduce your dataset, written in something with threads (my first choice would be Java, but that's me). It sounds like you're working on some interesting stuff Mark :) -Josh On Wed, Nov 19, 2008 at 6:15 AM, Mark Easton [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] co.nz wrote: Thanks Brendan, We are charting observations from a range of sensors and contact inputs. The contact inputs are a special case as they can only have 1 or 0 values. But the sensors include temperature, current, voltage, light, humidity, vibration, motion, gps velocity, gps location, wind speed, wind direction etc. The client does like the the charting features so he wants all of the flex charting cool stuff as well as the ability to see these charts. But that does not mean that I cant look at a combination of approaches. Its a good idea to look at coding a custom chart, and one I will look at closely. Yes I was thinking along the lines of having 2000 plot points. So in the case of a 3 month graph I would start with 120,000 points and need to reduce that to 2000. Cheers, Mark _ From: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com] On Behalf Of Brendan Meutzner Sent: Wednesday, November 19, 2008 8:51 AM To: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com Subject: Re: [flexcoders] Re: Creating a Chart With 50,000 Data Points What kind of charts are you displaying? I've had amazing success with scrapping the charting framework all together and simply drawing the chart programmatically. Yes, it's a bit more work, and yes it's only feasible if you don't really need a lot of the charting features that come in the framework. However, the performance difference is huge. The project I applied this on was for financial stock data, and using a custom drawn chart I mention above, along with the concept someone else mentioned by only showing the n-th datapoint interval depending on the overall range being displayed worked quite well. You're able to keep a consistent number of plot points (I've found 500-750 performs best) no matter what the overall range of data you're displaying. I say 500-750 performs best as I also had a horizontal axis slider which allowed for constantly updating data in the chart. Brendan On Tue, Nov 18, 2008 at 1:27 PM, jim.abbott45 jim.abbott45@ mailto:[EMAIL PROTECTED] yahoo.com wrote: 50,000? LOL. ;-) On a more serious note, I have to agree with Fotis and Ricky that 50K data points is too many, both from a (Flash 9 VM at least) performance perspective and probably also from an Information Visualization perspective (unless, maybe, your users have 300 dpi monitors). There are several standard interaction design and information visualization techniques which may be useful to you . . . 1) Aggregation (as already suggested, take 'N' data points, average them, and then only display the average value). 2) Filtering (by sliders on an axis, by date/time, by structured or open-ended queries, ...) 3) Progressive rendering (sample the entire data set at intervals of 'N', render those points, then go back and get the data which is mid-point between the original points, add the new points to the curve, repeat until desired resolution obtained--or on user demand) 4) Non-linear zooming (like idea 1), but allow user to zoom in on a section of the curve, when they do, add the additional data points to the curve for the zoomed-in region) On a more pragmatic note, you certainly _can_ plot more than 2,000 points. For example, I've personally used Flex to create charts with over 14,000 points in them, so I know that at least that number is definitely *possible*. However, the overall
RE: [flexcoders] Re: Creating a Chart With 50,000 Data Points
I'd be using C++. :) I already have a C++ application running on our gateway which deals with grabbing data from the stations. It then passes that to a parser utility I wrote so that would be a good place to reduce the dataset ready for a progressive display on a flex chart. Yep - a very interesting application! _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Josh McDonald Sent: Wednesday, November 19, 2008 11:34 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Creating a Chart With 50,000 Data Points I'd look into some intermediary code to reduce your dataset, written in something with threads (my first choice would be Java, but that's me). It sounds like you're working on some interesting stuff Mark :) -Josh On Wed, Nov 19, 2008 at 6:15 AM, Mark Easton [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] co.nz wrote: Thanks Brendan, We are charting observations from a range of sensors and contact inputs. The contact inputs are a special case as they can only have 1 or 0 values. But the sensors include temperature, current, voltage, light, humidity, vibration, motion, gps velocity, gps location, wind speed, wind direction etc. The client does like the the charting features so he wants all of the flex charting cool stuff as well as the ability to see these charts. But that does not mean that I cant look at a combination of approaches. Its a good idea to look at coding a custom chart, and one I will look at closely. Yes I was thinking along the lines of having 2000 plot points. So in the case of a 3 month graph I would start with 120,000 points and need to reduce that to 2000. Cheers, Mark _ From: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com] On Behalf Of Brendan Meutzner Sent: Wednesday, November 19, 2008 8:51 AM To: [EMAIL PROTECTED] mailto:flexcoders@yahoogroups.com ups.com Subject: Re: [flexcoders] Re: Creating a Chart With 50,000 Data Points What kind of charts are you displaying? I've had amazing success with scrapping the charting framework all together and simply drawing the chart programmatically. Yes, it's a bit more work, and yes it's only feasible if you don't really need a lot of the charting features that come in the framework. However, the performance difference is huge. The project I applied this on was for financial stock data, and using a custom drawn chart I mention above, along with the concept someone else mentioned by only showing the n-th datapoint interval depending on the overall range being displayed worked quite well. You're able to keep a consistent number of plot points (I've found 500-750 performs best) no matter what the overall range of data you're displaying. I say 500-750 performs best as I also had a horizontal axis slider which allowed for constantly updating data in the chart. Brendan On Tue, Nov 18, 2008 at 1:27 PM, jim.abbott45 jim.abbott45@ mailto:[EMAIL PROTECTED] yahoo.com wrote: 50,000? LOL. ;-) On a more serious note, I have to agree with Fotis and Ricky that 50K data points is too many, both from a (Flash 9 VM at least) performance perspective and probably also from an Information Visualization perspective (unless, maybe, your users have 300 dpi monitors). There are several standard interaction design and information visualization techniques which may be useful to you . . . 1) Aggregation (as already suggested, take 'N' data points, average them, and then only display the average value). 2) Filtering (by sliders on an axis, by date/time, by structured or open-ended queries, ...) 3) Progressive rendering (sample the entire data set at intervals of 'N', render those points, then go back and get the data which is mid-point between the original points, add the new points to the curve, repeat until desired resolution obtained--or on user demand) 4) Non-linear zooming (like idea 1), but allow user to zoom in on a section of the curve, when they do, add the additional data points to the curve for the zoomed-in region) On a more pragmatic note, you certainly _can_ plot more than 2,000 points. For example, I've personally used Flex to create charts with over 14,000 points in them, so I know that at least that number is definitely *possible*. However, the overall rendering time was (as I recall) over 3 minutes long. More troubling was the fact that the entire Flex UI become very sluggish once a chart that large was displayed. I've seen good chart rendering speed ( ~= 2S ) and no UI sluggishness, up to about 1500 points. I've also been able to render up to 6,000 points, but it took about 10S for the rendering and the UI started to become sluggish. From your posting, it sounds like you're not seeing those rendering speeds. I'd recommend that you experiment with how you are using the charting objects/API. My experience was that I was able to see some very noticeable speed-ups simply
[flexcoders] Creating a Chart With 50,000 Data Points
Hi, It appears that Flex Charts cannot handle generating charts with large DataSets. We tried with 50,000 data points and it thrashed away without producing a result after 6 minutes. It was able to plot 2,000 points in about 25 seconds. What is the recommended approach for creating charts from large data sets. The best I can think of is to write some code that will reduce the data set in size yet still provide enough data to represent the graph accurately. Thoughts? Ta. Mark
RE: [flexcoders] Re: Pure MVC
My pleasure. _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of samanderson188 Sent: Monday, September 29, 2008 5:40 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: Pure MVC Thank you so much for the links Mark ! -Sam --- In [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com, Mark Easton [EMAIL PROTECTED] wrote: I use PureMVC and also found it hard to understand. I can tell you that I just persisted and now I have a good grasp of it. Took me a solid week to get over the initial hurdle. I just referred to blogs like this and followed them through closely: http://www.as3dp. http://www.as3dp.com/2007/12/27/minimalist-mvc-example-using-the-puremvc-fr a com/2007/12/27/minimalist-mvc-example-using-the-puremvc-fra mework/ I also referred to this often: http://www.websecto http://www.websector.de/blog/2007/12/25/10-tips-for-working-with-puremvc/ r.de/blog/2007/12/25/10-tips-for-working-with-puremvc/ Im glad I am using PureMVC now! Cheers Mark _ From: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com] On Behalf Of samanderson188 Sent: Monday, September 29, 2008 4:54 AM To: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com Subject: [flexcoders] Pure MVC Hi all, I have been working in Flex for couple of months, but I have never used any frameworks before. I am now trying to learn Pure MVC framework, but I guess its a little too complicated for me to understand and I tried referring puremvc.org, still I am facing some trouble to understand ! It will be of great help if anyone can suggest me some video links or some good documentations to refer to make me understand PureMVC ! Thanks, Sam
RE: [flexcoders] Pure MVC
I use PureMVC and also found it hard to understand. I can tell you that I just persisted and now I have a good grasp of it. Took me a solid week to get over the initial hurdle. I just referred to blogs like this and followed them through closely: http://www.as3dp.com/2007/12/27/minimalist-mvc-example-using-the-puremvc-fra mework/ I also referred to this often: http://www.websector.de/blog/2007/12/25/10-tips-for-working-with-puremvc/ Im glad I am using PureMVC now! Cheers Mark _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of samanderson188 Sent: Monday, September 29, 2008 4:54 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Pure MVC Hi all, I have been working in Flex for couple of months, but I have never used any frameworks before. I am now trying to learn Pure MVC framework, but I guess its a little too complicated for me to understand and I tried referring puremvc.org, still I am facing some trouble to understand ! It will be of great help if anyone can suggest me some video links or some good documentations to refer to make me understand PureMVC ! Thanks, Sam
RE: [flexcoders] Pure MVC
Yes it does - PureMVC MultiCore ... This variation supports modular programming, allowing the use of independent program modules each with their own independent PureMVC 'Core'. A Core is a set of the four main actors used in the Standard framework (Model, View, Controller and Facade). This version of the framework uses http://en.wikipedia.org/wiki/Multiton_pattern Multitons instead of Singletons. Rather than storing a single instance of the class, a Multiton stores a map of instances. Each Core is referenced by an associated Multiton Key. The MultiCore Version of the framework was developed due to the widespread need for modular support in a world of ever-more ambitious Rich Internet Applications which must load and unload large pieces of functionality at runtime. For instance a PDA application might need to dynamically load and unload modules for managing task list, calendar, email, contacts, and files. (from Wikipedia) _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Manu Dhanda Sent: Monday, September 29, 2008 3:03 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Pure MVC Hii, Sorry for not being related. But as it came about pureMVC, I was also looking for it. Can someone confirm me that we have some solution in pureMVC for modules? Thanks, Manu. Robert Easton wrote: I use PureMVC and also found it hard to understand. I can tell you that I just persisted and now I have a good grasp of it. Took me a solid week to get over the initial hurdle. I just referred to blogs like this and followed them through closely: http://www.as3dp. http://www.as3dp.com/2007/12/27/minimalist-mvc-example-using-the-puremvc-fr a com/2007/12/27/minimalist-mvc-example-using-the-puremvc-fra mework/ I also referred to this often: http://www.websecto http://www.websector.de/blog/2007/12/25/10-tips-for-working-with-puremvc/ r.de/blog/2007/12/25/10-tips-for-working-with-puremvc/ Im glad I am using PureMVC now! Cheers Mark _ From: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com] On Behalf Of samanderson188 Sent: Monday, September 29, 2008 4:54 AM To: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com Subject: [flexcoders] Pure MVC Hi all, I have been working in Flex for couple of months, but I have never used any frameworks before. I am now trying to learn Pure MVC framework, but I guess its a little too complicated for me to understand and I tried referring puremvc.org, still I am facing some trouble to understand ! It will be of great help if anyone can suggest me some video links or some good documentations to refer to make me understand PureMVC ! Thanks, Sam -- View this message in context: http://www.nabble. http://www.nabble.com/Pure-MVC-tp19717004p19717491.html com/Pure-MVC-tp19717004p19717491.html Sent from the FlexCoders mailing list archive at Nabble.com.
[flexcoders] Delete Object - Why does this not work?
var myobj:Object = new Object(); delete myobj; This returns the error: Attempt to delete the fixed property myobj. Only dynamically defined properties can be deleted. Why is that? So how do I delete myobj when I want to create a new myobj instance?
[flexcoders] RE: Convert String to Date?
I guess I can modify the date format returned by MySQL ... ie date_format(last_modified, '%a %b %e %Y %r') ... but still, flex is pretty limited here. _ From: Mark Easton [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 16, 2008 12:22 PM To: 'flexcoders@yahoogroups.com' Subject: Convert String to Date? Gosh, I cant believe I am asking this question. But, other than parsing the string I cannot see anyway to obviously convert my string to a date format. My string is returned from a SQL query and passed to my app via XML. So my string is in the format: YYY-MM-DD HH:M:SS. This is a standard SQL format. So why can I not easily convert that in to a date format in flex? I have looked at the Date and DateField classes but no help there. DateField.stringToDate for instance only accepts date formats (no time). Date for instance wants a date in the format (as follows) ... var date:Date = new Date(Mon May 1 2006 11:30:00 AM); Hmmm - what a pain! Any one have a solution? TIA Mark http://geo.yahoo.com/serv?s=97359714/grpId=12286167/grpspId=1705007207/msgI d=125320/stime=1221523430/nc1=4507179/nc2=3848641/nc3=4836036
[flexcoders] Convert String to Date?
Gosh, I cant believe I am asking this question. But, other than parsing the string I cannot see anyway to obviously convert my string to a date format. My string is returned from a SQL query and passed to my app via XML. So my string is in the format: YYY-MM-DD HH:M:SS. This is a standard SQL format. So why can I not easily convert that in to a date format in flex? I have looked at the Date and DateField classes but no help there. DateField.stringToDate for instance only accepts date formats (no time). Date for instance wants a date in the format (as follows) ... var date:Date = new Date(Mon May 1 2006 11:30:00 AM); Hmmm - what a pain! Any one have a solution? TIA Mark http://geo.yahoo.com/serv?s=97359714/grpId=12286167/grpspId=1705007207/msgI d=125320/stime=1221523430/nc1=4507179/nc2=3848641/nc3=4836036
RE: [flexcoders] Convert String to Date?
Good stuff - thanks! _ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tim Rowe Sent: Tuesday, September 16, 2008 1:00 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Convert String to Date? I had the same thing just a few weeks ago. Note here that I'm already passing the date back 0-based and not passing the time, but this will essentially do what you want. private function parseDates(data:String):Date { // Get an array of Strings from the comma-separated String passed in. var a:Array = data.split(-); // Create the new Date object. Note that the month argument is 0-based (with 0 being January). var newDate:Date = new Date(a[0],a[1],a[2]); return newDate; } Enjoy. Tim Rowe Software Engineer carsales.com Ltd Level 1, 109 Burwood Road Locked Bag Hawthorn VIC 3211 t: 03 9093 8600 (Reception) t: 03 9093 8757 (Direct) f: 03 9093 8697 From: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com [mailto:[EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com] On Behalf Of Mark Easton Sent: Tuesday, 16 September 2008 10:22 AM To: [EMAIL PROTECTED] mailto:flexcoders%40yahoogroups.com ups.com Subject: [flexcoders] Convert String to Date? Gosh, I cant believe I am asking this question. But, other than parsing the string I cannot see anyway to obviously convert my string to a date format. My string is returned from a SQL query and passed to my app via XML. So my string is in the format: YYY-MM-DD HH:M:SS. This is a standard SQL format. So why can I not easily convert that in to a date format in flex? I have looked at the Date and DateField classes but no help there. DateField.stringToDate for instance only accepts date formats (no time). Date for instance wants a date in the format (as follows) ... var date:Date = new Date(Mon May 1 2006 11:30:00 AM); Hmmm - what a pain! Any one have a solution? TIA Mark http://geo.yahoo. http://geo.yahoo.com/serv?s=97359714/grpId=12286167/grpspId=1705007207/ com/serv?s=97359714/grpId=12286167/grpspId=1705007207/ msgId=125320/stime=1221523430/nc1=4507179/nc2=3848641/nc3=4836036
[flexcoders] How To Access Child From Parent?
Hi, I am having a mental blank moment. If I add a child to a control. How can I access the child from the control? i.e. button = new Button(); control.addChild(button); So via control how can I now access that button? Cheers Mark