finding the correct transformation (from EPSG:31300 to EPSG:4326) or how to store two srid in one table

I have a very specific problem. I have data crossing two coordinate-systems, more specifically: the Netherlands and Belgium. Previously the data was stored in one table in Oracle, using the RD coordinate system. When showing the data from Belgium, it was converted using the Oracle command `SDO_CS.TRANSFORM` back to the Belgian coordinate system (Lambert 72) and all was well. Now I am moving to geoserver, and rendering using openlayers, on top of openstreetmap or google maps background. I notice the Belgian data (which is stored in RD) is shifted. If I create a table with the original Belgian data (in Lambert 72 without transformation), it is rendered correctly. So my first guess: the Oracle transformation from LB72->RD is wrong. But if geoserver does the transformation it is correct (since it renders the original Lambert 72 data correctly on the google maps background). So I imported the data from one table to Postgis, and do the transformation there (using `ST_transform(geom, 4326)` and I see it is even more wrong :) So at this moment I have a problem:   * I have data in two coordinate systems, which belong in one table since it is border-spanning (it is a pipeline)   * the data is rendered correctly, by geoserver, if using the original coordinate system   * it is not if the belgian data is "transformed" using database tools (`SDO_CS.TRANSFORM` or `ST_TRANSFORM`) My question:   * how can i correctly transform belgian data to a coordinate system that can be rendered correctly on top of google maps or openlayers (I was considering WGS84 or ETRS89, as a shared coordinate system for both my RD and Lambert72 data)   * or alternatively: how can I store two coordinate-systems in one table? (it is not possible in Oracle, is it possible in Postgis?)   * or alternatively: how does one generally handle data that spans several coordinate systems?  Any help is greatly appreciated :)


What is the equivalent of arcpy "Con" in QGIS and/or R raster-package?

I'm looking for an equivalent of the conditional expression "Con" from arcpy in an open source spatial analysis package. I'd prefer to use QGIS or R. To provide some additional detail, I need to evaluate some moderately complicated conditional statements in map algebra, e.g., if the value for one raster is above a certain threshold, use one value, but if the value is below that threshold, use a value based on whether _another_ raster value is above or below another threshold, e.g.:               newraster = Con(raster1 < 4, 0, Con(raster2 > 3, 0.5, 1))      Caveat: I have not been able to confirm that the above code will execute, since the machine I'm currently using does not have any ESRI products installed.


Question regarding area overlap

I'm using land use data, and report the proportion of each sub-catchment that is used for “Grazing Modified Pastures” and “Irrigated Modified Pastures”. ![screenshot of layers](http://i59.tinypic.com/ipmre0.jpg) I'm essentially focused on these two layers, I need to know how much of catchment area falls within Grazing Modified Pastures and Irrigated Modified Pastures. What is the best way to process this in ArcMap 10?


Migrating a Data Directory from 2.1.4 to 2.4.3

Recently, I got a new server and I installed the latest Geoserver version (2.4.3.). Now I need to migrate all data (layers, stores, styles, users, workspaces, postgis stores...) from older geoserver 2.1.4 to the new one. Anyone know how can I do it? Just move the data directory ? Best regards


Why is ArcGIS called ArcGIS?

I know there was ArcInfo Workstation and some other older software that Esri has developed for taking care of land use polygons management. But how did this "Arc" came into the name? Is it simply because of the arc which is a geometric element representing a vector feature? I am asked quite often and frankly speaking don't have a sound answer to this question.


How to create equidistant points in QGIS along a polygon?

I am looking for a solution to distribute with a python script equidistant points in QGIS along a polygon. I tried to use the following code example: http://nathanw.net/2012/08/05/generating-chainage-distance-nodes-in-qgis/ Using in my example (running over each polygon from a polygon shape file):               # Reading a polygon layer     pp_layer = QgsVectorLayer("poly.shp" , "polylyr", "ogr")          # create layer to store result"     pntl = QgsVectorLayer("Point", "name", "memory")      pr = pntl.dataProvider()            for feature in pp_layer.selectedFeatures():        geom = feature.geometry()             currentdistance = self.distance        feats = []            # geom.asPolyline()        while currentdistance < length:            point = geom.interpolate(currentdistance)           print point           fet = QgsFeature()           fet.setGeometry(point)           feats.append(fet)           currentdistance = currentdistance + self.distance        pr.addFeatures(feats)      However, when running the code, if fails. I got an error message in the python console               Traceback (most recent call last):     File "<input>", line 1, in <module>     File "/home2/fun.py", line 92, in run_fun     fet.setGeometry(point)     TypeError: QgsFeature.setGeometry(QgsGeometry): argument 1 has unexpected type 'NoneType'      an I got an errormessage from qgis                   ERROR 1: IllegalArgumentException: LinearIterator only supports lineal geometry components      Does anyone has an idea, if i have an error in my code or is it not possible to solve the question with this approach? I am using qgis 2.0.1. Thanks for any hint.


How to get features based on their attributes using Python - special characters?

I want to get features based on their attributes and it works fine when I use this Python script:               canvas = iface.mapCanvas()     curLayer = canvas.currentLayer()     it = curLayer.getFeatures(QgsFeatureRequest().setFilterExpression('"ELAVSNAVN" = \'Fraugde By, Fraugde\' and "MATRNR" = \'15g\''))          for baseFeature in it:         print baseFeature.id()      But nothing is returned when I use special danish letters as shown in this example:               it = curLayer.getFeatures(QgsFeatureRequest().setFilterExpression('"ELAVSNAVN" = \'Åsum By, Åsum\' and "MATRNR" = \'10a\''))      What can I do solve this problem ?


Why Different 2D Coordinate Transformation Methods Exist

It is a homework question but I couldn't find a satisfactory answer by googling. There are 4 different transformation approaches I'm asked for:   - Conformal,   - Affine,   - 2D Projective,   - 2D Polynomial   I know there are more than these. And I saw how they are implemented, the transformation process, their results etc. The thing I need to know is the task they are used. When should I use 2D Projective transformation and why shouldn't I use conformal transformation instead? What are the real world applications or field of applications for those transformation methods? The questions above are not from the text I've given, I tried to make the topic clear. Thanks in advance.


end execution of script and send email if schema has changed

