|
POST
|
I hate answering my own posts, but the problem here lies in the 64-bit background processing. If the 64-bit background processing is installed on your desktop, the mobile python tools will not run using the [MSC v.1500 64 bit (AMD64)] on win32 python target. They must run in 32-bit. So, either un-install 64-bit background processing and change the python registry in regedit to re-point the python IDLE to run in the [MSC v.1500 32 bit (Intel)] target, or run mobile on a machine that has a 10.2 desktop install WITHOUT the 64-bit background processing module installed. Hope this helps- David
... View more
12-04-2013
08:26 AM
|
0
|
0
|
794
|
|
POST
|
Hello- We have found (and keep finding) many tools related to server and mobile that will not run in the 64-bit IDLEs. Currently, neither the mobile cache creation or synchronization tools will run in the: [MSC v.1500 64 bit (AMD64)] on win32 IDLE and Shell but rather will only run in the: [MSC v.1500 32 bit (Intel)] on win32 IDLE and Shell. The same is true for some of the server module tools such as arcpy.server.StageService and arcpy.server.UploadServiceDefinition. The most frustrating thing of course is that as a developers/scripters, we have no way of knowing which tools will run in which targets! The only way I have found to work around this obvious oversight is to make a registry change to my desktop IF I have installed the 64-bit background processing module, OR run a seperate installation of AGS10.2 without the said module. I welcome any comments or suggestions- Thanks David
... View more
12-04-2013
08:11 AM
|
0
|
1
|
2950
|
|
POST
|
Hello- The Mobile Tools 10.2 modules are not being found by Python 2.7 IDLE when trying to run a CreateMobileCache from the Python 2.7 IDLE. Has anyone encountered this or is there a workaround? Thanks David
... View more
11-08-2013
08:42 AM
|
0
|
1
|
1826
|
|
POST
|
Hi Tracy- I am a bit new to the JavaScript world, having recently migrated over from the flex api world in the last three months. I began working quite a bit with Jeff Pace recently, whom I'm sure you recognize from this forum, he's in a neighboring county. On a recent project returning feature query results to an onDemand Grid, I used the following. It's all AMD, so hopefully this will help, please forgive the length of my post. BTW, nice app. : Requires (dgrid specific): "dojo/data/ItemFileReadStore", "dojo/store/DataStore", "dojo/store/Memory", "dojo/date/locale", "dgrid/OnDemandGrid", "dgrid/Selection", //only for dgrid with attribute fields from feature layer (obviously I requrie array, on, dom etc) Aliases: ItemFileReadStore DataStore Memory locale declare array In my ready function, initialize the the grid, store it in a div: Some column formatters are inlcuded (are project specific) /*var gridEvac = new (declare([Grid, Selection, TextSymbol]))({ bufferRows : Infinity, noDataMessage : "No Evacuation Zone!", columns : { EvacuationZone : "Evacuation Zone", /*datetime : { "label" : "Date/Time", "formatter" : function(dtStorm) { return locale.format(new Date(dtStorm)); } },*/ SurgeHeight : "Surge Height Range", Hyperlink : { "label" : "Emergency Services", "formatter" : function(link) { return "<a target='_blank' href=https://www.scgov.net/AllHazards/Pages/default.aspx>Click Here</a>"; } } } }, "divGrid"); setting an output fields array to pass to return array from our feature results query in a results function e.g: var outFieldsEvac = ["EvacuationZone", "SurgeHeight"]; function populateGrid(results) { var dataEvac = array.map(results.features, function(feature) { //Reference the attribute field values and set up the return to pass to the grid return { "EvacuationZone" : "Zone " + feature.attributes[outFieldsEvac[0]], "SurgeHeight" : feature.attributes[outFieldsEvac[1]] }; }); //Then // Pass the data to the grid var memStore = new Memory({ data : dataEvac }); gridEvac.set("store", memStore); gridEvac.renderArray(dataEvac); } //populateGrid function close Lastly, if you wish to clear items from the grid: function removeInfoGraphics() { //mapMain.infoWindow.hide(); //mapMain.graphics.clear(); var clearStore = new ItemFileReadStore({data: {identifier: "", items: []}}); gridEvac.setStore(clearStore); //clears the grid, kudos Michael! }; Then some simple styling in a separte css file: #divGrid { width: 100%; } .dgrid { border: none; } .field-EvacuationZone { width: 20%; } .field-SurgeHeight { width: 20%; } .field-Hyperlink { width: 20%; } Thanks- David
... View more
10-30-2013
08:43 AM
|
0
|
0
|
1751
|
|
POST
|
Hi all- Turns out I had a bit of a 500 and a 400 error. In the code below, we are calling in a local network analysis layer that has a different wkid than WebMercator, 2882 vs 3857. So, because I was not explicity setting the outSpatialReference to a new outSpatialReference, the route graphic could not draw. I also had a oversite with my onSolveComplete event callback. Here is the functioning code: routeTask = new RouteTask("https://ags2.scgov.net/arcgis/rest/services/ScOperational/RoutingService/NAServer/Route"); //routeTask = new RouteTask("http://tasks.arcgisonline.com/ArcGIS/rest/services/NetworkAnalysis/ESRI_Route_NA/NAServer/Route"); routeParams = new RouteParameters(); routeParams.attributeParameterValues = [{attributeName: "Oneway", parameterName: "Restriction Usage", value: "Prohibited"}, {attributeName: "RestrictedTurns", parameterName: "Restriction Usage", value: "Prohibited"}]; //routeParams.outSpatialReference = mapMain.SpatialReference; routeParams.outSpatialReference = new SpatialReference({"wkid": 3857}); //2882 routeParams.returnRoutes = true; routeParams.returnStops = true; routeParams.returnDirections = true; routeParams.directionsLengthUnits = Units.MILES; routeParams.impedanceAttribute="Length"; routeParams.stops = new FeatureSet(); connect.connect(routeTask, "onSolveComplete", showRoute); //routeTask.on connect.connect(routeTask, "onError", errorHandler); function addStop(evt) { stopSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CROSS, 15, new SimpleLineSymbol( SimpleLineSymbol.STYLE_SOLID, new Color([89, 95, 35]), 2 ), new Color([130, 159, 83, 0.40]) ); var stop = new Graphic(evt.mapPoint, stopSymbol); mapMain.graphics.add(stop); routeParams.stops.features.push(stop); if (routeParams.stops.features.length >= 2) { routeTask.solve(routeParams); lastStop = routeParams.stops.features.splice(0, 1)[0]; //what does? } console.log(routeParams.stops.features.length); } function showRoute(solveResult) { routeSymbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASH, new Color([0, 0, 254]), 3); mapMain.graphics.add(solveResult.routeResults[0].route.setSymbol(routeSymbol)); console.log(solveResult.routeResults[0].route); } function errorHandler(err) { alert("An error occured\n" + err.message + "\n" + err.details.join("\n")); routeParams.stops.features.splice(0, 0, lastStop); //what does? mapMain.graphics.remove(routeParams.stops.features.splice(1, 1)[0]); } Thanks All
... View more
10-15-2013
08:24 AM
|
0
|
0
|
1597
|
|
POST
|
Thanks Steve, What I'm finding is that the route is solving upon adding a third graphic, but the graphic route is not displaying on the map. For some reason the line symbol is simply not returning as a graphic. But thanks for looking at this. No luck on my end with your fix, but I certainly appreicate it- David
... View more
10-14-2013
03:15 PM
|
0
|
0
|
1597
|
|
POST
|
Hello- If anyone can provide assistance with the following code, that would be great. The code works, a route is defined using our internal NA, but does not draw a graphic route upon returning results. I feel certain I have mis-called the route results, and/or am not passing in graphics correctly. Here is the code. It is culled from the existing sample, I have attempted to update syntax to 1.9 var mapMain, routeTask, routeParams, stopSymbol, routeSymbol, lastStop; // @formatter:off require([ "esri/map", "esri/geometry/Extent", "esri/graphic", "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleLineSymbol", "esri/tasks/FeatureSet", "esri/tasks/RouteTask", "esri/tasks/RouteParameters", "esri/tasks/RouteResult", "esri/units", "dojo/parser", "dojo/ready", "dojo/_base/Color", "dijit/layout/BorderContainer", "dijit/layout/ContentPane"], function( Map, Extent, Graphic, SimpleMarkerSymbol, SimpleLineSymbol, FeatureSet, RouteTask, RouteParameters, RouteResult, Units, parser, ready, delcare, Color, BorderContainer, ContentPane ) { ready(function() { mapMain = new Map("cpCenter", { basemap : "streets", extent : extentInitial, lods : myLods, showAttribution: false, }); mapMain.on("click", addStop); routeTask = new RouteTask("https://ags2.scgov.net/arcgis/rest/services/ScOperational/RoutingService/NAServer/Route"); routeParams = new RouteParameters(); routeParams.attributeParameterValues = [{attributeName: "Oneway", parameterName: "Restriction Usage", value: "Prohibited"}, {attributeName: "RestrictedTurns", parameterName: "Restriction Usage", value: "Prohibited"}]; routeParams.outSpatialReference = mapMain.SpatialReference; routeParams.returnRoutes = true; routeParams.returnStops = true; routeParams.returnDirections = true; routeParams.directionsLengthUnits = Units.MILES; routeParams.impedanceAttribute="Length"; routeParams.stops = new FeatureSet(); routeTask.on("solve-complete", showRoute); routeTask.on("error", errorHandler); function addStop(evt) { stopSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CROSS, 20, new SimpleLineSymbol( SimpleLineSymbol.STYLE_SOLID, new Color([89, 95, 35]), 2 ), new Color([130, 159, 83, 0.40]) ); var stop = new Graphic(evt.mapPoint, stopSymbol); mapMain.graphics.add(stop); routeParams.stops.features.push(stop); if (routeParams.stops.features.length >= 2) { routeTask.solve(routeParams); lastStop = routeParams.stops.features.splice(0, 1)[0]; //what does? } console.log(lastStop); } function showRoute(solveResult) { routeSymbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASH, new Color([254, 0, 0]), 3); mapMain.graphics.add(solveResult.routeResults[0].route.setSymbol(routeSymbol)); } function errorHandler(err) { alert("An error occured\n" + err.message + "\n" + err.details.join("\n")); routeParams.stops.features.splice(0, 0, lastStop); mapMain.graphics.remove(routeParams.stops.features.splice(1, 1)[0]); } }); }); Thanks David
... View more
10-14-2013
11:13 AM
|
0
|
4
|
3603
|
|
POST
|
Hi all- For those that are interested, it would appear that the parseOnLoad option must be set within the dojoConfig section when configured for asynchronous module loading in your index.html at 3.7: <script> var dojoConfig = { async : true, parseOnLoad : true }; </script> As such, I would consider this thread answered David
... View more
10-04-2013
11:23 AM
|
0
|
0
|
1239
|
|
POST
|
Hi all, I'm noticing an exent shift upon map load event at the 3.7 api that was not present at the 3.6 api. For example, the exent: var extentWM = new Extent({ "xmin": -9223319.21340548, "ymin": 3108650.4632008513, "xmax": -9102472.271686783, "ymax": 3178361.032996838, "spatialReference" : { "wkid" : 102100 } }); seems to shift my map some 40 km south of where it should be on load. A tiled and dynamic map service are both configured as web mercator. If anyone has any ideas, that would be great. Thanks, David
... View more
10-03-2013
11:12 AM
|
0
|
3
|
1452
|
|
POST
|
Hi Jeff- Last week I was testing, getting funny results with my Extent vars in 3.7, haven't been able to figure it out yet. So while I didn't think the api was broken, nor did I try to download it, I couldn't figure out the shift I was seeing in my 3857 wkid at 3.7 David
... View more
10-01-2013
11:33 AM
|
0
|
0
|
3113
|
|
POST
|
Hi Jeff- I'm working with a FeatureLayer for Sarasota County Evacuation Zones app, and am curious about the maxAllowableOffset parameter at 3.6. I'm having some performance issues with the surge layer, and I believe that at 3.6 this value is auto-calculated upon an extent change. Is there a better way to set it explicitly? Thanks David
... View more
09-13-2013
09:23 AM
|
0
|
0
|
1263
|
|
POST
|
Yes, yes, yes, well described . . . and thanks again. I'll let you get back to your 3.4 changes 🙂
... View more
07-11-2013
10:13 AM
|
0
|
0
|
2553
|
|
POST
|
Thanks Robert, works like a charm. Let's see, if I'm following the programming logic correctly, the original variable typeID string in the layerDetails if block is set to return the attributes of any given field and when employed on a subtype field or codedDomain field the reutrn will be descriptions as designed. But when both subtypes and coded val domains descriptis are to be returned, the typeID has to essentially be cleared first, then set to return the decripts and not the codes... Anyway, hope I haven't embarrased myself to badly here, please feel free to correct me and it's always a pleasure working with you. I'll shoot you a url when I put up a release build-- Thanks Again- David
... View more
07-11-2013
08:57 AM
|
0
|
0
|
2553
|
|
POST
|
Hi Robert- Thanks for the reply. Yeah, For us here in southwest Florida, hurricane season preparations tends to backlog my update frequency. Yes I am using the source code version if I understand you correctly, although I typically download from the eSearch.zip Code Attachement download section, and not from github. I'll be updating to 3.4 very shortly, and so wasn't going to spend alot of time on this, unless you had something already forked on github for this version, or had could direct me to a particular function in the mxml.
... View more
07-11-2013
06:54 AM
|
0
|
0
|
2553
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 07-01-2026 05:41 AM | |
| 1 | 06-26-2026 12:39 PM | |
| 6 | 06-25-2026 07:23 AM | |
| 1 | 06-17-2026 06:04 AM | |
| 1 | 06-08-2026 08:37 AM |
| Online Status |
Offline
|
| Date Last Visited |
Thursday
|