Tag Info

Hot answers tagged

13

I would assume that you would just like for any live web map service, you make your map server 'think' as little as possible. In other words, pre-compute everything that you can. Put all of your data in the same SRS so there is no projection happening 'on-the-fly'. Create spatial indexes on your data. Build generalized overviews of your data and use scale ...


9

You may have already done this but it's worth mentioning for others that might come along. Spending some time using the Map Service Publishing toolbar in ArcMap can make a world of difference in the performance of a dynamic map service. The Analyze Map tool works well for finding issues that slow down map services. Also, saving and publishing as a map ...


7

The only attribute table accessible through Dynamic Text is the attribute table of your Data Driven Pages index layer. I'm assuming your Data Driven Pages map book is based off of your grid layer, and if so then you're in luck. Using a dyn tag of type 'page', you can access any property of the index layer <dyn type="page" ...


7

A few other points to add to DavidF's answer: If you can, make sure to use an optimized (MSD) based service. They do draw faster than a regular (MXD) service, and the process of creating the MSD service will run some analysis on your map which can expose issues that could lead to slow draw times. Use simplified renderers where possible. Avoid complex ...


6

Not fully dynamic, but in general this python code snippet will update a text element with the topmost layer name that is turned on in the defined dataframe: mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] # default Layers dataframe for lyr in arcpy.mapping.ListLayers(mxd, "*", df): if lyr.visible == True: ...


5

A couple of ways to accomplish these types of tasks. 1. Round ([myfield], 2) This works for field calculator, labeling, etc. 2. in the layer dialog left click the label column and select format labels 3. select the number format in the field properties and change the number of decimals.


4

This from Jeffrey Barrette, an ESRI employee: "No. Dynamic Text provides many different formatting options for dates, times, coord systems, etc but it does not provide the logic to perform mathematical operations. You would need to incorporate Python and then use arcpy.mapping to update text elements in a layout."


4

I'm not really sure what you mean by "let's say that the KML is moving", but if you want to change the location of a popup after it has been created, here's how you do it: // Set the new lonlat location. popup.lonlat = new OpenLayers.LonLat(popup.lonlat.lon - 1, popup.lonlat.lat - 1); // Tell OpenLayers to update the popup's location on the map. ...


4

Is dynamically generating Choropleth maps a solved problem? No. The in-browser examples you point to use simplified shapes for the world's countries. This fits into most browser's processing and memory constraints. If you were to make a choropleth of, for instance, census blocks, every browser would crash. The geographic data matters. There's no ...


4

Set it as a File type. You can use parameter validation to ensure the file extension is ".pdf" or as @blah238 notes, use the filter option to restrict file type to pdf.


3

It may be that what you are looking for is to be able to flow/wrap text within rectangular text elements. How to do this is documented here.


3

Just to make sure I get this right, let me restate what I think it is you want: You want to create the symbology for a dataset that isn't finalized yet so that when you get the final version you can just load it up and have it symbolized already without adjusting anything... is that correct? If so, you can simply symbolize how you want your data to look ...


3

CORRECTION TO BAD ANSWER: Just hit the circled tab in my printscreen.


3

I finally figured it out. The problem was that the shapefile was joined with a table and therefore would not display any dynamic text. I thought that a join wouldn't impact the dynamic text but apparently it does.


3

11.Type the following for the text: Coordinate System: dyn type="dataFrame" name="Detail Map" property="sr" srProperty="name"/ dyn type="dataFrame" name="Detail Map" property="sr" srProperty="projection" preStr="Projection: " newLine="true" emptyStr=""/ dyn type="dataFrame" name="Detail Map" property="sr" srProperty="datum" preStr="Datum: " ...


3

I managed to figure this out... My code now iterates through feature classes, requests a field name, calculates fields, deletes unwanted fields. And then joins the left over fields to each other with a spatial join. I was stuck on adding the interactive tkinter dialog box in the first loop, and the delete field text at the end of the first loop. I still have ...


3

