Hi LLoydI'm using the compiled widget and it works perfectly. Is there any possibility to include the population variable? I mean, one single point (A) is heater than another point (B) if the value in another field in A is greater than the value in B.
Does this work with proxies? <layer> <useproxy>true</useproxy>
<?xml version="1.0" ?> <configuration> <layers> <layer> <name>Earthquakes HeatMap</name> <url>http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/Since_1970/MapServer/0</url> <outFields>YYYYMMDD,Magnitude,Num_Injured,Num_Deaths,Name</outFields> <useamf>true</useamf> <defaultquery>1=1</defaultquery> <querytemplate>Name LIKE '%REPLACE_STR%'</querytemplate> <types>CHILE,TURKEY,CHINA,PHILIPPINES,JAPAN,IRAN,INDIA</types> <type_descs>Chile,Turkey,China,Philippines,Japan,Iran,India</type_descs> </layer> </layers> <ui> <widget_dimensions> <width>378</width> <height>206</height> </widget_dimensions> <icons> <main_icon>i_rainbow.png</main_icon><!-- Icon must exist under assets/images in viewer --> <main_label>Main Panel</main_label><!-- Title/label for icon across the top widget panel --> <settings_icon>i_options.png</settings_icon> <settings_label>Settings Panel</settings_label> </icons> <refresh_label>refreshing layer...</refresh_label> <query> <comp_label>Earthquakes by geography:</comp_label> <heatmapquery_prompt>default selection</heatmapquery_prompt> <featurecount_label> features contained</featurecount_label> </query> <transparency> <comp_label>Transparency:</comp_label> <defaulttransparency>0.7</defaulttransparency> </transparency> <symbol> <comp_label>Theme:</comp_label> <defaulttheme>RAINBOW</defaulttheme><!-- Must be one of RED_WHITE_BLUE, RAINBOW, or THERMAL --> </symbol> </ui> </configuration>
I would like to show concentration of points on a map. I am thinking of a density map.I was wondering whether the heatmap widget can give me something similar.What api is used to create the heatmap? Do I require any external library?Thanks
Hi Lloyd,I am having one heck of a time implementing this widget! I am attempting to utilize the files in HeatMapWidgetCode\v2\HeatMapWidget\src\HeatMap in my project. I am copying the "HeatMap" folder into my Widgets folder. I am using the default Flex Viewer 2.4 (only adding widgets-no other customization), Flash Builder 4, 4.1SDK ("use SDK default" setting in Library path-Framework linkage). The ArcGISHeatMapWidget will not build the swf in my bin-debug widget folder. The <esri_stl:ProgressMessage and HeatMapThemeView lines both show errors "Could not resolve esri_stl:HeatMapThemeView to a component implementation."I can, however, drop the compiled SWF from your HeatMapWidgetCode\v2\HeatMapWidget\bin\bin-2.4 folder into my bin-debug widgets folder, and it works....Any pointers would be appreciated.Thanks,--Adam
src/widgets/HeatMap src/widgets/HeatMap/layers src/widgets/HeatMap/layers/supportClasses src/widgets/HeatMap/events src/widgets/HeatMap/utils src/widgets/HeatMap/view src/widgets/HeatMap/skins
src/widgets/HeatMap/ArcGISHeatMapWidget.mxml src/widgets/HeatMap/ArcGISHeatMapWidget.xml src/widgets/HeatMap/layers/ArcGISHeatMapLayer.as src/widgets/HeatMap/layers/supportClasses/HeatMapGradientDict.as src/widgets/HeatMap/layers/supportClasses/HeatMapPoint.as src/widgets/HeatMap/layers/supportClasses/HeatMapGradientDict.as src/widgets/HeatMap/events/HeatMapEvent.as src/widgets/HeatMap/utils/ColorMatrixUtil.as src/widgets/HeatMap/utils/StringUtil.as src/widgets/HeatMap/view/ProgressMessage.mxml src/widgets/HeatMap/view/HeatMapThemeView.mxml src/widgets/HeatMap/skins/ButtonBarImageSkin.mxml src/widgets/HeatMap/skins/ButtonBarImageButtonSkin.mxml
from skinClass="com.esri.stl.skins.THE_SKIN_CLASSNAME" to skinClass="widgets.HeatMap.skins.THE_SKIN_CLASSNAME"
xmlns:esri_stl="http://www.esri.com/2010/stl"
xmlns:view="widgets.HeatMap.view.*"
<view:HeatMapThemeView id="heatMapThemeView" themeLabel="{heatmapCompLabel}" theme="{heatmapTheme}" themeSelectionChanged="themeSelectionChangedHandler(event)" />
xmlns:layers="widgets.HeatMap.layers.*"
<esri_stl:ArcGISHeatMapLayer id="heatMapLayer" url="{m_url}" useAMF="true" outFields="" alpha="0.7"/>
<layers:ArcGISHeatMapLayer id="heatMapLayer" url="{m_url}" useAMF="true" outFields="" alpha="0.7"/>
After several tries, I got flex viewer heat map working for my own layer. I realized that I had to include the <defaultquery> 1=1 </defaultquery> tag to be able to show all the points and refresh the browser.I also got some basic query done, thanks to Lloyd's guidance on query, many thanks, guys.I am going a little bit far now: Can I query based on two different fields (first is type, second is status, in my case). I think I would like to try and find out. Probably would need to add another query in the heatmap widgit or create another similar "widgit"? Are there better/easy ways to do multiple queries?
I tried to use my own point layer (arcgis server map service) to replace the earthquake layer as the heatmap layer. I replaced the earthquake layer url with my own url, but it returned 0 feature. What else do I need to check or modify? (I tried to remove the query part in the xml) Do I need to recompile the code? So far I just need to display the points (headmap) without query. Maybe later on I would like to query by the points' type information or a frequency attribute. The viewer looks really nice. I am interested in customizing it for our purpose. I wonder what kind of customization needs recompilation (using flex builder), what customization is just as easy as replacing links or variables and doesn't need to recompile from source code. I am trying to find out myself, but some tips will be very helpful.Thanks!
Hey Oscar, I tested this using an Event based layer through ArcGIS Server, and it works. I've attached a document with some info on this. FYI, you WILL NOT get the best performance publishing this way; but it does work. It also most likely only works with mxd based services [that is what I tested], not optimized (msd) based services. Since it is not optimized it is likely that you might not be able to publish event layers as services in the future, but I don't know that for sure. Good Luck, Lloyd I don't know all of the details of your workflow, but here are some other possible suggestions: You could use the Feature Service in ArcGIS Server to keep your featureclass updated dynamically. Send all your edits through the feature service, and use the feature service as input to the HeatMap widget. You might possibly be able to use the capabilities of using a QueryLayer to support the dynamic nature of your data, and serve that QueryLayer through a map service in ArcGIS Server.
This widget is Excellent!, unfortunately I haven't been able to make it work with table-based dynamic (Event) map services; when running the widget I get the right number of records from the database but all of them are clustered in the (0,0) coordinates (My data is all in WGS84); however if in the MXD I export the temporary event layer to a feature class and then republish my service, it works perfectly. My operational layers are dynamic by nature so I can't afford the task of being regularly saving to feature classes. I was wondering if there is any workaround for this? Much appreciated. Oscar
Is there a way to use equal(=)and not >(>), and is there a way to use a field that is string and not an integer or double? Thanks.
<querytemplate>FIELD_NAME = 'REPLACE_STR'</querytemplate> <types>VAL1,VAL2,VAL3,VAL4</types> <type_descs>Name = 1,Name = 2,Name = 3,Name = 4</type_descs>
Lloyd, great widget! thanks for sharing it.I managed to implement the source code in to my project, haven't made any customizations yet. Right now I just wanted to try it out, but for later projects I might want to use another data source than a mapservice from ArcGIS Server, lets say I get some point data somehow and put them into a graphiclayer for example. How much rewriting of the source code would I have to do to use that as an input instead? I haven't look at the code much yet but I'm guessing it will be really tricky for someone with limited knowledge of flex/actionscript./Mattias
It was simply a design decision, there is a property on the TimeSlider named thumbCount. You can see how it works in this sample Time Slider with 2 thumbs. Unfortunately you would need to recompile the widget in order to make this change, maybe it is something I can do in the next version (whenever that would be) through the configuration file.Lloyd
Works great.Question about the heat map time line function.The residual data does not leave the map as the slider is progressed through the date range.eg, I have 10 various xy points for 1980, then another various 10 points for 1981, but as I move the slider from 1980 to 1981 I no longer have 10 points only I have a cumulative 20 points and thus the heat spot increases. Is this by design? or can it be changed to only reflect the data as requested by the given date range of the slider request.CheersMick.
I tried updating my application, but got 2 errors: <esri_stl:ArcGISHeatMapLayer id="heatMapLayer" url="{m_url}" One for the heatmaptest and the other for the heatmaptime test mxmlCan anyone help?Thanks.
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:esri="http://www.esri.com/2008/ags" xmlns:my_custom_sourcecode="com.mycustomsourcecode" backgroundColor="0x8080C0"> <esri:Map id="map" wrapAround180="true" > <esri:ArcGISTiledMapServiceLayer url="{YourBasemapURL}" visible="true"/> <my_custom_sourcecode:ArcGISHeatMapLayer id="heatMapLayer" url="{YourHeatmapURL}" useAMF="true" outFields="" alpha="0.7"/> </esri:Map> </s:Application>
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.