I would like to append the data from one feature class to another after confirming that the schemas match in both feature classes. I can append the data from one FC to another by using this simple code:                   arcpy.DeleteFeatures_management(outFeatureClass)         arcpy.Append_management("FC", outFeatureClass, "TEST", "")      ...but what I would like to do is stop execution of this code completely if the schemas have changed...in my example above, the data has already been deleted by the time that the schema change parameter ("TEST) fails. I am using 'Append...' b/c these feature classes are connected to map services. Ideally, I would like to first compare the schemas, and then continue to delete/append if they match. If they do not, I would like to send an email, and end the script. I have tried using the FeatureCompare tool, which will print a message if the schemas do not match, but I haven't figured out if or how I can use the data in this message as a variable in my code:                compare_result = arcpy.FeatureCompare_management(inFC, outFC, "OBJECTID", "SCHEMA_ONLY", "","","","","","","CONTINUE_COMPARE")      print arcpy.GetMessages()      When I run this code, one line of the output message reads: > Table: Tables have different number of fields (Base: 48, Test: 47). ...if there has been a change, or > Field: Field properties are the same. ...if the schemas match. Is there a way I can somehow use this information to set a flag or boolean in my code? I also considered using a SearchCursor, but I am not so sure that is the right idea. I am currently able to send an email confirming that the script was successful or if there was an error, but I would prefer to send an email before an error has already resulted in a faulty map service. I hope this questions makes sense! Thanks for any help.


Why is Arcview desktop giving me a greyed scale area?

Not sure why my scale area has turned grey and is not allowing me to zoom in or out.


Where to find POI data for places of worship (e.g. churches)?

I am looking for free U.S. state-wide and/or county-wide shapefiles that include geographic locations for places of worship. Examples include churches, temples, synagogues, and mosques. In other words, I am looking for POI (points of interest) data, nothing more. The attribute table fields would include something like FID, Shape, and Name of Place of Worship. I am specifically looking for data in the U.S. state of Pennsylvania, but I eventually would also like the same location information for other states.


QGIS 1.8 Layer Styles

I've added OS Landform Parorama information in to QGIS 1.8, i've like to use the OS Layer Styles that are freely downloadable (http://www.ordnancesurvey.co.uk/business-and-government/help-and- support/products/styled-layer-descriptors.html) and come in .sld format. When i try to load the .sld file through the properties> load styles, the only option i have is to load a .qml file which doesn't appear to be supported. Is there something i can do to actually load the styles as required? Cheers Mike * * * ![QGIS Screen Dump](http://i.stack.imgur.com/qt0dc.png) Nope, only the one option is available for me. If as Dan says the QGIS styles are currently being worked on then i guess i'll just have to wait!


meeting point minimizing travel distance for participants?

The problem is to find the point minimizing the travel distance for around 100 persons in different regions who want to meet in the same place. Travel is by car not by plane. Assuming that I get access to an API giving me mileage / kilometric distance in terms of highway travel between any two points, how can I find the best place to meet?


Completely new to GDAL: please help me with the best way to study it

This is the first time that I post here so pardon me for asking such a beginner question.   I'm completely new to GDAL and I'm going to use it to work with satellite images, DEMs, etc.   I have some experience working with Visual C++ and the OpenCV library. And in fact my goal is to combine OpenCV, GDAL and OpenGL for developing software for remote-sensing purposes. The programming language will be Visual C++. My problem is that in searching the net, I couldn't find a good book for learning GDAL and in fact most of the open source codes found in the Net are written in the Python language but I'm not familiar with this language and I don't want to get familiar. Surely I know that the best language for programming with GDAL is Python but the rules of the company where I work force me to use Visual C++. So with the conditions mentioned above, **what do you suggest as the best way to study GDAL?** The first piece of program that I want to write would be:   1. Read a satellite image file with the help of the GDAL library.    2. Extract image's header information.    3. Write a program to apply a Gaussian filter on the image that was read in step 1.    4. Convert the image read in step 1 to an image of the OpenCV family to do some other processing.


How do I get data to display on the map legend?

I am trying to use the Legend widget from this link below to build a legend that displays our layers in the map: https://developers.arcgis.com/en/javascript/home.html I have added the legend widget but it is blank. Any ideas what I am missing? ![enter image description here](http://i.stack.imgur.com/2TsHs.jpg)               <!DOCTYPE html>                     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">         <meta name="viewport" content="initial-scale=1, maximum-scale=3, user-scalable=no">         <title>Juniver County Business Licenses</title>              <link rel="stylesheet" href="//js.arcgis.com/3.8/js/dojo/dijit/themes/tundra/caro.css">         <link rel="stylesheet" href="http://js.arcgis.com/3.8/js/esri/css/esri.css">

                  Thanks in advance


How to add multiple rasters to a layer file?

I'm trying to make a .lyr file to bring into ArcMap with `arcpy.mapping`. I can bring a single raster into a .lyr with the script below. I'm unsure how to proceed to get multiple rasters from the same folder into a .lyr. Any help appreciated. Thanks               # Import system modules     import arcpy, os     from arcpy import env          # Workspace Directory      env.workspace = r'F:\Ortho_prelim\TEST'     workspace = r'F:\Ortho_prelim\OUT'          # Set local variables     inLyr = 'ImageLyr'     outLyr0 = 'ImageLyr'     outLyr = workspace + os.sep + 'Image.lyr'          # Make feature layer variables     fList = os.listdir(r'F:\Ortho_prelim\TEST')     for f in fList:         if fList.endswith('.ecw'):             print fList             arcpy.MakeRasterLayer_management(f, outLyr0, "", "")             print 'Made ' + outLyr0             print outLyr0             # Save Feature Layer             arcpy.SaveToLayerFile_management(inLyr, outLyr)             print 'Made layer ' + outLyr      So the pseudo code should be something like:   * Look in folder   * Look up all files with extension .ecw   * Add all the .ecw files in the folder to a .lyr file...


How to cancel SaveEdits/StopEdits button press (ArcObjects)?

I have an interesting situation.Suppose a user creates 10 features in ArcMap in an edit session. Now the user tries to save this edits by clicking save edits or stop edits button. I would be performing some checks at this point(by listening to **`OnStopEditing/OnSaveEdits`** events). If the result of this check is not satisfactory, I would want ArcMap not to commit these changes. Also the state of edits not should be the same as it was before the Save Edits/Stop Edits button was pressed. So in the case of failed checks, the 10 digitized features would stay ther in map, without permanantly committing to the database. I hope I am not complicating things. Another way to describe the situation is, If the validations fail, ArcMap should just behave as if the user had not presed the StopEdits/SaveEdits button. How can I do this using ArcObjects? I tried as shown below. But it simply saves edits and then stops editing. Anyone got ideas?               void editor_OnStopEditing(bool save)     {       if (save == true)       {         if(HasMyValidationFailed())         {           //do not stop edit here..           return; //did not work..           //throw; //did not work..         }       }     }


How can i combine the colours of one raster with values from another

I have two Tiffs with data from the same area. One is in colour and when I use the identify shows a 'color index' number (eg. 141), then Color(a,r,g,b)(eg. 255,90,255,0). The other tiff contains a numerical value for the cell. I want a raster that contains both the colour info from the first tiff, and the numerical values from the second. Is there a way to add attributes from another raster or create a new raster that borrows from these two?


How do I capture data from an OBD-II device?

So I happen to have a little bit of web experience, and have recently bought an OBD-II device. Basically, I'm trying to log certain metrics from the car, such as location and other diagnostics. I can send in an SMS to the SIM on the device to configure the server IP that the device sends data to... But I'm not sure what happens next. A piece of java code that interprets info from the device and makes it available to the PHP & JavaScript applications? **Edit:** I'm using this: eeLink OBD - GPS Device...


Opening/closing an MXD that uses "production mapping" for dynamic tables in Python

I am currently working on a project that requires using a python/arcpy tool to allow a user to create a map series report PDF. Without getting into much detail, the tool is used when in ArcCatalog or ArcMap where the user uses the interface to select the appropriate parameters. The tool generates a PDF report that includes a title page, table of contents, map series, and various summary reports. The tool generates a lot of temp files behind the scenes in order to generate the report. Since the user may run the tool several times while in an ArcMap session, these files need to be deleted, so no locks can remain on them when the tool is completed. I had no problems with the locks being removed, until I added a dynamic table to the map series MXD that uses the "production mapping" extension. The table updates for each map page based on the features of interest on each map page. Once I added this table, the features in the map series mxd are locked in the file geodatabase even after the python tool ends (and I made sure that the mxd variable is deleted). So my question is why won't the MXD "close" now that I added this dynamic table? Thanks for any help.


How to extract DEM (Digital Elevation Model) from 3D model

How can I extract a Digital Elevation Model from a 3D model of a building, made with SketchUp, using Blender,qgis or any other software?


CustomLayer Draw Com Exception

I'm trying to create a custom layer, nothing crazy just press a button and have something show up on the display and also have the layer display in the TOC. Well, the layer shows in the TOC but nothing shows on the display and the resulting error in my Debug tells me > A first chance exception of type > 'System.Runtime.InteropService.ComException' occured in > MapControlApplication1.exe I'm going with fairly straight forward code. I've created a BaseCommand that ties into the toolbar. When I press the button on the toolbar it successfully goes to Onclick. Here is the meaningful code in the OnClick               CustomLayer2  layer = new CustomLayer2();     layer.Name = "Custom Layer";     mapControl1.AddLayer(layer , 0);      Here is the code for CustomLayer2               public class CustLayer2: BaseCustomLayer      {         private IPolyline m_Polyline = null;              public override void Draw(esriDrawPhase drawPhase, IDisplay Display, ITrackCancel trackCancel)         {             if (drawPhase != esriDrawPhase.esriDPGeography)                 return;             if (m_Polyline == null)             {                 IProjectedCoordinateSystem pcs = Display.DisplayTransformation.SpatialReference as IProjectedCoordinateSystem;                 if (pcs != null)                 {                     m_Polyline = MakePolyline(pcs.GeographicCoordinateSystem);                     m_Polyline.Project(pcs);                 }                 else                 {                     m_Polyline = MakePolyline(new UnknownCoordinateSystemClass());                 }             }             Display.DrawPolyline((IGeometry)m_Polyline);         }              public static IPolyline MakePolyline(ISpatialReference sr)         {             IPointCollection pc = new PolylineClass();                  object missing = Type.Missing; // (not needed with VB.NET)             pc.AddPoint(MakePoint(-98.0, 29.0, sr), ref missing, ref missing);             pc.AddPoint(MakePoint(-97.0, 28.0, sr), ref missing, ref missing);             pc.AddPoint(MakePoint(-96.0, 27.0, sr), ref missing, ref missing);             pc.AddPoint(MakePoint(-95.0, 26.0, sr), ref missing, ref missing);                  IPolyline polyline = (IPolyline)pc;             polyline.SpatialReference = sr;             return polyline;         }         public static IPoint MakePoint(double x, double y, ISpatialReference sr)         {             IPoint p = new PointClass();             p.PutCoords(x, y);             p.SpatialReference = sr;             return p;         }     }      Any ideas on why this would error out? Note that a new layer is shown in the TOC but obviously the Draw never finishes. The error is occuring on the Display.DrawPolyline((IGeometry)m_Polyline);


Extending "How to add complex Emergency Symbology (TrueType fonts) to QGIS?"

I have used the technique as outlined in How to add complex Emergency Symbology (TrueType fonts) to QGIS? but have run into some difficulty. I have used this technique for a map of water assets that I have created and it worked well. I created 16 different markers, so I saved them as a style for future use. Now I've had to go back, make a change to my map and reprint. I only get one symbol on my map. The full range of created symbols shows in my Layers List. I have tried to reload the saved style, I even went into each one and recreated it, then saved the layer again. The funny thing is that I have created the same styles for raw water as well. It is fine. I'm only having trouble with the potable water layer. Does anyone have any idea of what might be happening and how I might be able to fix it? The first image is from my Layers window and shows what the items should look like. The second shows the closed boundary valves, and also the locations that should have other symbols. ![Font markers](http://i.stack.imgur.com/Tu5dh.png) ![Where items should be](http://i.stack.imgur.com/t7NDI.png) Text of QML file: "/> 0 0 0 Asset_Name 0 . . generatedlayout


How to automatically check for lidar flight line overlaps?

I have a series of lidar-based raster products created via FUSION. Since I am working with low density lidar data, many of the raster images show significant striping where lidar returns overlap on the borders of the flight lines (displayed as red lines). I need to automatically detect and list these striped rasters for quality control purposes. What methods can I use to automatically check these rasters for the striped effect shown in the attached image? ![enter image description here](http://i.stack.imgur.com/rKUkm.jpg)


Is there recommended true type font for search and rescue?

Has anyone run across a true type font set to use for search and rescue cartography, and/or fire cartography? This is specifically for Terrain Navigator Pro which isn't really a GIS application but can make use of true type fonts, which could be also used in QGIS which we use to make maps, since TNP doesn't have the same functionality. Why what we're using is less than ideal: 1) we need to use TNP since it is much better suited for SAR missions than any heavyweight GIS application, and 2) the symbols and system fonts that come with TNP aren't specific enough for our needs.


Determine Equal-Area Slope of Longest Water Course in Catchment

I'm still very new to python and need some direction in developing a Arcpy\Python script to determine the Equal-Area Slope of the Longest Water Course within a catchment. The Longest Water Course is a 3D polyline that represents the the longest river centre line in a catchment. The two jpegs explain the formula that I've trying to regenerate using Arcpy and Python: ![Equal-Area 01](http://i.stack.imgur.com/it9mh.jpg) ![Equal-Area 02](http://i.stack.imgur.com/6qP5i.jpg) I've figured out that I need to append the X-coordinate; Y-coordinate; and Z-value from the geometry into a python list. The I then need to step through the python list to determine the following: Area = [(0 + 1)] X 500 + .... The 0 is the difference in height based on the first vertex Z value, which allways will be 0, the 1 is the difference in height of the second vertex Z value from the first vertex Z value, in this case 1m, the 500 is the distance between the first and second vertex. I need assistance\guidance in how to step through the python list and calculate the following and then stick the results back into a python list or dictionary. I can then step through the python list or dictionary to determine the equal-area = [(0 + 1)/2]x 500 + [(1 + 2)/2]x 300 .... Any help or guidance in getting the following started would be much appreciated. Regards Peter Wilson


Saving a Custom Layer - Debug Help

I'm trying to save a custom layer by doing the following               ILayerFile layerFile = new LayerFileClass();     layerFile.New(saveFileDialog.FileName);     layerFile.ReplaceContents((ILayer)customProperty);     layerFile.save();      The custom property is actually CustomLayer2 which is nothing but a class that extends the BaseCustomLayer It gets to layerFile.save() but then craps out. I get the following error > Error: HRESULT E_FAIL has been returned from a call to a COM component I'm not sure if this is because I'm trying to save a custom layer or not. But since BaseCustomLayer extends the ILayer shouldn't this be all good? It's not failing at ReplaceContents and it looks like data is actually getting there. The only field that's null is ThumbNail. Can this be null? Does it need to be created in the CustomLayer class?


How to find a single point furthest from any road?

I have a road layer of a country. What method or plugin would you suggest, to **find a single point furthest from any road** (but as you can see, there is a coastline, so points in the sea can't count) The road layer looks like this: ![road layer](http://i.stack.imgur.com/IgXwx.jpg)


nested SearchCursors to loop through two tables whilst adding rows and calculating fields

I'm trying to loop through each row in table "Sites_Copy" and look at "OID1" and "OID2". Then take these and loop through "BLPUs_PolygonNeighbors" and compare these to "src_OBJECTID" and "nbr_OBJECTID". If "OID1" matches "src_OBJECTID" and "OID2" doesn't match "nbr_OBJECTID", then copy the row and insert it to "Sites_Copy" and calculate "OID3" to be "nbr_OBJECTID". However, this code doesn't seem to be doing it. Currently it doesn't even like the getValue. I'm in arcGIS 10.1, any help greatly appreciated.               import arcpy, os, sys     from arcpy import env          arcpy.env.workspace = "C:\Users\Ant\Documents\ArcGIS\ITN.gdb"     edit = arcpy.da.Editor(r'C:\Users\Ant\Documents\ArcGIS\ITN.gdb')          edit.startEditing(False,True)          DISSOLVED2 = "Sites_Copy"     with arcpy.da.UpdateCursor(DISSOLVED2,["OID1","OID2"]) as cursor:         for row in cursor             tabcur = arcpy.InsertCursor(DISSOLVED2)             n_row = tabcur.newRow()             TABLE = "BLPUs_PolygonNeighbors"             searchRows = arcpy.SearchCursor(TABLE,["src_OBJECTID","nbr_OBJECTID"])             blpu1 = row.getValue("OID1")             blpu2 = row.getValue("OID2")             for searchRow in searchRows:                 searchRow1 = searchRow.getValue("src_OBJECTID")                 searchRow2 = searchRow.getValue("nbr_OBJECTID")                 if searchRow1 == blpu1 and searchRow2 <> blpu2:                     tabcur.insertRow(n_row)                     arcpy.CalculateField_management(DISSOLVED2, "OID3", searchRow2)          edit.stopEditing(True)      EDIT: To explain what I am doing - I have a layer of polygons, which I want to combine into larger and larger polygons by adding their neighbors one by one. I want to qualify these potential merges with if statements, such as whether the existing polygon is below a certain size then keep adding polygons. Eventually, I want to be able to take one layer of polygons, calculate all of their neighbors, then run a script that will keep adding neighboring polygons one by one based on certain criteria not having been met (such as size, flood risk), up to a total of 15 potential merges. But I don't want any duplicates, as this could very quickly get out of hand. So I've written the first part that takes the original polygons, calculates neighbors and dissolves all possible 2-polygon combinations and appends them to the table. I now want to do all the possible 3-polygon combinations, then 4 etc up to 15. EDIT: Is this any closer? I'm not sure how to change the insert row part, it should copy the line being looked at in Sites_Copy and append it the end of Site_Copy. Then the updatecursor can calculate field OID3 hopefully.               DISSOLVED2 = "Sites_Copy"     with arcpy.da.SearchCursor(DISSOLVED2,["OID1","OID2"]) as cursor:         for row in cursor:             tabcur = arcpy.InsertCursor(DISSOLVED2)             n_row = tabcur.newRow()             TABLE = "BLPUs_PolygonNeighbors"             searchRows = arcpy.da.SearchCursor(TABLE,["src_OBJECTID","nbr_OBJECTID"])             blpu1 = row[0]             blpu2 = row[1]             for searchRow in searchRows:                 searchRow1 = searchRow[0]                 searchRow2 = searchRow[1]                 if searchRow1 == blpu1 and searchRow2 <> blpu2:                     tabcur.insertRow(n_row)                     arcpy.da.UpdateCursor(DISSOLVED2, "OID3", searchRow2)


How do you set up XY Event Layer Parameters on ArcGIS Script Tool? (asking for user input)

I've made the XY Event Layer work through python script, but can't get it to work correctly as a python script tool on arc, asking for user input. Does anyone have any suggestions? This is the script I am using on arc:               # Import arcpy module     import arcpy, sys, traceback     from arcpy import env          # Script arguments     Input_Table = arcpy.GetParameterAsText(0)     feat_output = arcpy.GetParameterAsText(1)          # Local variables:     XY_Event_Layer = Input_Table     Longitude_and_Latitude_Points = XY_Event_Layer     sr = arcpy.SpatialReference(104145)     feat_output = "long_lat.shp"          # Process: Make XY Event Layer     arcpy.MakeXYEventLayer_management(Input_Table, "longitude", "latitude", XY_Event_Layer, sr)          # Process: Copy Features     arcpy.CopyFeatures_management(XY_Event_Layer, Longitude_and_Latitude_Points, "", "0", "0", "0")      This is my parameter set up of the script tool properties:               input Table   -  Table View,     x coor     -     Field,     y coor     -     Field,     output feat.  -  Feature Layer


How do I create custom labels in a Fusion Tables map legend

I have a Fusion Table with an integer column COLOR_INDEX that I use to select the color of the marker using the Buckets option. If I turn on the legend, the labels are the values contained in the COLOR_INDEX column. What I want is to label the index with somthing more meaningful, eg, Label1, Label2, Label3,... Can I do this? Edit: I'm beginning to think this can't be done. I found this explanation on how to customize the legend on a Google map with a Fusion Tables layer. However, I'm using the iframe source generated by the Fusions Table map interface. The map element name can be found by inspecting the page, but is inside an iframe, so it's not visible at the document level:                 function drawLegend() {         var map = document.getElementById('googft-mapCanvas')      Likewise, I can try to just get the main element inside the iframe, but that but that element is on another site, so if I try to access it, that would be cross-site scripting and is blocked:                 function drawLegend() {         var iframe = document.getElementById('map');         var map = iframe.contentDocument || iframe.contentWindow.document;      I guessing that as long as I use the Fusion Table Map inside the iframe, I can't tweak the legend.


How to Import SVG into GIS?

I have a PDF file, with a Map as a vector graphic. I want to get this into GIS. (I use ESRI's ArcGIS, but any FOSS solution is also fine). I know that it is not possible to directly get the PDF into ArcGIS, so I was just testing various scenarios, and found that we can convert the vector graphic in the PDF to SVG using Inkscape. I was successful in doing that. I was hoping that there might be some way of going from SVG into a vector format that ArcGIS understands. Is this possible?


How can I reduce the size of my file geodatadase?

We're using file geodatabase for tax mapping. we save building photos and there are 6000 buildings. The size of this data 2GB. So loading the data takes a lot of time we are not unable to do work easily. If there is any options to solve this problem, please share them with me . Thanks to advance


demo maps for training pgRouting

I'm very new to postgis and pgRouting but I'm using it for my thesys. I need any map to train my self with routing and TSP problems in pgRouting, but on the Internet I found unworking links only! Can anyone suggest me where to download these maps (rather in osm)? thanks a lot Laura


Different data formats for the same graphic in Flex application

I have two ways to display an InfoWindow with the attributes of a graphic. The first is using a IdentifyTask to return the graphic and the other gets the selectedItem of a Datagrid (rovGrid) and using the findGraphicByAttribute code to return the graphic. However, the format of the Date field is different in the returned graphic. The IdentifyTask graphic attribute shows "2/10/2005" and the Datagrid graphic attribute shows "1107993600000". Why are the two methods showing different date formats for the same feature? Here's the partial code for each method               //IdentifyTask          identifyTask.execute(identifyParams, new AsyncResponder(onResult, onFault, clickGraphic));          function onResult(results:Array, clickGraphic:Graphic = null):void     {         if (results && results.length > 0)         {             var result:IdentifyResult = results[0];             var resultGraphic:Graphic = result.feature;      //Datagrid click private function rovGrid_Click():void { var obj:Object = rovGrid.selectedItem;               if (obj != null)     {         MainMap.infoWindow.hide();              var graphic:Graphic = findGraphicByAttribute(obj, layerROVGraphics);      ![attributes for each return](http://i.stack.imgur.com/0wEj3.png)


Place image inside of Label

In ArcView, Can I add an image to a label. Assume I have the photograph path as an attribute.


Size of output geotiff file not as in the .vrt file

I have the following vrt file (input.vrt) with GCPs in EPSG:3857                 <VRTDataset rasterXSize="5409" rasterYSize="5408">       <Metadata />       <Metadata domain="IMAGE_STRUCTURE">       <MDI key="INTERLEAVE">BAND</MDI>       </Metadata>       <GCPList>       <GCP Id="" Pixel="678.0000" Line="1154.0000" X="1.632931421600E+07"            Y="-3.355847048000E+06" />        [..]       </GCPList>       <VRTRasterBand dataType="Byte" band="1">       <Metadata />        <ColorInterp>Gray</ColorInterp>        <SimpleSource>         <SourceFilename relativeToVRT="1">input.tif</SourceFilename>       <SourceBand>1</SourceBand>       <SourceProperties RasterXSize="5409" RasterYSize="5408" DataType="Byte" BlockXSize="5409" BlockYSize="1" />       <SrcRect xOff="0" yOff="0" xSize="5409" ySize="5408" />       <DstRect xOff="0" yOff="0" xSize="5409" ySize="5408" />       </SimpleSource>       </VRTRasterBand>       </VRTDataset>      Then I warp the input image to the final geotiff one by using                    gdalwarp -order 2 -co "TFW=YES" input.vrt output.tif      but the problem is that my output.tif has size (5419, 5414) instead of (5409, 5408), what am I doing wrong?


How to display some Ushahidi's layers (WFS) in my Web portal?

I'm working on a VGI Web portal. I'm using OpenLayers and the application is running throw the TomCat server. I would like to know if it's possible to display layers from Ushahidi or others VGI tools using OGC services (Web Feature Service). If it is possible, how could I do it? Thanks you, Regards, Rafael


data type conversion extracting user defined tags as columns using Openstreetmap data

we have an ,osm data in which we have used some tags that we defined ourselves like, age, roof_type, roof_slope . we want to convert this file to shapefile, in which the roof_type tag appears as a column name and its values as attributes. we have tried: **QGIS:** install plugin, only creates column of 7 tags, others are grouped into one column called tags **OSM2GIS:** online tools, selects area on map, has many tags, but not user defined ones **Geoconverter:** online tools, input a supported file and it will export a supported file, but not user defined ones **OSMembrane:** still learning, frontend for Osmosis


ESRI Licensing For ArcGIS server

I need help on buying 1ArcGIS 10 for Server licenses for a production environment. We have three servers with below configurations:   1. **Server 1** - 8 core, 24GB, 64-bit OS, Windows 2008 Server R2 Enterprise   2. **Server 2** - 8 core, 24GB, 64-bit OS, Windows 2008 Server R2 Enterprise   3. **Server 3** - Database server - Linux OS - Oracle 10g - 64 bit with ArcSDE 10 Our plan is to use Server 1 as a main server, where SOM and SOC will be installed and Server 2 as load balancing server (i.e only SOC will be installed). Our application consumes 1 map service (with 80 layers) and 2 GP services (50 tools for various GIS operation) and 1 Geometry service. _NO EDITING FUNCTIONALITY_. Lot of saving in SDE database will be done with other business requirements. Roughly 40 concurrent users at the maximum in any given point of time. We also use some standard ArcGIS GP Tools like the Aggregate Tool, which warrants an enterprise edition of ArcGIS server. Can you please explain how an ArcGIS Server License (Enterprise Advanced) needs to be procured?? I am looking for optimized licensing for this setup. Please help us.


_Postal codes_ of Brazil and another countries are oriented to distribution logistics, and improvement of reliability in writing the postal addresses; but without much concern for the spatial correlation. Old codes, with 5 digits, have good spatial correlations (national scale), but new codes, with 8 digits (street scale), no. It is a situation similar to the USA-zipcode. So, the problem is: "What are the geometric principles and GIS techniques that I can use to generate a postcode coverage of my city at street scales?" * * * Important-1: the POSTCODE codes are defined only into a cadastral database, there are no geographical association. Each POSTCODE is associated to an street name, range of house numbers, and number parity. Important-2: brasilian house-numbers have only 70% to 90% (depends of city) of spatial correlation, that is, 10% to 30% can not be interpolated, because they are "numerological" or not checked with the correct street metrics.


OpenLayers measure tool - instant measurement

I need to use measure tool to measure distances ( **instant measurement!** ) in my application. Instant measurement example can be found here. But the main problem is that when I use instant measurement tool and try to measure distance, it sums all the pieces and shows sum. So the question: how can I instantly show only the current piece distance (I mean not to sum up all pieces distances)?


How to select features from different WFS layers?

I'm trying to select features from different WFS layers but unfortunatelly it doesn't works in my code. **This is my code:**               var select = new OpenLayers.Layer.Vector("Selection", {styleMap: new OpenLayers.Style(OpenLayers.Feature.Vector.style["select"])});     var hover = new OpenLayers.Layer.Vector("Hover");          map.addLayers([hover,select]);          controles = new OpenLayers.Control.GetFeature({         protocol: new OpenLayers.Protocol.WFS({             url: "http://demo.opengeo.org/geoserver/wfs",             featureType: ["states","world"]}),         box: true,         hover: true,         multipleKey: "shiftKey",         toggleKey: "ctrlKey",     });          controles.events.register("featureselected", this, function(e) {           select.addFeatures([e.feature]);     });          controles.events.register("featureunselected", this, function(e) {           select.removeFeatures([e.feature]);     });          controles.events.register("hoverfeature", this, function(e) {           hover.addFeatures([e.feature]);     });          controles.events.register("outfeature", this, function(e) {           hover.removeFeatures([e.feature]);     });          map.addControl(controles);     controles.activate();      * * * As you can see, I've put in the featureType two layers but only the first one can be selected. What am I doing wrong? Thanks for your help, Best Regards, Rafael


Geoserver Choropleth Map with Shapefile and MySQL Database

I'm learn to use GeoServer and i would know if it possible to bind Shapefile with MySQL Database ? (GeoServer) I would like get an choropleth map. I use this shapefile : http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip In my database i have two column : ID_UN and thickness               ID_UN | thickness     724   | 65     ...   | ...     826   | 75      In Shapefile, i would use the attribut 'UN' bind with the 'ID_UN' (MySQL). And i write SLD to add color according to value from the data base. I know write SLD but i don't know how to do to bind Shapefile with MySQL Database. Thanks in advance.


How to combine three data extraction functions into one button?

I am looking to simplify my code. As of right now I have some code that allows users to extract GIS data in three different ways:   1. Extract by drawn extent   2. Extract by extent of the a county   3. Extract by extent by unit. **1st function:**               function extractData() {       //get clip layers       var clipLayers = [];       if (registry.byId("layer1").get("checked")) {         clipLayers.push("SRA");       }       if (registry.byId("layer2").get("checked")) {         clipLayers.push("Burn");       }       if (clipLayers.length === 0 || map.graphics.graphics.length === 0) {         alert("Select layers to extract and draw an area of interest.");         return;       }            var featureSet = new FeatureSet();       var features = [];       features.push(map.graphics.graphics[0]);       featureSet.features = features;            var params3 = {         "Layers_to_Clip": clipLayers,         "Area_of_Interest": featureSet,         "Feature_Format": registry.byId("formatBox").get("value")       };            domStyle.set(loading2, "display", "inline-block");       gp.submitJob(params3, completeCallback, statusCallback2, function (error) {         alert(error);         domStyle.set(loading2, "display", "none");       });     }      **2nd function:**               function executeQueryTask(county) {       var clipLayers = [];       if (registry.byId("layer1").get("checked")) {         clipLayers.push("SRA");       }       if (registry.byId("layer2").get("checked")) {         clipLayers.push("Burn");       }       if (clipLayers.length === 0) {         alert("No layers to clip, please select a layer you would like to clip...");         return;       }            var county = document.getElementById("sel_county").value;       var queryTask = new QueryTask("http://webgisdevint1/arcgis/rest/services/Alex_Try/Counties/MapServer/0");       queryTask.on("complete", addToMap);       var query = new Query();       query.returnGeometry = true;       query.outFields = ["NAME_PCASE"];       query.where = "NAME_PCASE = '" + county + "'";       query.outSpatialReference = map.spatialReference;       queryTask.execute(query, function (featureSet) {         var AOI = featureSet.features[0].geometry;         var graphic = new Graphic(AOI, symbol);         var features = [];         features.push(graphic);         var fSet = new FeatureSet();         fSet.features = features;              var params = {           "Layers_to_Clip": clipLayers,           "Area_of_Interest": fSet,           "Feature_Format": registry.byId("formatBox").get("value")         };              domStyle.set(loading, "display", "inline-block");         gp.submitJob(params, completeCallback, statusCallback, function (error) {           alert(error);           domStyle.set(loading, "display", "none");         });       });     }      And a third that looks exactly like the one above except that I query by units not county. Each function is triggered by this:               registry.byId("extract1").on("click", executeQueryTask);      And this:               <button id="extract1" data-dojo-type="dijit/form/Button" data-dojo-props="iconClass:'Query', showLabel:false">         Extract Data     </button>      Now here is my question: **How can independently trigger each function from _one and only one_ button?** As of right now I have three buttons that triggers each function. Would it be possible to trigger each function independently from only one button? For example, if users draw then the one and only "extract" button would extract data by the extent drawn by the user. FYI I am using a `dijit/from/dropdown`for selecting counties and units, which means there will always be one element selected in these two extraction processes.


How to make layer group folder into a check box to turn off all layers inside?

I would like to create a geoext layer tree containing layer groups which can check or uncheck all the layers within them. Would anyone know if this has been done or can be done? I was thinking about something like this; http://nibis.lbeg.de/cardomap3/ but with openlayers and geoext.


add a vector point on OSM map

I have managed to show Lat and Lon                     function init() {                  navigator.geolocation.getCurrentPosition(function(position) {                 document.getElementById('myloc').innerHTML="Latitude: " + position.coords.latitude + "   Longitude: " +                 position.coords.longitude + "<p>";             });           }      now i want this lat and lon on OSM map as a point and whenever i refresh the page, I want the point follows my location... I added this code in my map function itin               var vectorpoint = new OpenLayers.Layer.Vector("VectorPoint");     map.addLayer(vectorpoint);     var point = new OpenLayers.Geometry.Point(position.coords.longitude ,position.coords.latitude);     vector.addFeatures(new OpenLayers.Feature.Vector(point));      any suggestion?


Geocode addresses several QGIS

I am using Qgis and I have a excel file fields with direction and it fall geocode these addresses example               address            apartment     township      1 calle 2 avenida Guatemala Escuintla 4 calle 5 avenida Guatemala Santa rosa


Raster calculation in for loop returning exit code -1

I've put together a python script that does some calculations on rasters by converting them to NumPy arrays, doing the math, then converting them back to Raster and applying all the same spatial reference information, etc. I just need to run it iteratively now on about 400 rasters. I tried to use glob.glob to iterate through the rasters with a *tif wildcard, but couldn't get the output name to work right. Now I'm trying to use os.path.basename with a conditional statement to filter through the files in the folder and only run my raster calculation on tif files. When I try to run the script now, I get a "Process finished with exit code -1" message, and my print(outname) statement doesn't seem to register. Apologies in advance if this is more of a python than an ArcPy question. Also, thanks for your help. > >     import os >     import arcpy >     import numpy as np >   >     #Enable overwriting output data arcpy.env.overwriteOutput = True >   >   >     def cumulativecalculation(filename): >   >     #Set geoprocessing variables >     inraster = filename >     des = arcpy.Describe(inraster) >     sr = des.SpatialReference >     ext = des.Extent >     ll = arcpy.Point(ext.XMin, ext.YMin) >   >     #Convert GeoTIFF to numpy array >     a = arcpy.RasterToNumPyArray(inraster) >   >     #Flatten for calculations >     a.flatten() >   >     #Find unique values, and record their indices to a separate object >     a_unq, a_inv = np.unique(a, return_inverse=True) >   >     #Count occurences of array indices >     a_cnt = np.bincount(a_inv) >   >     #Cumulatively sum the unique values multiplied by the number of >     #occurences, arrange sums as initial array >     b = np.cumsum(a_unq * a_cnt)[a_inv] >   >     #Divide all values by 10 (reverses earlier multiplication done to >     #facilitate accurate translation of ASCII scientific notation >     #values < 1 to array) >     b /= 10 >   >     #Rescale values between 1 and 100 >     maxval = np.amax(b) >     b /= maxval >     b *= 100 >   >     #Restore flattened array to shape of initial array >     c = b.reshape(a.shape) >   >     #Convert the array back to raster format >     outraster = arcpy.NumPyArrayToRaster(c, ll, des.meanCellWidth, > des.meanCellHeight) >   >     #Set output projection to match input >     arcpy.DefineProjection_management(outraster, sr) >   >     #Setting the OutName >     outname = filename + "_cumulative" + ".tif" >   >     #Save the raster as a TIFF >     outraster.save("E:/NSF Project/Salamander_Data/New_Cumulative_Output/" + > outname) >     print (outname) >   >     #Loop through files in directory >   >     for filename in os.path.basename("E:/NSF >     Project/Salamander_Data/NoDataToZero/HadleyGCM/"): >        if filename[-4:] == ".tif": >            cumulativecalculation(filename) >   **Updated Code:**                   #Set the output filename         intername1 = os.path.splitext(os.path.basename(i))[0]         filename = intername1[5:]         finalname = filename + "_cumulative" + ".tif"              #Save the raster as a TIFF         outraster.save("E:\\NSF Project\\Salamander_Data\\New_Cumulative_Rasters\\" +    str(finalname))              #Announce file creation         print("Created: " + str(finalname))          #Loop through files in directory     geotiffs = glob.glob("E:\\NSF Project\\Salamander_Data\\NoDataToZero\\HadleyGCM\\*tif")          for i in geotiffs:         cumulativecalculation(i)      Everything seems to be working beautifully with the code now, except it "breaks" after processing 10 rasters. I think this must be a problem with one of the input files, but I'm not sure. Error: "File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy__init__.py", line 1860, in NumPyArrayToRaster return _NumPyArrayToRaster(*args, **kwargs) TypeError: Cannot create raster for numpy array." I have about 400 to get through, so I'd at the very least like to keep errors like this from derailing the process, even if I end up with some missing data. Not sure how to accomplish that though.


problem of using TIMESAT to processing MODIS NDVI

I want to use TIMESAT software to analyse time series MODIS NDVI data. Firstly, I use MRT tool to mosaic,subset and project MODIS NDVI data and output data as GEOTIFF format, and save as ENVI standard using ENVI software. secondly, using TSM_imageview to display the image file, and the result is ok. then i use TSM_GUI to open list of image files, the problem is arising--"Error while evaluating uimenu Callback" .![enter image description here](http://i.stack.imgur.com/dXRI0.png) so, if anyone knows the answer, please help me, thanks a lot!


PostGIS (2.0?) - Native Versioning of the Datastore

I recently have been surprised to see there are not too many solutions at all discussing the best methods of versioning datastores which are made available for editing. I am looking for a robust, efficient solution which would me to share a bunch of data with registered users and where those users can edit this geodata or associating attributes individually. My requirement though is that I need any and all edits logged so they can be rolled back to any previous state just like a wiki. More specifically, I am utilizing a tool called CartoDB.com (built on PostGIS 2.0) through which whatever method needs to be compatible. Very curious to learn any/all information you guys might be able to share in regards to my needs. Thanks - CH


How to populate a combobox with layers in TOC?

I am developing a plugin, and I want user to select one of the loaded layers from a combobox. I've already coded this much:               self.dlg.show()         layerlist = []         self.dlg.ui.layerCombo.clear()  # clear the combo          layermap = QgsMapLayerRegistry.instance().mapLayers()         for name, layer in layermap.iteritems():             if layer.type() == QgsMapLayer.VectorLayer:                 if layer.geometryType() == QGis.Line:                     layerlist.append( unicode( layer.name() ) )         for layer in layerlist:    # foreach layer in legend              self.dlg.ui.layerCombo.addItem( layer )       **First Question:** I get the error > IndexError: list index out of range which I don't quite know why. **Second Question:** Am I doing the right thing? I couldn't find a tutorial on this. Where is the best place to put this code (run, initGui,...)? Any help is greatly appreciated!


Why do some Customised Symbols look good in map but disappear from Legend on Export?

I am using ArcGIS Desktop 10.0 I created some customised symbols for my map which ArcGIS Desktop did not have. To do this I used BMP files and imported the symbols. They look good on the map but do not appear well in the legends when I export the map into any format e.g JPEG. They either do not appear or appear very light. What can cause this? ![enter image description here](http://i.stack.imgur.com/e8M26.png)


Designing an API for spatial data

I am considering trying to make an API so that I can make some spatial datasets available to colleagues for analysis. Part of my work has been to analyze and prepare data which can then be used for further analysis by others. The work (while currently at a smaller scale and less sophisticated) is similar to walkscore but does involve some enormous datasets. There are increasing restrictions on how I can share the original data, but my derivative work is shareable. I have been thinking about about how best to share the results of my analysis (outside of passing on large datasets) and thought that an API would be one approach. What sort of things, should I be thinking about when constructing an API? Are there design specifications that I can follow? My vision sounds a little more grandiose than it currently is, but I think it would be a useful framework to consider early on in this work.


How do you get the coordinates from a drag event in the Google Maps API V3?

I have made a Google Version 3 Geocoder , I want to be able to pick up the coordinates of the route when it is dragged. I know how to pick up the coordinates giving the start and end points, but, after change the route, I don't know how to do!


pgrouting with Navteq data

I realized that osm-data is not as complete as I need to have it for my work. I'm considering trying a branch of navteq and later buy the data branch for my region. Has anyone tried routing with navteq data? Is there an importtool like osm2pgrouting, which would make life very easy! Where can I download a simple shapefile with a bunch of nodes and ways? All the dev. stuff seams to be very overloaded and in GDF3.0 format. Thanks!


ST_Buffer won't accept bevel join styles (always displays as round)

I'm having a bit of trouble with `ST_Buffer` and join styles. Basically, if I try and use the `bevel` style it outputs as if I was using the `round` style. I notice that the `ST_Buffer` docs state that GEOS 3.2 or above is needed for `bevel` to work. I'm using GEOS 3.3.7, but I've also tried downgrading to various GEOS versions (3.3.5, 3.3.0, etc) to no avail. The only way I've managed to get `bevel` to work is by using Postgres.app as my PostGIS database instead of my manual homebrew installation. I can't work out why my homebrew version doesn't do it even when they're both using the same GEOS (3.3.5). Is there something that I'm missing? Perhaps I need to update / do something with my existing PostGIS database after downgrading / changing GEOS? **Update** Basically, what I'm trying to achieve is an expanded polygon (say by 3 metres) with sharp corners. `ST_Buffer` seems to be the logical choice here. However, I'm happy to explore other options that would a) let me remove the rounded corners after using `ST_Buffer`, or b) let me use something other than `ST_Buffer` to achieve the same effect.


MODIS LST 8 days data to have 16 days LST?

can i combinate two parameters with different Temporal Granularity , i mean can i combinate image LST MODIS 8 days with image NDVI modis 16 days??


What are differences between ArcGIS Online, ArcGIS for Server and ArcGIS Publisher?

Can someone help me tell the different between ArcGIS online, ArcGIS server and ArcGIS publisher?


KML - Importing Data into a CartoDB Table

I´m trying to load a KML file into a CartoDB Table. That's ok, but, when I see the data, it's empty, it has loaded polygono coordinates as a geometry field, but other fields do not appear. My KML has 2 folder levels, and when it is imported, cartoDB creates 3 tables with no data. I appreciate your help! **KML Example:**               <?xml version="1.0" encoding="UTF-8"?>     <kml xmlns="http://www.opengis.net/kml/2.2">     <Document>     <Folder>     <name>Zona 15</name>     <Folder>     <name>CONDOMINIO</name>     <Placemark>         <name>LOS ANDES</name>         <Style><LineStyle><color>ff0000ff</color></LineStyle><PolyStyle><fill>0</fill></PolyStyle></Style>         <ExtendedData><SchemaData schemaUrl="#Colonias">             <SimpleData name="CORRELATIV">703</SimpleData>             <SimpleData name="COD_COLONI">150703</SimpleData>             <SimpleData name="IDSUM">1120</SimpleData>             <SimpleData name="NOMBRE">LOS ANDES</SimpleData>             <SimpleData name="GRUPO_HABI">CONDOMINIO</SimpleData>             <SimpleData name="ZONA">15</SimpleData>             <SimpleData name="MUNICIPIO">GUATEMALA</SimpleData>             <SimpleData name="SHAPE_AREA">1078.01005000000</SimpleData>             <SimpleData name="SHAPE_LEN">132.29249838100</SimpleData>         </SchemaData></ExtendedData>           <Polygon><outerBoundaryIs><LinearRing><coordinates>-90.485823757642848,14.587911253963423 -90.485823947248875,14.587910894649475 -90.485829347942527,14.587900925186071 -90.485835319505071,14.587889697124675 -90.485838257371725,14.587884218086337 -90.485839206427244,14.587882331188601 -90.485843375706523,14.587874606937403 -90.485844039327304,14.587873349338524 -90.485848873252692,14.587864277160319 -90.485854464575468,14.587853858053993 -90.485855127170367,14.587852690783025 -90.48585654921456,14.587849995928179 -90.485859580857237,14.587844427560368 -90.485862328090946,14.587839398163492 -90.485867256817585,14.587830146327637 -90.485868489255594,14.587827810786653 -90.485871046883005,14.587823140703598 -90.485876258991823,14.587813440224393 -90.485879291659131,14.587807781528175 -90.48588270353784,14.587801404203883 -90.485888484462862,14.587790625782155 -90.485888863674418,14.5877899071541 -90.485889241860235,14.58778927885403 -90.485889714848938,14.587788470896934 -90.485896254196206,14.587776255218769 -90.485906014788426,14.587758111857442 -90.485907721239826,14.587754878030987 -90.485914260584863,14.587742662351962 -90.485915777430293,14.587739787839478 -90.485931508544937,14.587710506739151 -90.485933025389897,14.587707632226481 -90.485941837947493,14.587691285433039 -90.485945438402069,14.587684639121049 -90.485950934911955,14.587674399667868 -90.485953113324371,14.58767044821152 -90.485966664990542,14.587645208891523 -90.485966855621726,14.587644759249422 -90.485967045227227,14.587644399935279 -90.4859728251174,14.587633711838006 -90.485972403413356,14.587630003396608 -90.485981185049553,14.587632717801361 -90.48599255551926,14.587636182798109 -90.485993849935909,14.587636558094225 -90.486002632598414,14.587639182170303 -90.48601122975839,14.587641804248332 -90.486027407916509,14.587646676104173 -90.4860349878889,14.587649016210028 -90.486049409925755,14.58765332711835 -90.486058654295576,14.587656136842718 -90.486063369231985,14.58765754270364 -90.486070764728169,14.587659790482775 -90.486113196083423,14.587672714209887 -90.486151929695609,14.58768451404171 -90.486169310553009,14.587689669857216 -90.48617069669622,14.587690136479255 -90.486171899387813,14.587690420447682 -90.48617772324063,14.587692199604138 -90.486181143761485,14.587693230167702 -90.486188630986447,14.587695569270267 -90.486232170247931,14.587708956603436 -90.486218328940168,14.587751537918606 -90.486215252181481,14.587761080724393 -90.486214962645633,14.587762071335915 -90.486201217157941,14.587804382663649 -90.486201216132343,14.587804472991637 -90.486200353677972,14.587806902858174 -90.486188071248137,14.587842906206932 -90.486167440465096,14.587903391869668 -90.486138467465977,14.587987817873756 -90.486137218619163,14.5879915986642 -90.486122234921297,14.58798773340448 -90.486115298043345,14.587985942259355 -90.48611335538935,14.587985469643639 -90.486110858277428,14.587984810378844 -90.486104291380215,14.587983113556797 -90.486082555283957,14.587977549474823 -90.486075341177923,14.587975665004054 -90.486061744653043,14.587972176035628 -90.486006804101351,14.58795803350543 -90.485965367327594,14.587947378938777 -90.485931330164746,14.587938610838252 -90.485923190598427,14.587936535718072 -90.485922727866651,14.587936440395506 -90.485922357886352,14.587936346071848 -90.485916900933674,14.587934932215928 -90.485909686831249,14.587933047740457 -90.485883418233257,14.587926350758492 -90.48587925569916,14.587925312198715 -90.485874353204665,14.587924084991446 -90.485863253797987,14.587921255279545 -90.485857981323491,14.587919933748218 -90.485851321679775,14.587918235920698 -90.485850766196592,14.587918139599047 -90.485850581719362,14.587918047273186 -90.485838095144189,14.587914841264116 -90.485823757642848,14.587911253963423</coordinates></LinearRing></outerBoundaryIs></Polygon>       </Placemark>     <Placemark>         <name>BOULEVARD</name>         <Style><LineStyle><color>ff0000ff</color></LineStyle><PolyStyle><fill>0</fill></PolyStyle></Style>         <ExtendedData><SchemaData schemaUrl="#Colonias">             <SimpleData name="CORRELATIV">708</SimpleData>             <SimpleData name="COD_COLONI">150708</SimpleData>             <SimpleData name="IDSUM">1123</SimpleData>             <SimpleData name="NOMBRE">BOULEVARD</SimpleData>             <SimpleData name="GRUPO_HABI">CONDOMINIO</SimpleData>             <SimpleData name="ZONA">15</SimpleData>             <SimpleData name="MUNICIPIO">GUATEMALA</SimpleData>             <SimpleData name="SHAPE_AREA">1623.32985000000</SimpleData>             <SimpleData name="SHAPE_LEN">194.38831782300</SimpleData>         </SchemaData></ExtendedData>           <Polygon><outerBoundaryIs><LinearRing><coordinates>-90.488871217684789,14.586315240238843 -90.488900297841283,14.586294865348119 -90.488907498060271,14.586289793458558 -90.488909648748361,14.586288280824697 -90.488916755191525,14.586283298265341 -90.488923113479956,14.586278849693928 -90.488927695157514,14.58627564676228 -90.488930500224342,14.586273689470524 -90.488932557136735,14.586272266166974 -90.488934333747324,14.586271020526937 -90.48897444660679,14.586242995118237 -90.488982394976716,14.586237389237381 -90.489008483522042,14.586219059955386 -90.489027371849829,14.586205802564212 -90.489071130656228,14.586175286850507 -90.489074403572829,14.586172973231559 -90.489106009480622,14.586150728350507 -90.489106196006887,14.586150640017378 -90.489101258130262,14.586144353504197 -90.489069616986967,14.586104263944428 -90.489038524165764,14.586064902993034 -90.489011272604756,14.586030371331541 -90.489010724293792,14.586029642720545 -90.489009992529645,14.586028731458001 -90.488994629581057,14.586009233631776 -90.488988593040176,14.586001670551513 -90.488986123592852,14.585998572458278 -90.488983929325329,14.585995748342341 -90.488983289287958,14.585994928405535 -90.48898237509519,14.585993744163206 -90.488982100939808,14.585993379857692 -90.48898045498315,14.585991284352771 -90.488979997374628,14.585990737395703 -90.488979265610709,14.585989826133115 -90.48897524193363,14.585984723860653 -90.488978046996024,14.585982766567644 -90.48897842107263,14.585982499573346 -90.489085195837347,14.5859083953869 -90.48908812084558,14.585912221092453 -90.489118468579818,14.585951845040155 -90.489120204215794,14.585954212526399 -90.489122580913957,14.585957309620929 -90.48914616034854,14.585988459226821 -90.489161879975114,14.586009225629965 -90.489165718155519,14.586014325904948 -90.48916873489307,14.586018242935618 -90.489211295166584,14.586077059793947 -90.489212849399507,14.58607906397196 -90.489213305984578,14.586079701256903 -90.489225641976716,14.586096185324408 -90.489228200082692,14.586099645726142 -90.489285128714528,14.586175691214049 -90.489289240032264,14.586181246121324 -90.489292346452402,14.58618543513319 -90.489297556443589,14.586192266605023 -90.489304958660341,14.586202102847079 -90.489312359853486,14.586212029417215 -90.489315466274448,14.586216218428879 -90.489331822898166,14.586238075746195 -90.489337122570092,14.586245179199611 -90.489337306023771,14.586245361850972 -90.489338676805218,14.586247183377141 -90.489340505196665,14.586249551859895 -90.489341326641352,14.586250735103826 -90.489343794048096,14.586254013850921 -90.489366638703146,14.586284523166647 -90.489355322623155,14.586292622343965 -90.489339143543063,14.586304192453605 -90.489339049767793,14.586304281784368 -90.489338955992523,14.586304371115128 -90.489338862217252,14.586304460445891 -90.489338488140376,14.586304727440728 -90.489315107821824,14.58632145978086 -90.489307812809415,14.586326711343281 -90.489295749595598,14.586335254178335 -90.489287987754253,14.586340771737257 -90.489281815995895,14.586345131986238 -90.489273025698125,14.586351361197979 -90.489256098455769,14.586363465289837 -90.489213359889447,14.586393992008563 -90.489205972121383,14.586399242569497 -90.489194001651185,14.586407786395478 -90.489187174485934,14.58641268162795 -90.489179131313321,14.586418467174418 -90.489172491698227,14.586423183744978 -90.489112264224531,14.586466260179094 -90.489058209519911,14.586504886024183 -90.489057461364865,14.586505420012744 -90.489029591050738,14.586525446576555 -90.489026849490855,14.586521803520888 -90.489023925501897,14.586517887485439 -90.488980607844539,14.586460417531374 -90.488974119831411,14.58645176552276 -90.488971468975649,14.586448304120706 -90.488967081458441,14.586442565559206 -90.488963882291301,14.586438375545887 -90.488959495798852,14.586432546656109 -90.488950905243641,14.586421161856196 -90.488943320609806,14.58641105262458 -90.488940214194614,14.586406863608707 -90.488921296428188,14.586381816848217 -90.488918371418364,14.586377991140177 -90.488887484587167,14.586336825599099 -90.488883189825174,14.586331088034305 -90.488882915669649,14.586330723728627 -90.488882732216354,14.586330541076977 -90.488880813127665,14.58632799093732 -90.488877889143566,14.586324074900796 -90.488871217684789,14.586315240238843</coordinates></LinearRing></outerBoundaryIs></Polygon>       </Placemark>     </Folder>     <Folder>     <name>APARTAMENTOS</name>     <Placemark>         <name>BIARRITZ</name>         <Style><LineStyle><color>ff0000ff</color></LineStyle><PolyStyle><fill>0</fill></PolyStyle></Style>         <ExtendedData><SchemaData schemaUrl="#Colonias">             <SimpleData name="CORRELATIV">709</SimpleData>             <SimpleData name="COD_COLONI">150709</SimpleData>             <SimpleData name="NOMBRE">BIARRITZ</SimpleData>             <SimpleData name="GRUPO_HABI">APARTAMENTOS</SimpleData>             <SimpleData name="ZONA">15</SimpleData>             <SimpleData name="MUNICIPIO">GUATEMALA</SimpleData>             <SimpleData name="SHAPE_AREA">1005.85586104000</SimpleData>             <SimpleData name="SHAPE_LEN">130.41082038500</SimpleData>             <SimpleData name="OBSERVACIO">EDIFICIO</SimpleData>         </SchemaData></ExtendedData>           <Polygon><outerBoundaryIs><LinearRing><coordinates>-90.490655949164875,14.585948410312318 -90.490656135690529,14.585948321977824 -90.490656410872603,14.585948595953482 -90.490657050916838,14.585949415886683 -90.490657416802648,14.585949871515883 -90.490664634602439,14.585959615401181 -90.490690219999621,14.585993857980318 -90.490716901015162,14.586029648101908 -90.490719915736477,14.586033745773571 -90.490723570502595,14.586038663378272 -90.490723752933832,14.586038936357014 -90.490735083119276,14.586054144800064 -90.490738829613491,14.586059153729819 -90.490741479473044,14.586062705443874 -90.490744495218834,14.586066712787018 -90.490744677650113,14.586066985765731 -90.490746140171126,14.586068898610543 -90.490752901388277,14.586078005211615 -90.490755003954376,14.586080737989429 -90.490759390494404,14.586086566852016 -90.490768255302612,14.586098315902285 -90.490782143627158,14.586116984732648 -90.49078534180569,14.586121265054198 -90.490787169190114,14.586123723856254 -90.490801239949093,14.586142665664671 -90.490821067024555,14.586169348182201 -90.490832214791212,14.586184283643828 -90.490839432605526,14.586194027525988 -90.490843270831775,14.586199127779965 -90.490852042897345,14.586210875831508 -90.490858805146289,14.586219892102473 -90.490865293236695,14.586228544069476 -90.490865933282436,14.586229364002319 -90.490866023986399,14.586229545655829 -90.490866389873062,14.586230001284832 -90.490866572304597,14.586230274263505 -90.490866754736132,14.586230547242174 -90.490868126555199,14.586232278433028 -90.490872146190654,14.58623774199371 -90.490873784110278,14.586239975620945 -90.490875617508053,14.586242476946705 -90.490873092755535,14.586244256598537 -90.490871782980108,14.586245236254339 -90.490867014799107,14.586248527563427 -90.490863648121035,14.586250930541812 -90.490852894734019,14.586258493811968 -90.490798941262526,14.586296398488045 -90.490796696809554,14.586298000472842 -90.490768645239427,14.586317663967067 -90.490764250107432,14.586320778604451 -90.49076294135476,14.586321667931188 -90.490753403962813,14.586328340872013 -90.4907415283418,14.586336705127893 -90.490731709624171,14.586343646061859 -90.490723480983448,14.586349429674661 -90.490715906718847,14.586354768623901 -90.490709641207005,14.586359218246482 -90.490701038489462,14.586365268855582 -90.490697765582865,14.586367582499589 -90.490687480035703,14.586374789431591 -90.49068701320877,14.586375055431919 -90.490686647322335,14.586374599802649 -90.490682261803684,14.586368680609883 -90.490671113017484,14.586353835469763 -90.490667548952459,14.58634909951725 -90.490664350773912,14.586344819194018 -90.490653021606022,14.586329520417964 -90.490651742539541,14.586327790222953 -90.490648453657769,14.586323328246017 -90.490638585989515,14.586310032643386 -90.490634747767075,14.586304932386529 -90.490632006179723,14.586301289345895 -90.490616380157149,14.586280433685634 -90.49060797398954,14.586269141256176 -90.490598929825453,14.586256848236495 -90.490580471519337,14.586232167880373 -90.490573618579063,14.586222969949532 -90.490573344420525,14.586222605645437 -90.490566856343051,14.586213953672136 -90.490559273679452,14.586203663825689 -90.490554889190932,14.586197654303229 -90.490554065691754,14.58619665171917 -90.490552421764562,14.586194375566153 -90.490546572709263,14.586186633854359 -90.490529210024135,14.586163501040687 -90.490512670841241,14.586141370810394 -90.490511300049462,14.58613954928965 -90.490501523100392,14.586126435337228 -90.490497320022044,14.58612078912131 -90.490494122873471,14.586116418468414 -90.490490102226417,14.5861110452313 -90.490481332232889,14.586099116513132 -90.490480052145216,14.58609747664589 -90.490474659683898,14.586090372216068 -90.490473472347347,14.58608873334579 -90.490470181424882,14.586084452024018 -90.490468902361087,14.586082721828411 -90.49047582326763,14.586077737220851 -90.490488166730984,14.58606901664942 -90.490499014915827,14.586061273736858 -90.490511733476467,14.58605219583858 -90.49051958803382,14.586046679229284 -90.4905285648166,14.586040361628488 -90.490537356096823,14.586034042033356 -90.490551104129068,14.5860241621442 -90.490552320129424,14.586023271821547 -90.490556154656147,14.586020512519132 -90.490566348460845,14.586013214265543 -90.490569996461517,14.586010543297247 -90.490581781364284,14.586001997394565 -90.490582717063972,14.58600128473752 -90.490601983467798,14.585987398890145 -90.490602077242485,14.585987309558771 -90.490632285594657,14.585965591457702 -90.490636307668808,14.585962653490851 -90.490654639390641,14.585949389967068 -90.490655949164875,14.585948410312318</coordinates></LinearRing></outerBoundaryIs></Polygon>       </Placemark>     </Folder>     </Folder>     </Document>     </kml>


Congressional Redistricting

I have a project coming up where I need to create new congressional district looking at only total population data. I am planning on using the census tract level of data, but I am having some difficulties creating the coding that I will need to complete the project in a timely manner. I want to select a starting census tract and have ArcGIS use the code to select the surrounding tracts until the population limit is reached. What would be the best and most efficient way to do this?


How to symbolize different information that's joined to a single plot in a shapefile

I am a student doing an industrial survey in Windhoek, Namibia. We mapped different businesses and later did spatial analysis. Questionnaires were handed to different businesses and then that information was entered into an Excel sheet and joined to the erf shapefile using a field `Erf_Number`. I later found out that some businesses from malls and shopping centers are joined to a single erven/plot. How can one visualize them? * * * **Meaning of erven or erf** : > erf [ɜːf] > > n pl erven [ˈɜːvən] > > (Engineering / Civil Engineering) South African a plot of land, usually > urban, marked off for building purposes [Afrikaans]


Validating Values in Multiple Fields in an Attribute Table

I've been playing around with 'Maintaining Attribute Integrity' functions found here: http://resources.arcgis.com/en/help/...000000n000000/ I see how I can set domains and subtypes to control the values in the attribute table to maintain quality and how to validate features and relationships using the tools ArcGIS provides. I don't know if I am missing something, but I have a situation where values in one field in an attribute table, depend on the value in another field in the same attribute table. Let's have 3 fields (CITY, PROVINCE, COUNTRY) Let's say I set a domain on the CITY field to populate a list of all the cities in the world. I want to be able to validate that the PROVINCE and COUNTRY fields are correct. So, for example, if I enter 'Toronto' in the CITY field, I want to validate that the PROVINCE field is 'Ontario' and the COUNTRY field is 'Canada' I'm not sure how to set up the domains or subtypes to do this. I want to be able to run the validate functionality found here: http://resources.arcgis.com/en/help/...000000v000000/ To throw an invalid error if these conditions aren't met. Can anyone suggest how I can accomplish this? I can do this through python, but the validation in ArcGIS does a lot of things I was going to script, so I'm hoping it will do this for me too. Thanks, Mike


Will osm2po or other tools simplify links between nodes?

To make this clearer, I'm going to use the the word "section" to mean a length of road between two junctions/intersections. I think it is true that osm2po (under default user options) creates a graph in which a section is sometimes made up of more than one link. I'd like to ask if it is possible to make each link equivalent to a section, either using osm2po or using a simple post-processing step. It seems obvious that a simplified graph would be quicker to use in routing and would also correspond more neatly to other data sources (such as traffic information) Thank you, in advance.


How to add attributes to shapefile with Python and pyshp?

I'm using pyshp for creating a shapefile. I need to populate tens of fields with values using the `record()` method of `shapefile.Writer`. I have those values as a list, but have no idea how to send it to the method without enumerating them as `w.record(values[0], values[1], etc.)`.


Openlayers complex markers

I have an example that displays an image as well as a string for each marker. My designers want the string to be displayed on top of the image and I don't know how long the string can be. Also I need to display more information + have some interaction. Is it possible to display a DIV instead of an image for a marker Thanks, Ropo


How do I make data points different sizes based on data?

I am trying to plot sales data on a map using QGIS. I will add the disclaimer that I am a rookie at using the program. I added the different sales types by adding delimited text layers (utf16). The data included Longitude, Latitude, and Amount. I want to make the dots on the map scale with the value of the sale. Ive had no luck with trying to use Simple Marker->Data defined properties-> size and writing case functions. Some data points show up at different sizes while others show up at all data points. Here are my functions under different simple markers:               CASE WHEN Amount <= 10000 THEN '.2' END     CASE WHEN 10000 < Amount < 75000 THEN '.4' END     CASE WHEN 75000 < Amount <= 250000 THEN '.6' END     CASE WHEN Amount >= 250000 THEN '1' END      The majority of my data set falls into the 10-75k range. However the .4 and .6 size circles show up at every data point on the map, while the .2 and 1 sizes only show up where the data specifies (along with the .4 and .6 sizes). At this point I am trying to figure out what is wrong with the equations, however I am stuck. Is there a better way to go about this? Or am I just simply messing up the equations? Any help is greatly appreciated! Edit: Thanks Everyone for the help on this one, I really appreciate it! I wish I could share my whole map with you but it is looking great. I went with U/Joseph 's solution and here is an excerpt of the results for those interested. ![enter image description here](http://i.stack.imgur.com/cbfKW.png) Thanks again


gdal-grass plugin for gdal 1.8

I'm facing a big issue...i moved from the ubuntugis version of grass to the svn one. I managed to compile the svn (releasebranche6.4) version nicely but i can't download the gdal-grass plugin for the latest version of gdal (the ubuntugis version) 1.8 because remotesensing.org/pub/gdal or download.osgeo.org doesn't work at least in my country (Sénégal). I use ubuntu 11.04 natty, grass 6.4.2svn and gdal 1.8.0-2 So what can i do to install this plugin ? i already scan many website during 3 days without success....any clue ? PS : sorry for my basic english


ArcObjects VB.Net - Editing in Geodatabase

Greetings, I have a script in VB.Net for grabbing values from one feature and assigning them to another. It works fine on shapefiles, but upon importing the same shapefiles into a file geodatabase, I get an error thrown at me.                   Try             'Start edit operation             pEditor.StartOperation()                  'Update the new fields with the correct values             pFeature.Value(pFeature.Fields.FindField("ReachCode")) = strReach             pFeature.Value(pFeature.Fields.FindField("Measure")) = dblMeas             pFCursor.UpdateFeature(pFeature)                  'End edit operation             pEditor.StopOperation("UpdateFields")                  pFeature = pFCursor.NextFeature              Catch e As Exception             'Cancel edits and exit loop             pEditor.AbortOperation()             MsgBox("There has been an error... edits will not be saved.", MsgBoxStyle.Exclamation, "Error")             pEditor.StopEditing(False)             Exit Sub         End Try     Loop      The loop is an update cursor for the feature class. When working in the geodatabase, the first update is applied fine, but when it reaches the "pFCursor.UpdateFeature(pFeature)" in the second loop, it throws this error: > "The cursor has been invalidated because the edit operation has stopped" Is there some syntax change when working in geodatabases with respect to starting and stopping editing operations? Thanks so much, DR


How do I know if the DEM has z values?

How do I know if the DEM contains z-values ? By looking at the DEM's layer properties and it does not mention the z values. I then add it to the ArcScene and tried to find it..nothing... It only shows the x,y values. Thanks.


File Geodatabase Open API

Any ESRI boffins (insiders) know when this will be available? 2010, 2011? **FINAL UPDATE** now released 20th January 2011 - Can be downloaded here - http://resources.arcgis.com/content/geodatabases/10.0/file-gdb-api (esri login required for legal/terms & conditions) UPDATE: **File Geodatabase API BETA in January 2011** >> http://blogs.esri.com/Dev/blogs/geodatabase/archive/2010/12/13/File- Geodatabase-API-details.aspx Slighty dated is: When will you open access to the file geodatabase (without using ESRI software)? We have been working to answer user requests for a way to access and use the file geodatabase without using ArcObjects. With the release of ArcGIS 9.4 [Now ARCGIS 10] next year, we will provide an open API for the file geodatabase When will you open access to the file geodatabase (without using ESRI software)? **News:** Beta begins in January 2011 (see answers below).


Web GIS Development Skill Sets

What technologies and skill sets should one who wants to do web GIS development study/acquire? One skill/technology per answer please.


Call ArcGIS Explorer Extension methods from ArcGIS Explorer Button Addin

I am wondering if anyone might be able to provide some guidance on accessing methods/properties from an ArcGIS Explorer Extension addin. Currently the addin is loaded when the applications runs, then it creates connections to a number of datasets. Since i have a number of different addins that all reference the same data, i would like to create only a single connection to the data, hence the extension class. What i am having troubles with is getting access to the extensions methods/properties from my other Addins. Would anyone have any recommendations on how to potentially connect and obtain these items from an already loaded extensions addin?


Open large aerial image in ArcMap

Is it possible to open a large image (20 to 30 GB file size) in ArcMap? I wanted to know this in advance before doing a project in which I would use UAV to capture very high resolution images and then produce a composite/mosaic final single image.