Here is what really happens. A Vector Layer is basically just a container for Graphics in the map. It can come from WFS, a GeoJSON file, GeoRSS, KML, an Ajax Request (like in your case), from a drawing control of the map, and many more. A Vector Layer has an array of features. If a protocol has been set for the layer (i.e. You have told the layer where to ...


3

What you want is available starting from QGIS 2.6 and is called Virtual Field. Just create a new attribute, select "Virtual Field" and insert the expression used to calculate the new column. For your case: CASE WHEN "Age" < 18 THEN 'Child' ELSE 'Adult' END You can use a recent nightly build / test build to use this new feature. The value relation ...


3

You should name your elements in the map so that they can be referenced by the element.name property. See the text element docs for elm in arcpy.mapping.ListLayoutElements(thisMap, "TEXT_ELEMENT"): if elm.name == 'TestName' #reference by named element here elm.text = str(row[1]) #do work here


2

This actually makes the geotools faq page for gt-swing. The real answer is to use JMapPane as an example (because that is what it is) and build your own widget using a number of layers for a fast response. You may also find the spatial indexed back feature collections useful in providing a fast experience if you don't mind holding your data in memory. ...


2

On the following line: for lyr in arcpy.mapping.ListLayers(mxd, "", df)[0]: Try removing the [0] at the end. With this you're looking for lyr inside a single layer object. By taking out the [0] you should be able to loop over and search by name like you want


2

So assuming 'SApeelfinal' is defined in the setup and the dynamic text is Label_1 Any field in the DataDrivenPages index layer table can be used as dynamic text. Use the format: <dyn type="page" property="Field_Name_Goes_Here"/> <dyn type="page" property="Label_1"/> So you could have different text boxes with the following dynamic text but ...


2

Parse (using python/etc) RSS feeds from local authorities. Tough, but free. It's a bit of work up front, but then you can write the data directly into your own feature classes, and reserve yourself. Kind of like ESRI's new geoEvent processor Server extension, but all custom through python. I update my services every hour - so far so good. I pull about 500 ...


2

If you're using REST API, then it seems to me you could do this without arcgis server. When a request comes in for a map, return a json string compliant with the REST API spec, representing new locations. With windows, this could be done by implementing a WCF Rest service. The service would keep an array of vehicles in memory. Each vehicle would have ...


2

I'm going to disagree with Ken here (sorry Ken) and say this should work as you describe. If you add a new attribute to a dynamic schema it should get added to the output. In fact, I've tried it myself and it seems to work, so I don't know why it isn't happening for you. I've posted my example to Dropbox for you to check out. It uses 2014 but the same ...


1

Right-click the overflowing dynamic text line, open its properties, copy the text out of it, and paste it into a new text box that fits your layout the way you want. Or you can start from scratch and create the data-driven text the way you want it. The various dynamic text elements (page number, document title, etc.) are all just tags that can be inserted in ...


1

I don't believe it is possible to change the paths of picture elements in map documents with Data Driven Pages (there may be a way with Production Mapping, but I don't have access to that extension so I couldn't tell you). However, it is possible to do this in Python using the Mapping module of ArcPy. You would add a placeholder picture in your map document ...


1

Using JSP and ArcGIS javascript API with ArcGIS Server services / REST API is a fine combination. You can implement all the requirements that you've stated. With the js api, your server-side scripting language / framework becomes completely agnostic. FYI, if you need a nice interactive, sortable, searchable javascript data grid. Check out Data Tables -- it's ...


1

The scale property applies to the map, not the individual layer, so you can use map.getScale() to display it. You can get the map's level using map.getLevel(), but as you identified this only applies if there is a tiled layer in the map.


1

did you try to update your vector layer after this vectorLayer.addFeatures(vectordArray) as shown at following code: vectorLayer.redraw(); if this not work try to get all features from map into an array and then merge them with your new array then add them to map as if you are adding first time into map... ...



Only top voted, non community-wiki answers of a minimum length are eligible