|
POST
|
Yes, the new 10.1 print workflow will do all of those things and more, except possibly the measurement tool part (I haven't tested that). Thanks. Am looking into it as we speak. But in the meantime, if anyone has clues about regarding the origitanl post, please don't hesitate to chime in. 😉
... View more
01-02-2013
10:31 AM
|
0
|
0
|
949
|
|
POST
|
So why doesn't the new 10.1 printing stuff solve this problem for you? Your custom solution is very cool though, just no longer necessary.... I haven't looked into the new template printing stuff too deeply but currently, the pdf outputs I create from the Flash client take data and maps already cooked up on the client side and create the pdf output. For example: When a user has the overview map open in the client Flash app and click the "print" button, the the print will have an overview map in the corner with the extent box indicating the extent of the main map. Conversely, if the user closes the overview map in the app, the print won't show it. Also, if the user is running the measure tool and clicks the print button, the output print will have the measure results in the map surround area. Also, users can have multiple map services displaying at one time, with varying degrees of transparency in the client map app. Not sure how that would be accomplished via the server side map template stuff. Any advice on whether/if the above stuff can be accomplished using the new server printing functionality would be greatly appreciated. I'd love to ditch my "old" method for making prints but just don't alternate ways to do what I currently have.
... View more
01-02-2013
09:21 AM
|
0
|
0
|
949
|
|
POST
|
Normally I can figure out where exceptions are being thrown but this one is isn't so easy. I've got some pretty old code (see bottom of post) for creating a copy of a map used for pdf generation purposes. For example, in order to create an 8.5x11 landscape pdf, I regenerate my current onscreen map in another offscreen container of the correct dimensions, then send that over to some AlivePDF routines to generate the ouput pdf. This has all worked fine with all AGS/Flex API's up to 3.0. With 3.1 I get the following error sometime after the map copy in the new window is generated but before the map actually draws.
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.esri.ags.layers::Layer/updateLayerIfInvalid()
at com.esri.ags.layers::Layer/updateDisplayList()
at mx.core::UIComponent/validateDisplayList()
at mx.managers::LayoutManager/validateDisplayList()
at mx.managers::LayoutManager/doPhasedInstantiation()
at mx.managers::LayoutManager/doPhasedInstantiationCallback()
I know the above snippet is pretty generic but I'm not sure what else to post here. The error seems to happen after the new container has the cloned map and right after I set the container.visible = true. My guess is that there is something borked in the layers of the new cloned map but since I don't really have a good understanding of how the cloning stuff works, I can't go much further with that. This has always been a kludge process to get PDF's out of these maps and I've never been happy with this process but it is what it is and it's baked into my apps. Basically, the cloning looks like this... I'm sure most folks have seen this setup before. If there is a better way (besides the new map template stuff, which won't work for my needs), please let me know. The below code creates a copy of the main app map, puts it in a bordercontainer and returns the bordercontainer with map. That bordercontainer is put in a titlewindow, off screen and then sent to the AlivePDF generation stuff.
registerClassAlias("com.esri.ags.Graphic", Graphic);
registerClassAlias("com.esri.ags.SpatialReference", SpatialReference);
registerClassAlias("com.esri.ags.FeatureSet", FeatureSet);
registerClassAlias("com.esri.ags.Map", Map);
registerClassAlias("com.esri.ags.layers.ArcGISDynamicMapServiceLayer", ArcGISDynamicMapServiceLayer);
registerClassAlias("com.esri.ags.layers.ArcGISTiledMapServiceLayer",ArcGISTiledMapServiceLayer);
registerClassAlias("com.esri.ags.layers.GraphicsLayer", GraphicsLayer);
registerClassAlias("com.esri.ags.layers.Layer", Layer);
registerClassAlias("com.esri.ags.geometry.MapPoint", MapPoint);
registerClassAlias("com.esri.ags.geometry.Multipoint", Multipoint);
registerClassAlias("com.esri.ags.geometry.Polygon", Polygon);
registerClassAlias("com.esri.ags.geometry.Polyline", Polyline);
registerClassAlias("com.esri.ags.geometry.Extent", Extent);
//Generic Symbols
registerClassAlias("com.esri.ags.symbols.CompositeSymbol",CompositeSymbol);
registerClassAlias("com.esri.ags.symbols.Symbol",Symbol);
//Point Symbols
registerClassAlias("com.esri.ags.symbols.SimpleMarkerSymbol",SimpleMarkerSymbol);
registerClassAlias("com.esri.ags.symbols.PictureMarkerSymbol",PictureMarkerSymbol);
registerClassAlias("com.esri.ags.symbols.TextSymbol",TextSymbol);
registerClassAlias("com.esri.ags.symbols.InfoSymbol",InfoSymbol);
//Line Symbols
registerClassAlias("com.esri.ags.symbosl.LineSymbol", LineSymbol);
registerClassAlias("com.esri.ags.symbols.SimpleLineSymbol", SimpleLineSymbol);
registerClassAlias("com.esri.ags.symbols.CartographicLineSymbol", CartographicLineSymbol);
//Polygon Symbols
registerClassAlias("com.esri.ags.symbols.SimpleFillSymbol",SimpleFillSymbol);
registerClassAlias("com.esri.ags.symbols.PictureFillSymbol", PictureFillSymbol);
for each(var oLayer:Layer in map.layers)
{
if (oLayer is ArcGISDynamicMapServiceLayer)
{
var cLayer:ArcGISDynamicMapServiceLayer = deepClone(oLayer) as ArcGISDynamicMapServiceLayer;
//cLayer.addEventListener(Event.COMPLETE,onLoadDone);
printMap.addLayer(cLayer);
}
else if (oLayer is ArcGISTiledMapServiceLayer)
{
var tLayer:ArcGISTiledMapServiceLayer = deepClone(oLayer) as ArcGISTiledMapServiceLayer;
/* var cLayer2:ArcGISDynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer(tLayer.url);
cLayer2.id = tLayer.id;
cLayer2.imageFormat = "jpg";
cLayer2.addEventListener(Event.COMPLETE,onLoadDone);
printMap.addLayer(cLayer2); */
printMap.addLayer(tLayer);
}
else if (oLayer is GraphicsLayer)
{
var gLayer:GraphicsLayer = deepClone(oLayer) as GraphicsLayer;
printMap.addLayer(gLayer);
}
}
printMap.lods = null;
printMap.scale = map.scale;
printMap.scaleBarVisible = true;
printMap.panArrowsVisible = false;
printMap.zoomSliderVisible = false;
printMap.logoVisible = false;
printMap.useHandCursor = false;
var mp:MapPoint=new MapPoint(map.extent.center.x, map.extent.center.y)
//printMap.centerAt(mp);
printMap.extent=map.extent;
return componentPrintBorderContainer;
deepClone function
private function deepClone ( obj : * ) : *
{
var bytes : ByteArray = new ByteArray();
bytes.writeObject(obj);
bytes.position = 0;
return bytes.readObject();
}
... View more
12-27-2012
01:55 PM
|
0
|
8
|
1253
|
|
POST
|
Hey Royce, Thanks for reporting this. It is a regression bug for version 3.1. As a workaround, you can add the event listener with useCapture = true:
myMap.addEventListener(MouseEvent.MOUSE_WHEEL, myMap_mouseWheelHandler, true);
Here's more information about the capturing phase: http://help.adobe.com/en_US/Flex/4.0/UsingSDK/WS2db454920e96a9e51e63e3d11c0bf69084-7cdb.html#WS2db454920e96a9e51e63e3d11c0bf69084-7cde Hope that helps. Great, will do, thanks. UPDATE: Worked. Thanks again.
... View more
12-18-2012
08:21 AM
|
0
|
0
|
689
|
|
POST
|
I've got an app that needs to do some stuff when a map mousewheel event is dispatched. With the 3.0 API this worked fine but with the 3.1 API, the event isn't being dispatched. The map does zoom in/out when mousewheel is used but the mousewheel event simply never gets triggered. Can anyone verify this? Is this now by design (cringe)? -Royce
... View more
12-18-2012
07:09 AM
|
0
|
2
|
1537
|
|
POST
|
At 10.1, map service does not support any embedded service layer. Thank you for the response. Just to be clear... the words that I heard at the UC by esri staff, that... "there is a workaround" is false and there is no way, no how to get 10.1 do do this?
... View more
11-07-2012
08:42 AM
|
0
|
0
|
1088
|
|
POST
|
I've been struggling with a multi-machine site for months... even with SP1 if I reduce the machines to 1, the services, both in Catalog and web REST endpoints retrieval are very fast. As soon as I add 2+ machines to that site (all VM's of the same specs as machine 1) the performance of the services drops dramatically, to the point of being unusable in any way. I'm attempting to configure a site that has 2 machines in one cluster for exposing map services to the public and one cluster with 5+ machines specifically for caching purposes. From what I can tell, one of the big selling points of AGS 10.1 is scalability, flexibility. I'd like to be able to pragmatically be able to move machines from one cluster to the other based on load, caching regimens, etc... Can't do that if I have multiple sites. Anyway, I sure hope 10.1 can iron this out. If not, it seems that 10.1 is the new Windows Vista. Please help prove that prediction wrong esri.
... View more
11-06-2012
05:56 AM
|
0
|
0
|
1130
|
|
POST
|
I've got several mxd's that I'm publishing with all their layers off by default and get the below error. The services publish anyway but are stopped. I simply start them and they are good to go. I would be great not to get this error though.
Executing (Publish Service Definition): PublishServiceDefinition ... #
{"buildInitialCache":false}
Start Time: Fri Oct 26 14:42:39 2012
Validating publish options.
Connecting to the server.
Getting basic item metadata for service definition upload.
Getting server information (server folders, data stores, etc.).
Extracting manifiest from uploaded service definition.
Validating service definition.
Determining service's input folder name.
Attempt to find service's input folder.
Creating the service.
ERROR 001170: The reduced study area polygon is too small for analysis.
Failed to execute (UploadServiceDefinition).
Failed at Fri Oct 26 14:42:41 2012 (Elapsed Time: 3.00 seconds)
... View more
10-26-2012
12:48 PM
|
1
|
24
|
12214
|
|
POST
|
I'm running into these issues as well. Support tries to help, but they're really not. I followed your steps and saw a huge portion of my map that the status.gdb thinks is successful but has 0 tiles... Is there anything I can do to tell it those tiles are empty? My computer crashed during my initial caching (6 days in) and I have not been able to restart it. I followed support's steps but I've finally given up and deleted it completely. I've just begun re-caching it from the start. This time I'm using exploded instead of compact because I suspect it's compact that's causing my problems. If it succeeds I'll run the processing job to change it to compact. In the meanwhile- does anyone know how to restart failed jobs? All I've witnessed so far is it creating empty bundles for all those that need to be created, then reporting as a success... when it is not. Thanks I haven't found anything to get the caching status or job reporting/cancellation stuff to work to any level of confidence. I've run about 10 caches now in 10.1 to the tune of about .5TB of compact bundles and every one of them reports "0% tiles complete". I've given up on all that cache status reporting stuff and just go to the cache folders and check the total size on disk of all the tiles for each cache... if they report somewhere close to what I had in 10.0x, then I don't worry about it. Hopefully SP1 will fully address these issues. Esri, what is the ETA on SP1 and will it address any of these caching status reporting issues?
... View more
10-23-2012
07:56 AM
|
0
|
0
|
2198
|
|
POST
|
At AGS 10.0x I have a map service that has an embedded WMS service in it. The reason for this is because the WMS service is in a projection different than my data and other map services. I put it in an mxd, re-project on the fly, and publish as a map service in the appropriate projection. Now, at 10.1, I can't publish a map service with any embedded layers that happen to be map/wms services themselves. I understand the performance issues in doing the whole embedded map service thing but at this point, doing that is the only way I can get certain data feeds into my web apps. I thought I heard that "there is a workaround" for this at the UC this summer. Is anyone aware of what it might be? Conversely, I'm trying to get weather radar data from this site to overlay my map services, which are in state plane. Does anyone know of a way to do that? Thanks much, -Royce
... View more
10-22-2012
01:56 PM
|
0
|
7
|
2516
|
|
POST
|
Thanks Meg for the reply. Currently, any attempt I make to "manage map server cache status" on any cached service results in "0.0% of the tiles are present" even though the cache folders for that service are chock full of bundles. I've no clue how to rectify that so that I can get map cache status' to report properly. I can see that there is a status.gdb geodatabase and there are shapes with stats and that all looks good, but I can't get ArcCatalog or the web Manager to report anything other than "0.0% of the tiles are present". I've resorted to looking at the size of each of the scale level folders (L1, L2... L15) to determine if they seem complete or not. -r
... View more
10-11-2012
11:19 AM
|
0
|
0
|
2198
|
|
POST
|
I've been attempting to cache a bunch of map services on 10.1 for a few weeks now. Some complete in one shot, others take several attempts and even then, I'm not sure if they are complete or not. The Caching status dialogue has yet to show results that give any confidence. The "job Status" tab on the Cache Status details dialogue has jobs that are "processing" even though the servers aren't doing anything and I can't seem to cancel them. I've attempted to run the "manage map server cache status" tool with no success (even though the tool reports "success" after completing). After running that tool, I get "0.0% of the tiles are present" even though I can view the service in the JavaScript viewer and see that there tiles present. I can even open the status.gdb fgdb and get all kinds of info. Is it reliable? I'm very excited about where AGS 10.1 is going but wow, caching in 10.1 is like herding very temperamental cats. You can view/manage caching related activities from the service itself (by right clicking the service in catalog), going to the "server" tools in catalog or interacting (to a certain extent) with the service in the web based manager. There are tools for caching and reporting on caching and there are are services that do the same. You can run the jobs synchronously (same as "wait for job completion"?) or asynchronously (why not just always async?) report status via map service, or not (I haven't figured that one out yet). Each avenue has different UIs, capabilities, inputs, outputs, etc. Any insight into this tricky caching business would be helpful. I've read through most (I think) of the online documentation but even then, there are enough "notes", "tips", "caution" and "legacy" statements that honestly it's hard to keep track of what the best path is. Also, it would be great to see what bugs have been reported/accepted but I can't seem to find any esri pages for that. Esri, didn't you open that up a year or so ago?
... View more
10-09-2012
08:24 AM
|
0
|
16
|
6835
|
|
POST
|
I figured I'd piggie back on this thread since the title has my issue in it. I've got 39 instances available for caching (I have 40 cpu's dedicated: 39 for the caching + 1 for the controller instance) a service and yet when I run the cache the number of instances in use seems to fluctuate between 15 and 35 but never gets to 39 and usually hovers somewhere in the 20's. On the face of it, it seems like the caching job isn't running at full throttle. What can be done to get the cache job to run as close to the 39 instances for as long a sustained period of time as possible?
... View more
10-01-2012
02:36 PM
|
0
|
0
|
1411
|
|
POST
|
My max instances in the Caching Tools Service is 17. My min was 0, so I changed that to 1... not sure if that will do anything.. I'm going to try to run again I'd drop back to 15 or 16... one more than your machine has cores was the 10.0 model. Seems like the new way is "one less". Actually... it's "one less" than the total... so if you are running 4x4core machines (sixteen total) you'd cache with 15 instances. When you have a single 16 core machine.. I'm not sure what you'd set the caching instances to. By the way, you don't have to set the max instances per machine for the map service itself to the number of instances you want to cache at... only the "cachingtools" service needs to be set to that high number. See this ags 10.1 help doc for the deats. http://resources.arcgis.com/en/help/main/10.1/#/Allocation_of_server_resources_to_caching/0154000003sp000000/
... View more
09-28-2012
10:29 AM
|
0
|
0
|
1411
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 07-21-2020 10:08 AM | |
| 1 | 05-30-2018 02:39 PM | |
| 5 | 02-13-2015 10:07 AM | |
| 3 | 12-03-2019 09:48 AM | |
| 1 | 10-22-2015 01:15 PM |
| Online Status |
Offline
|
| Date Last Visited |
03-24-2021
06:29 PM
|