title: MapServer: Symbol color is set in mapfile. Is there a way to change it using javascript (ie not in mapfile)?

text:
I have a mapfile where the symbol color is set to blue. In my html I have a hover event that brings a popup when the user puts their cursor over the symbol. Working as intended. Now on that same hover, I'd like to change that blue to another color. This seems tricky as the color is set in the mapfile. I added a class to my html tag, but can only modify content within the popup div...or so it seems. map_body.html. Apologies for the lack of formatting but I tried to format it nicely within vim and got an unexpected token error, so I guess it has to be like this.               <! -- MapServer Template -->     <area shape="circle" class="map_circle" coords="[shpxy precision=0 proj=image yf=",7"         xf=","]" title="" alt="" onmouseover='displayCityInfoHover("

[Name],	     [ICAO]

", [shpxy precision=0 proj=image yf=",7" xf=","],      [shpxy precision=0 proj=image yf=",7" xf=","])' onmouseout="hideCityInfoHover()"      onclick='displayCityInfo("

Name:	[Name]

     Airport Code:	[ICAO]

Lat:	[LAT]

     Long:	[LONG]

")' ">


title: Web service to see postgis polygons

text: Is there any website or web service where I throw a polygon postgis and he show me on the map this polygon. Example: I put this               POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))      and the service show me the polygon on a map? I don't want to create a full application, only want see the polygons that the Mondrian/Pentaho give me and I'd like to see the polygon on a map. If exists some plugin to pentaho that do this, would be perfect.


title: VIIRS Day Night Band and alternatives for night satellite images

text: Has anyone worked with VIIRS Day Night Band? I want to download few images to get a map of night scene of Central Europe (city lights etc). I use friendly interface at NOAA (http://www.class.ncdc.noaa.gov/saa/products/search?datatype_family=VIIRS) and I've downloaded few images already. The problem is that there was only one nice image and the rest of them were in 95% covered with value 0 (although they were taken in the same night!). My questions are: Is there any way to preview VIIRS Day Night Band images before download? Does mosaic of night scene images for Europe already exist and is available for download? Do you have any other ideas where to find remotely sensed images of earth at night? Thanks for any advices! Cheers! Rok Ciglič


title: Replicate Import Symbology Matching Dialog in ArcObjects?

text: In Arcmap I can render a layer with same symbolgy applied to different fields by way of re-importing the .lyr file and choosing a Value Field. How can I replicate this functionality in ArcObjects?


title: Format MODIS HDF to Geotiff in MRT

text: Am using Modis Reprojection Tool (ModisTool) on MODIS LST data (MOD11A1) to convert to GeoTiff format. When I run it I get this error message:               Error: OpenGeoTIFFFILE: Opening Output Image File     Unable to open C:\(directory)\ ..LST_Day_1km.tif: Cannot open.      What is the correct syntax to use? Is there some way to debug this error?


title: calculate costs based on way difficulty

text: I am using Osm2Po to find routes between two points. I am trying to find routes based on the difficulty specified by the user. Basically, I would like to calculate the cost based on some parameter in the way. For now this parameter could be the type of road e.g. if its a primary road the cost would increase. If it was a secondary road it the cost would decrease especially. Any road with a cyclelane would have the best cost. I have been looking into overriding the DefaultRouter methods: traverse, findpath and calcEdgeCost. I was thinking that I could get the clazz type from the edge being currently examined and set its cost using calcEdgeCost. One problem is that for some reason calling getVertexClazzes returns nothing but zeroes. getEdgeFlags returns null. Here is part of my osm2po.config which might be relevant #wayTagResolver.class = com.to.another.package.YourWayTagResolver   #nodeTagResolver.class = com.to.another.package.YourNodeTagResolver   #relationTagResolver.class = com.to.another.package.YourRelationTagResolver               # Properties of the DefaultWayTagResolver use this prefix.     wayTagResolver.prefix = wtr          # Custom flags with ascending binary values 1, 2, 4, 8 ...     # You may define up to 32 Flags (Bits).     wtr.flagList = car, bike, foot, rail, ferry           # final decision; only allow ways with these flags     wtr.finalMask = bike          # very special hint for level_crossing modification     wtr.shuttleTrainMask = rail|car          # Main-Tag definitions. Params 1-4:     # 1) concurrent order     # 2) class (1-127)     # 3) default speed in kmh     # 4) allowed transportation type (optional) - since v4.5.30          wtr.tag.highway.motorway =       1, 11, 120, car         wtr.tag.highway.motorway_link =  1, 12, 30,  car         wtr.tag.highway.trunk =          1, 13, 90,  car         wtr.tag.highway.trunk_link =     1, 14, 30,  car         wtr.tag.highway.primary =        1, 15, 15,  car|bike         wtr.tag.highway.primary_link =   1, 16, 30,  car         wtr.tag.highway.secondary =      1, 21, 15,  car|bike         wtr.tag.highway.secondary_link = 1, 22, 15,  car|bike         wtr.tag.highway.tertiary =       1, 31, 12,  car|bike         wtr.tag.highway.residential =    1, 32, 12,  car|bike         wtr.tag.highway.road =           1, 41, 14,  car|bike         wtr.tag.highway.unclassified =   1, 42, 12,  car|bike         wtr.tag.highway.service =       1, 51, 5,   car|bike       wtr.tag.highway.living_street = 1, 63, 7,   car|bike|foot           wtr.tag.highway.pedestrian =    1, 62, 5,   bike|foot         wtr.tag.highway.track =         1, 71, 10,  bike|foot         wtr.tag.highway.path =          1, 72, 10,  bike|foot         wtr.tag.highway.cycleway =      1, 81, 15,  bike         #wtr.tag.highway.footway =       1, 91, 5,   foot         #wtr.tag.highway.steps =         1, 92, 5,   foot         wtr.tag.route.ferry =            2, 01, 10,  ferry        wtr.tag.route.shuttle_train =    2, 02, 50,  rail|car        wtr.tag.railway.rail =           3, 03, 50,  rail


title: How do I read a File Geodatabase using R?

text: File geodatabase (fgdb) includes numerous file geodatabase tables. As far as I know they exist as `dbf` files, but are within a `Database.gdb`. In ArcCatalog, the file pathway resembles `C:\Users\\...\Database.gdb\Stats_AA`. How to read all of these `dbf` files into `R` (a statistical software)? What is the correct pathway to supply? The function used is `read.dbf` (in the foreign package). Variants of               test<-read.dbf(file="C:/Users..Database.gdb/Stats_AA.dbf")       and               test<-read.dbf(file="C:/Users..Database/Stats_AA.dbf")       don't work. What's the correct "form" of the file name to be used, or, do I need to export all of the file geodatabase tables into some other form or location?


title: Distance Calculation Output Does Not Identify Input Points

text: I'm using ArcMap 10 to do distance calculations between a large set of points, using the point distance calculator. The output table generated gives me distances correctly, but the output categories Near_FID and Input_FID are all the same Here is what I'm doing: I have a csv file with lat, long, FID, and a couple of other object identifiers. I use "add data" in ArcMap, and pull in the csv. From ArcToolbox I use "Make XY Event Layer" to generate a layer with all the observations or objects. I then use the Point Distance calculator and set the new layer as both the "Input Features" and "Near Features." It calculates distances for all points, correctly from what I can tell, but the "Input_FID" and "Near_FID" both take on the same single value repeated, and don't even match any of the FID numbers from the original layer. As a result, I can't identify the paired points. I'm sure I'm doing something terribly wrong, as I'm an ArcGIS neophyte, so any help or suggestions anyone can offer would be greatly appreciated. Thanks!


title: Applicable OpenLayers settings for WFS layer

text: I am trying to display a WFS layer on an OpenLayers map. Here are the appropriate portions of _GETCAPABILITIES_ response.               <ows:Operation name="GetFeature">       <ows:DCP>         <ows:HTTP>           <ows:Get xlink:href="http://localhost/MapServer/Default.aspx"/>           <ows:Post xlink:href="http://localhost/MapServer/Default.aspx"/>         </ows:HTTP>       </ows:DCP>       <ows:Parameter name="resultType">         <ows:Value>results</ows:Value>         <ows:Value>hits</ows:Value>       </ows:Parameter>       <ows:Parameter name="outputFormat">         <ows:Value>text/xml; subtype=gml/3.1.1</ows:Value>       </ows:Parameter>     </ows:Operation>     <ows:Parameter name="srsName">       <ows:Value>EPSG:4326</ows:Value>     </ows:Parameter>     <ows:Constraint name="DefaultMaxFeatures">       <ows:Value>20000</ows:Value>     </ows:Constraint>      The feature I am trying to display:               <wfs:FeatureType>       <wfs:Name>Data_ACTIVE</wfs:Name>       <wfs:Title/>       <wfs:Abstract/>       <ows:Keywords/>       <wfs:DefaultSRS>EPSG:4326</wfs:DefaultSRS>       <wfs:OutputFormats>         <wfs:Format>text/xml; subtype=gml/3.1.1</wfs:Format>       </wfs:OutputFormats>       <ows:WGS84BoundingBox>         <ows:LowerCorner>-102.01545715332 28.970645904541</ows:LowerCorner>         <ows:UpperCorner>-71.021598815918 43.1671752929688</ows:UpperCorner>       </ows:WGS84BoundingBox>     </wfs:FeatureType>      **Here is the code I am using:**               $(document).ready(         function () {             // allow testing of specific renderers via "?renderer=Canvas", etc             var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;             renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;             var geographic = new OpenLayers.Projection("EPSG:4326");             var mercator = new OpenLayers.Projection("EPSG:900913");                  map = new OpenLayers.Map({                 div: "map",                 layers: [                     new OpenLayers.Layer.WMS("OpenLayers WMS",                         "http://vmap0.tiles.osgeo.org/wms/vmap0",                         { layers: "basic" }                     ),                     new OpenLayers.Layer.Vector("GML", {                         strategies: [new OpenLayers.Strategy.Fixed()],                         protocol: new OpenLayers.Protocol.WFS({                                 url: "http://localhost/MapServer/Default.aspx",                                 featureType: "Data_ACTIVE",                                 featureNS: "http://www.tstgis.org/gml",                                 version: "1.1.0",                                 geometryName: "line"                             }),                             renderers: renderer                         })                 ],                 zoom: 15             });                  var bb = new OpenLayers.Bounds(-179.821327209473, 12.1057098342161, -56.5289154052734, 78.1442901657839);             map.zoomToExtent(bb);     });      I see a post request being made to the server for the layer and a result coming back but it is not displayed at all. Why would the layer not show? Any help would be appreciated. **NOTE**   This test script is part of an HTML shell that is running under localhost/mapserver, so it rules out the familiar cross-domain issue.


title: Reshaping polygons while preserving area

text: I'm looking to manually skew the shapes of areal polygons, but need to ensure their areas are not altered. Is anyone aware of any GIS tools or programming workflows that exist for manually reshaping spatial polygons while preserving areas? I wonder if there is an approach that utilises anything like the force- directed algorithms used in graph drawing. Grateful for any advice.


title: Problem with pie-charts when exporting them to an image file

text: I have 3 vector layers: a map of Europe and N.Africa, a line layer, and a point layer (on the top). I have created pie-charts over the points in QGIS 1.7.3, and on QGIS itself, they look fine. ![enter image description here](http://i.stack.imgur.com/bfvog.jpg) However, when I export them as image files using the Print Composer, I notice that they are all over the place (as you can see in the 2nd picture)![enter image description here](http://i.stack.imgur.com/SkeZJ.jpg) This problem is also occurring in QGIS 1.8.0. Can you please tell me how I can fix this? Thanks.


title: Poor image quality of raster pyramid files in ArcGIS (no anti-aliasing)

text: There are several GeoTIFF files (size ~7000x7000 px) which I try to open in ArcGIS Desktop 10.0. I have already created raster pyramids for them (.ovr files) using geoprocessing tool but their quality is rather bad (0.25 resize): ![small example](http://i.stack.imgur.com/YZS0k.jpg) Each GeoTIFF file has many thin details - actualy it is CAD drawing saved to raster. I have tried to do manual resize for GeoTIFF in free image viewer and used resample + anti-aliasing. Result looks great (0.25 resize): ![small example](http://i.stack.imgur.com/MlSsk.jpg) Standard resample methods (in ArcGIS 10.0) which I have used for pyramid creation didn't give me any good result. I also tried to view image without pyramids - same thing. Then I have tried to create that pyramid file (.ovr) using GDAL library (GDALDataset.BuildOverview). But GDAL also is not capable of using anti- aliasing when generating OVR files. Another way is to generate OVR file manually. I have tried to find any library to create OVR file. Nothing. Soon, I have realized that OVR actually is a multipage TIFF file. When I have created OVR file manually in image editor (as multipage TIFF), renamed and tried to use it in ArcGIS - I saw black screen with some distorsion. Some problem with color palette may be. I also have not found any OVR specification. Does anybody know is there any possibility to generate such pyramid files using anti-aliasing to improve image quality? May be any links to OVR specification or libs? EDIT1: Here is part of raster which can be used as an example (try to build pyramids in ArcGIS). EDIT2: In order to completely answer to a comments concerning changing resampling method when building pyramids I have tried all methods in ArcGIS. Then I have opened each ovr file as multipage tiff and took one pyramid level and saved it to a separate file. Then I have resampled same source image in freeware viewer (IrfanViewer) to the same size (pyramid level). Source image has size 5001 x 3361 px. Pyramid level has size 313 x 210 px. So, image was reduced in 16 times. Here is my results:   * Nearest resampling method (from pyramid file): ![example nearest](http://i.imgur.com/W3Q2e.jpg)   * Bilinear resampling method (from pyramid file): ![example bilinear](http://i.imgur.com/DUgFt.jpg)   * Cubic resampling method (from pyramid file): ![example cubic](http://i.imgur.com/Su94m.jpg)   * Resample with anti-aliasing in IrfanViewer to the same size: ![example anti-aliasing](http://i.imgur.com/Na04T.jpg) EDIT3: I am providing one of my source georeferenced rasters and its resampled example to show the quality which I am trying to achieve in pyramids.


title: pg_routing / osm2po routing not working

text: I'm trying to make working pgrouting 2 but no luck. Generally it is working but routing table is completely wrong. I did import osm database using osm2po():               java -Xmx1024m -jar osm2po-core-4.7.7-signed.jar cmd=tjsp prefix=cr tileSize=x czech-republic-latest.osm.pbf      Then i import result sql into postgres table with enabled pgrouting. After that i renamed "id" to "gid" and "geom_way" to "the_geom". After that i locate start and end point ID's which match what i want ( when i select result GID from cr_2po_4pgr it match extactly the street i'm looking for. Then i run this:               SELECT seq, id1 AS node, id2 AS to, cost     FROM pgr_astar (         'SELECT gid as id, source, target, cost, x1, y1,x2, y2 FROM cr_2po_4pgr', $start, $end, false, false     );      where $start and $end is gid of starting and ending street. Result route is completely useless, look like random jumps over maps, visiting streets and cities which are over 200km from start/destionation points. I assume that "to" field is gid from cr_2po_4pgr or i'm i wrong ?


title: Is it Better to Use Google Maps or OpenStreetMap When Dealing With Data Points in both Urban and Rural Areas?

text: * My application tracks cancer-related trends across multiple US States.   * Most of the patient data in the application deals with people who live in poor, rural, or under-served regions.   * We want to start taking data from some of our demographic-related reports and plotting them on maps (e.g., pointing out cancer trends / screening by region and county) That all being said, is it better for us to go with an Enterprise-level license of Google Maps due to the way the data is collected (by professionals with fancy tech)? Or is it better for me to go with OpenStreetMap since it may contain mapping data for more of the extremely remote areas some of our patients live in?


title: PROJ4 Library error in combination with MapServer 6 and CentOS 6

text: I have recently compiled MapServer 6.2 on a CentOS 6.3 machine. Since I compiled it `\--with-proj=/usr`, all the PROJ4 related stuff resides in `/usr/share/proj`. I've also installed proj4 with `yum install proj`, which installed PROJ4-Version 4.7.0.1. I wanted to establish a simple WMS Server but ended up having these `"no system list, errno: 2 "` errors when issuing a GetMap-Request. Weirdly, my PROJ4-Installation did not establish any epsg-File in `/usr/share/proj`, so I downloaded the current source of PROJ4 and extracted the epsg file from there and copied it to `/usr/share/proj/epsg` - after that I am getting similar errors, just with `errno: 20` instead of `errno: 2`. Here is my mapfile: wms.map This is the request I am getting errors with:               http://*.*.ch/wms?map=wms.map&SERVICE=WMS&VERSION=1.3&REQUEST=GetMap&LAYERS=Axis_NS&STYLES=&SRS=EPSG:21781&WIDTH=400&HEIGHT=300&FORMAT=image/png&BBOX=591800,185500,615000,201000      How can I debug this, and why did my PROJ4-Package not have an EPSG File included? Notice there is also no /nad-Folder, just two files nad27 and nad83 as well as nad.lst.


title: How to consume secured arcgis map (role based active directory users) with SharePoint?

text: What is the best way to consume a secured arcgis map with sharepoint?


title: Google Infowindow Position

text: I am using google maps and using markers on the map. When user clicks on any marker showing related information in the Infowindow and every thing is working fine. But every time the infowindow opens on top of the marker. Our requirement is infowindow should open/come left,right,top or bottom with respective to the available space. Thanks                google.maps.event.addListener(marker, 'click', function() {              if(infowindow){                  infowindow.close();              }              infowindow  = new google.maps.InfoWindow();              //var centerPos = new google.maps.LatLng(latlng.lat(), latlng.lng());              //map.setCenter(centerPos,65);              infowindow.setContent(contentString);              infowindow.open(map,marker);              });


title: remember QGIS instance

text: it would be absolutely great if someone could help me with the following problem: I have a simple Python-Plugin that starts another executable in a subprocess. From within this application (which can't be modified on a large scale) I want to start another python-script that shows some pois in QGIS. But the problem is, that this script doesn't seem to have access to the current QGIS instance (no qgis.utils.iface object). Is there ay way to remember the QGis-instance object or access it by looking through the currently running processes? Thanks a lot in advance! Kian


title: How to consecutively number polygons from north to south following a polyline?

text: I have a shapefile (polygon) with a large number of polygons (roughly 10,000) that form a narrow but very long belt that windes through half a country and another shapefile (polyline) that represents the western border of the belt. Of those 10,000 polygons only about one third touches the border. So simply cutting the line into smaller lines using intersect, number those and then join back does not work. I need to gibe each polygon a unique ID-number that consecutively increases from the first polygon in the north to the last polygon in the south. My first idea, to simply create centroids, calculate the y-value for them and sort decreasingly, does not work either because the southern end is not the most southern point of the belt. My question now is how to get this done with an automated action and without leaving the polygons behind that do not touch the border. **Edit:** ![Example](http://i.stack.imgur.com/5RDCM.png)


title: python sqlite giving errors

text: I have python code that I am executing but it gives me following error:               <sqlite3.Cursor object at 0x7f3c7666dc00>      when I execute the cur.execute(statement). the code that is below the cur.execute is not read and nothing gets written. here is part of the code i am using               statement = 'select "index",path,id from %s' %(table,) + " WHERE done IS NULL AND job = '%s';" %(job,)     cur.execute(statement)     for row in cur:         print row         pszFilename = row[1]         name = os.path.basename(pszFilename)         foo = int(name[2:4])         if foo%2 == 0:             meridian = foo + 1         else: meridian = foo              print 'meridian: ',meridian


title: How do I open a shapefile in QGIS for upload to Garmin GPSmap 62?

text: I now have a polygon and have succesfully raised 25 random sample points and saved as a shape file. I have checked that GPS utility and the shape file are set at 27700 BNG but when I try and open the sample points shape file in GPS utility it says cannot open shape file. Can anybody help and is there an easy solution as I need to sample these points soon!


title: How to get Native Bounding Box minx,miny,maxx,maxy using openlayers?

text: I am trying to develop GIS application using GEO SERVER and OPEN LAYERS i want to get bounds from geo server Native Bounding Box data of a layer instead of manually hard code               var map;     var key = 0;     var fromNo = "";     var toNo = "";     var colorId = "";     var count = 0;     function init(){          format = 'image/png';        if(map)     map.destroy();     var bounds = new OpenLayers.Bounds(         8568700.4305088, 1677704.30921461,                         9195694.68892519, 2070938.3484273     );          var options = {         controls: [],         maxExtent: bounds,         maxResolution: "auto",         projection: "EPSG:900913",         units: 'degrees',         minZoomLevel: 0, numZoomLevels:15,maxZoomLevel:15        };     var  click_ap ;     var values = new Array();     map = new OpenLayers.Map('map', options);              $('.selectionTable tr').each(function() {                  fromNo  =  $(this).closest("tr").find(".fromNo").val();             toNo    = $(this).closest("tr").find(".toNo").val();             colorId = $(this).closest("tr").find(".colorSelect option:selected").val();             apZoomLevel1 = new OpenLayers.Layer.WMS(                        "ap",                         "http://localhost:8090/geoserver/scmapWithSelectColor/wms??request=getCapabilities ",                         {'layers': 'scMapQuery',                          viewparams: 'fromNo:'+fromNo+';toNo:'+toNo+';colorId:'+colorId+';',                         'transparent': true,isbaselayer:false},{                            singleTile: true,opacity: .5                         }                   );                   values.push(apZoomLevel1);          });          click_ap = new OpenLayers.Control.WMSGetFeatureInfo({      url:'http://localhost:8090/geoserver/scmapWithSelectColor/wms',       title: 'Identify features by clicking',      layers: [apZoomLevel1],      queryVisible: true,      eventListeners: {      getfeatureinfo: function(event) {          if (ContentFilterAp(event.text,'hos').length>0){     //alert("localitieslevel3");         map.addPopup(new OpenLayers.Popup.FramedCloud(             "apZoomLevel1",              map.getLonLatFromPixel(event.xy),             null,             ContentFilterAp(event.text,'hos'),             null,             true                 ));}             }             }         });                    gmap = new OpenLayers.Layer.Google     (         "Google Streets"       );          ghyb = new OpenLayers.Layer.Google     (        "Google Hybrid",        {type: google.maps.MapTypeId.HYBRID}     );         map.addControl(new OpenLayers.Control.Navigation());              map.addControl(new OpenLayers.Control.LayerSwitcher({'div':OpenLayers.Util.getElement('layerswitcher')}));         map.addLayers([gmap,ghyb]);         var length = values.length;         if(length > 0)         {             for(i=0;i<length;i++)             {                 //debugger;                      map.addLayers([values[i]]);             }         }                   map.addControl(new OpenLayers.Control.PanZoomBar({              }));         map.addControl(new OpenLayers.Control.Navigation());         map.addControl(new OpenLayers.Control.Scale($('scale')));         map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));              map.zoomToExtent(bounds);              map.addControl(click_ap);         click_ap.activate();         map.events.register('zoomend', this, function (event) {          }); }      actually above bounds are hard coded but actually apzoomlevel1 have native bounds how to get those one ? actually those bounds usefull in `map.zoomToExtent(bounds);` based on that map zoom will change


title: how to cast integer to float in an ogrinfo sql statement?

text: I have a shapefile for which I would like to add the values in a column. As the sum exceed the capacity of an integer, I need to cast values to a float. I tried the following:               ogrinfo -sql "SELECT sum(cast(POP as float(10,0))) FROM Settlement_points" Settlement_points.shp      ogrinfo returns error messages like:               ERROR 1: Invalid index : -1     More than 1000 errors or warnings have been reported. No more will be reported from now.     OGRFeature(Settlement_points):0       SUM_FIELD_1 (Real) = 0      1./ How can I correct my sql statement? 2./ What is actually processing the sql statment in ogrinfo; are there some limits?


title: How to interpret the OSGeo4w software version under Advanced Install option?

text: When choosing to install QGIS Desktop using the OSGeo4w advanced install option, I noticed that there are what looks like ambiguous software versions to choose. For example, currently QGIS Desktop is: 1.8.0-4 or if you click on the version, it changes to 1.8.0-3 and under the libraries to choose: OGR FileGDB Driver (Is this the ESRI API) 1.9.2-1 or if you click on the version, it changes to 1.9.0-1 What does the number after the hyphen refer to? It seems like it could install any number of versions, but likely it has a specific meaning. Thanks! (I'm going to install QGIS Desktop with FGDB support, and I think GDAL 1.9.0 is the one that's been proven to work with QGIS)


title: Free GIS workshops, tutorials, and applied learning material

text: _**Note 1:** Please enter answers separately **or** feel free to edit this post directly_ _**Note 2:** Please report on any broken links so they can be removed_ This thread lists free as in $0 workshops in GIS and related fields that have their material available to view or download online. The list is not limited to FOSS GIS, as GISers usually use a combination of open and closed source tools to accomplish their tasks. Some of these tools are easier than others and some are better documented. This list will be a great benefit to the community especially for new comers to the field. # General GIS   * GIS Tutor: Beginner / Intermediate Level GIS thanks to radek   * BostonGIS thanks to simo   * ELoGEO Repository thanks to radek   * Lectures on GIS for the Social Sciences thanks to ubernatural # Open-source GIS   * OpenGEO Education Center thanks to radek   * QGIS Videos (faunitalia) thanks to simo   * GIS SE Question: Geoserver Tutorials thanks to com   * GIS SE Question: Open Source Training Materials thanks to Mark Ireland   * QGIS for Newbies thanks to Ian Allan # ESRI Products   * ArcGIS Geoprocessing thanks to radek   * GIS SE Question: Best place for (structured) ArcGIS tutorials thanks to robintw   * ArcGIS Automation and Programming thanks to Bethany # Transportation These links include either theoretical or applied transportation knowledge in transportation planning   * GIS primer for Transportation   * Three years worth of webinars and workshops on Transportation Modeling   * Transit Capacity and Quality of Service Manual   * UrbanSim: FOSS Urban development, socio economic, and land use planning package   * MOVES(Motor Vehicle Emission Simulator) Workshop and technical background   * Transit GIS tutorials   * Remote sensing in transportation workshop   * Florida's CBT planning model explained # Disaster Management   * Geo-information Technology for Crisis Management  # Databases   * Spatial Database Course Material thanks to radek # Geo Statistics   * Learn R Lectures and Classes   * Geodatabase Mining Course thanks to radek   * A Practical Guide to Geostatistical Mapping


title: MySQL to GeoJSON - Formatting Issue

text: I'm trying to make a select on a mysql table and then write it out to a geojson file. I'm getting close but there are a few issues. Here's what I have so far:               <?php     require("dbinfo.php");          // Opens a connection to a mySQL server     $connection=mysql_connect ($hostname, $username, $password);     if (!$connection) {       die('Not connected : ' . mysql_error());     }          // Set the active mySQL database     $db_selected = mysql_select_db($database, $connection);     if (!$db_selected) {       die ('Can\'t use db : ' . mysql_error());     }          // json output     $query = 'SELECT * FROM markers LIMIT 5';     $dbquery = mysql_query($query);     // $rows = array();     // while($r = mysql_fetch_assoc($dbquery)) {     //  $coords = $rows['lng'] . ", ";     //     // $rows[] = $r;     // }          if(! $dbquery )     {       die('Could not get data: ' . mysql_error());     }          // Parse the dbquery into geojson      // ================================================     // ================================================     // Return markers as GeoJSON     $geojson = array(         'type'      => 'FeatureCollection',         'features'  => $feature      );          while($row = mysql_fetch_assoc($dbquery)) {         $feature = array(             'type' => 'Feature',            'geometry' => array(             'type' => 'Point',             'coordinates' => array($row['lng'], $row['lat'])                 ),           'properties' => array(                 'name' => $row['name'],             'comment' => $row['comment']                 )             );         array_push($geojson, $feature);     };     mysql_close($connection);          // // Return routing result         header("Content-Type:application/json",true);         //header("Location:map.html");         echo json_encode($geojson);     ?>      The result I get is:               {"type":"FeatureCollection","features":null,"0":{"type":"Feature","geometry":{"type":"Point","coordinates":["-122.677811","45.569889"]},"properties":{"name":"Bear on a Box","comment":"Bear on a box."}},"1":{"type":"Feature","geometry":{"type":"Point","coordinates":["-122.653770","45.542503"]},"properties":{"name":"test","comment":"aksdhvah"}},"2":{"type":"Feature","geometry":{"type":"Point","coordinates":["-122.675400","45.515690"]},"properties":{"name":"Bike Art","comment":"Bike pile."}},"3":{"type":"Feature","geometry":{"type":"Point","coordinates":["-122.688789","45.517735"]},"properties":{"name":"Goose","comment":"lipsumLorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ut urna dolor. Sed iaculis velit quis nis"}},"4":{"type":"Feature","geometry":{"type":"Point","coordinates":["-122.649132","45.513401"]},"properties":{"name":"Goose","comment":"lorem ipsum"}}}      So, the issue is that the "features" item does not hold the rest of the info as an array. It remains 'null'. Then, it appears the array position is written into the result which I don't want either. Lastly, I need to get rid of the quotes around the coordinates so it can be read properly by Leaflet's GeoJSON constructor. I'm flailing with arrays and probably not getting it. I mean, does everything that gets pushed into an array have to be surrounded by quotes? Thanks in advance for any help.


title: How do you use folders as input/output parameters

text: What I want to do is to go into a folder, find a layer file, pull it into an MXD, then export a jpeg in an output folder. Everything is great except I don't know how to set the input/output folders.               state =  arcpy.GetParameterAsText(0)     In_Folder = arcpy.GetParameterAsText(1)     Out_Folder = arcpy.GetParameterAsText(2)               lyrfile_o = arcpy.mapping.Layer(In_Folder + str(state) + "_O.lyr")     lyrfile_d = arcpy.mapping.Layer(In_Folder + str(state) + "_D.lyr")     lyrfile_lane = arcpy.mapping.Layer(In_Folder + str(state) + "_Lanes_.lyr")     lyrfile_poly = arcpy.mapping.Layer(In_Folder + str(state) + "_Lanes_Polys1.lyr")      and I get an error like:               <type 'exceptions.ValueError'>: Object: CreateObject Layer invalid data source>      It's written in a text editor then brought into a toolbox and parameters set, both types as folders, the first one (state) is a string. Any ideas?


title: Large Open Street Map OSM file to Shapefile. Is there any hope for 32-bit FME?

text: I have a large OSM XML file (around 8 GB) that I was hoping to process in FME. I have a workbench that I previously used to process smaller files (500 MB) into feature type-specific Shapefiles (e.g. waterway_line, waterway_polygon etc.). In this workbench I simply added the OSM reader, left everything as default, and FME helpfully grouped the features into useful categories - sending each to the appropriate Shapefile. Unfortunately my 32-bit OS cannot manage the larger file. Because the entire XML file has to be read at the start of the transformation the memory just builds and builds until the process limit is reached before FME has even read all the incoming features. One of the things FME does by default is build polygons from lines (raw OSM data doesn't recognise polygons), so if I break the area up into smaller files I could end up with polygons that are artificially split (e.g. landuse areas) and end up being labelled twice and having spurious borders through the middle. One option is to load my OSM file into PostGIS, and FME can read data from PostGIS (I'm assuming this will help overcome the memory limit as the database can be read row-by-row) but then FMW won't know to group features into those useful categories and which Shapefiles they should end up in. Essentially, it looks like I simply can't use FME to process a big OSM file to Shapefiles. What I really want to know is:   1. Is there any way I can convince FME to do what I want?   2. Are there other tools that can create similar convenient Shapefile groupings of feature types?   3. **EDIT** How do Cloudmade and GeoFabrik create their huge Shapefiles? Are they using a different tool I don't know about? Any input much appreciated. (note: I don't have access to a 64-bit FME machine, and the pre-processed Shapefiles from Cloudmade / GeoFabrik are insufficient for my requirements)


title: How to configure QGIS and SAGA on Ubuntu (12.04 and others)?

text: During the past weeks, I have tried QGIS to recognize SAGA via the processing toolbox, both being installed from the ubuntugis-unstable repository. I have tried this on several virtual ubuntu operating systems which I specifically set up for using QGIS. However, I always get the same "Missing dependency.This algorithm cannot be run" (sic) error message. Here's some more information:   * I have tried (l)ubuntu 12.04, 13.04 and 13.10 (each 64bit), installing packages from the respective repos. I    * I am now an ubuntu 12.04 32bit VM   * I am well aware of this post, and yes, this workaround would do the trick! However, installing from the qgis repositories is not an option for me, as I also need the orfeo toolbox packages, which are not provided there :(   * Package versions are `qgis 2.2.0-1`, `saga 2.1.1` and `python-saga 2.1.1`. I had the same problem with the preceding QGIS version.   * I checked the `PATH` variable and successfully launched `saga_cmd`, so everything seems to be in its place. Any help is appreciated -- including first guesses on what may be the problem :)


title: Returning gps points in the form of gpx files in pgrouting

text: I am trying to create a service that returns the shortest path for a given start and end destination. What I did was used shortest path query provided by pgrouting to calculate the vertex and edges that form the shortest path. Then for each of the edges I calculated their corresponding coordinates and send them as points in a gpx file. Now when I plotted the coordinates and joined them by a straight line, it gave me a path but not the curve that I needed. I am wondering what is the best way to send that information, I mean the path information. Currently I am just sending the coordinates. So lets say for a long curve path, do I need to actually send all the intermediate points in the curve to actually plot it like a curve or is there other way. What is the standard procedure? Thanks


title: Looking for best practices for GIS file systems

text: > **Possible Duplicate:**   >  Organization and tidiness issues - How do you deal with multiple copies of > layers? I'm trying to organize my GIS data in a file system. I work with DTED (0,1,2), raster images (geotiff, jpeg..), shapefiles, DEM. I have to define a file system with a list of directories and a file name conventions. The solution must be simple and clear. Is there a standard? Has someone any idea? Thanks very much!


title: Set unique values to different groups programmatically

text: I have a polyline feature layer. After doing some computation, I update a field of that layer and want to set unique color for different value of that field. We can do this from symbology using unique values. But I want to do it programmatically. I know there should be a very easy way to do this thing with arcObjects. But I couldn't find the way. ![enter image description here](http://i.stack.imgur.com/d3EUg.png) I go through How to define a renderer for your layer document. But I did not find the way to set **"Value Field"** and **"Add All Values"** options here. And of course I have tried to use IUniqueValueRenderer.AddReferenceValue Method. But the document is not giving me all necessary information. **Question :** How to set unique color value for different value of a specific field using c#? It will be vary helpful if anyone can give me some pointer about this. Thanks.


title: Roadmap to creating a GIS?

text: Got asked that today in a job interview, I replied with the usual :   * **Gather Data** : what data do we want, do we possess it ? If not how to do we acquire it, etc.   * **Database** : after we have successfully accomplished the first step, we want new data to be implemented in a DB, that'll allow an easier, faster access to data let alone making it questionable and queryable.    * **Design the software** : what traitement do we want, what functional needs do we want to answer, what processes should our GIS use in addressing those issues ? (Business Layer design)   * **Development** : code it.  I have dropped the modeling of the spatial phenomena, which is not always necessary. What other steps have I missed ? What are some details I should know ? I am a fresh engineer, having zero experience yet, so I am hoping for experienced people to make me gain some time and point me to some good reads. As you can notice, most of what I cited is coming from an almost purely software development perspective, I feel like I am missing the GIS part in it. Regards.


title: Is there a CASE Tool for modelling spatial databases?

text: Does anyone knows if there is a CASE Tool that would be possible for modelling spatial tables? I need to create a model and export it to SQL or a database directly. I´m using PostGIS. Thanks in advance.


title: IStepProgressor in While Statement

text: I have implemented DBScan in vb.net (forced to...). I am using a progress bar to track other parts of this tool. These all are implemented in `For` loops. Therefore, incrementing the tracker is not problem. Set the step to 1 and check for cancel at the conclusion of each loop. One key item in DBScan is that it pops _n_ elements off the stack as it generates a cluster. This means that it is not a one iteration to one element mapping. I tried reassigning the step value with each iteration, but this results in the progress bar recomputing and redrawing occasionally. What techniques have others used to implement an progress bar outside of a `for` loop? I am not worried about total accuracy, but would like a relatively close approximation that can scale across a range of input data sizes and total cluster sizes.


title: How to create points around edge of viewshed results?

text: Is there a tool or module, or multiple tools, in ArcGIS that will allow you to automate the creation of points around the outer edges of a viewshed? What I am trying to do is gather data about the elevations on the farthest parts of a viewshed. If I have points, then I can extract the elevation values to the attribute table and then do rise/run calculations from the original point to possibly create a horizon diagram in something like excel. Is this possible?


title: How to Export to PDF after zooming to extent of each feature that meets SQL where clause?

text: I realize that I've asked two similar questions recently, but following suggestions in the comment chain, I'll make this a separate question (separate as it is not the no output problem in ArcPy: (SearchCursor/export to tiff ) with no output or the produces empty feature problem described Arcpy: SQL error in select_analysis produces empty feature). To be clear, the question is explicitly stated as: **How to print a .pdf layout for each record that meets a where clause**. Based on suggestions from @PolyGeo, I'm trying the approach of using a definitionQuery to get the values and then a combination of a search cursor with a panToExtent to print each record. Here is the code:               import arcpy          mxd = arcpy.mapping.MapDocument("C:\\temp\\Graffiti_DM1.mxd")     df = arcpy.mapping.ListDataFrames(mxd, "*")[0]     outpdf="C:\\temp\\1003_zip4.pdf"     where_clause='"Incident_Z" = ' + "'10033'"     graffitidata="C:\\temp\\itscomplicated.shp"          cursor = arcpy.UpdateCursor(graffitidata)          graffitilyr=arcpy.mapping.ListLayers(mxd, "itscomplicated", df)[0]     graffitilyr.definitionQuery=where_clause     for cur in cursor:         cur.rotation = "0"         cur.scale = "1000"         outFile = expdir + "\\" + cur.name + ".pdf"         cur.panToExtent(graffitilyr.getSelectedExtent())         arcpy.mapping.ExportToPDF(mxd,outpdf)               del cursor      However, I'm running into the following problem.               Traceback (most recent call last):       File "C:\temp\defquery_for_in.py", line 15, in <module>         cur.rotation = "0"       File "C:\Program Files\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\_base.py", line 35, in __setattr__         return setattr(self._arc_object, attr, ao)     RuntimeError: ERROR 999999: Error executing function.      If anyone has any suggestions concerning the above error, or suggestions concerning the general setup of the code (specifically the addition of the search cursor within the where clause) I'd be greatly appreciateive. This is the current version of what I'm working with as suggested by @PolyGeo, however it is producing pdfs that have the layout but no data (see comment below).               import arcpy     mxd = arcpy.mapping.MapDocument("C:\\temp\\Graffiti_DM1.mxd")     df = arcpy.mapping.ListDataFrames(mxd, "*")[0]     graffitilyr=arcpy.mapping.ListLayers(mxd, "itscomplicated", df)[0]     where_clause = '"Incident_Z" = ' + "'10003'"     graffitilyr.definitionQuery=where_clause     features = arcpy.SearchCursor(graffitilyr)     count = 1               for feature in features:             df.rotation = "0"             df.extent = graffitilyr.getSelectedExtent(True)             df.scale = "1000"             outpdf="C:\\temp\\" + str(count) + ".pdf"             arcpy.mapping.ExportToPDF(mxd,outpdf)             count = count+1          del features


title: How much error in a transformation?

text: I've been working in GIS for about a year and have a functional grasp of Projections and Transformations from within ArcGIS (10.0). Geosoft Oasis is another program we use. In working with our data we primarily use NAD83 Zone 13 and 14 North. Although WGS84, NAD27, and NAD83(CSRS) often join the mix. With each of these different Coordinate Systems, there are many transformation options to go from one to the other. I would really like to have a better understanding of how much of an error is created in each transformation. To do that, could someone tell me the best way to test this out? As an example, we often have data that spans Zones. What happens when we using Zone 13 projection in our arc project in an area that should be Zone 14, but we don't want to break the data up? How much of a penalty is there if I work in WGS84 and then transform the data into a NAD83 projection (or a NAD27 one)? Are the errors cumulative? If I switch back and forth 50 times will my data move? Or if I switch between 3 Projections using 3 Transformations? I'm not sure of a good method for finding an answer to these questions. I would like to be able to work through it myself instead of taking someone's word for it, but that might be a more technical task than I'm able to do... Any help is appreciated, thanks, Thomas


title: How to get a correct scalebar in QGIS?

text: I apparently have a problem with getting meaningful scalebar values referred to a shapefile in QGIS. I think I tried all solutions suggested in other discussions, but still I don't get it. I use QGIS 1.8.0 Lisboa. The shapefile was downloaded from a reliable source (DIVA-GIS.org), it is a typical administrative areas polygon. In case anyone wants to try it, here it is: http://gadm.org/data/shp/CHN_adm.zip When it was downloaded it came set with WGS84. I set the Project settings to: on the fly projection enabled, Project CRS WGS84/UTM ZONE 33N. I set the layer CRS to WGS84/UTM ZONE 33N. Then I "zoomed to layer" extent and added the scalebar: it reads 10 meters. Whole China seems to span east to west about 60 meters. I also tried to "save as" the shapefile with WGS84/UTM ZONE 33N, got a new shapefile and the new shapefile behaves just the same. There must be a mistake I am doing, but I can't find what. I would really appreciate any help... Thank you!


title: How to estimate the area of rooftops of buildings after detection?

text: ![Sample image attached](http://i.stack.imgur.com/uMQpn.jpg)Presently, i need to find out the area.I have made an gui in which i change thresholds and find out the rooftops as white portion. I have identified the rooftops which are the white regions in the image attached below . Is there any way to get the area of the white portions either by clicking on it or any other way ? Also, how do i save this image from the gui ?


title: When trying to convert an .e00 file into a shapefile with ogr2ogr, getting "ERROR 4: This looks like a compressed E00 file"

text: When I ran this command:               ogr2ogr topo.shp flowe86hyp.e00      I got this error:               ERROR 4: This looks like a compressed E00 file and cannot be processed directly. You may need      to uncompress it first using the E00compr library or the e00conv program.     FAILURE:     Unable to open datasource `flowe86hyp.e00' with the following drivers.       -> ESRI Shapefile       -> MapInfo File       -> UK .NTF       -> SDTS       -> TIGER       -> S57       -> DGN       -> VRT       -> REC       -> Memory       -> BNA       -> CSV       -> NAS       -> GML       -> GPX       -> LIBKML       -> KML       -> GeoJSON       -> Interlis 1       -> Interlis 2       -> GMT       -> SQLite       -> DODS       -> ODBC       -> PGeo       -> MSSQLSpatial       -> OGDI       -> PostgreSQL       -> PCIDSK       -> XPlane       -> AVCBin       -> AVCE00       -> DXF       -> Geoconcept       -> GeoRSS       -> GPSTrackMaker       -> VFK       -> PGDump       -> OSM       -> GPSBabel       -> SUA       -> OpenAir       -> PDS       -> WFS       -> HTF       -> AeronavFAA       -> Geomedia       -> EDIGEO       -> GFT       -> SVG       -> CouchDB       -> Idrisi       -> ARCGEN       -> SEGUKOOA       -> SEGY       -> XLS       -> ODS       -> XLSX       -> ElasticSearch       -> PDF      I've done some research on `e00compr` & `e00conv` so far, not a lot, but some, and have so far not been able to find a simple download that lets me build/make/install the program(s) on a mac. The `e00compr` I found here (https://github.com/fd00/yacp) on github had some kind of weird makefiles (apparently according to its README) for cygwin but none that I was able to use for the `make` command on my mac. And I found some e00compr source code at one point but it was all microsoft builds. Anyway, I'm looking to use something like Grass, ogr2ogr, or some other command line tool to convert this e00 into shp and apparently am needing to uncompress it somehow. I've gone ahead and hosted a sample of the `.e00` file on google drive here: (https://drive.google.com/file/d/0B5inC0VAuhH1Qm9OUGhGUFNOdk0/edit?usp=sharing) in case any of you would like to inspect it.


title: Computational time of well-known compression algorithm

text: I have googled for get information about computational time of some compression algorithms but information seems contradict each other. I need worst case performance of the following algorithm Sliding Window, Open Window, Threshold and STTrace. All algorithms should have quadratic time. Do you confirm?


title: problem with "Con" conditional expression

text: I created a python script where I use Con (Spatial Analyst). Till now I passed the where clause value as `value>1000` and it worked fine for me. But recently I found some raster on which `Con` statement does not work and says that the expression is not valid or something like that. Now I put space before and after `>` sign and the expression is now `value > 1000`. The weird thing is the script works fine now. `Con` does not work when con expression is `value>1000`, for raster files that are big in size, but works fine when con expression is `value > 1000`, for my case, it was 50MB. Only putting two spaces solves the problem **Question:** I go through Con (Spatial Analyst) documentation. I do not find anything that can explain why is this happening. Can anybody explain Why is this weird thing happening?


title: Adding parameters to a category in a script tool

text: There is plenty of documentation on how to add parameters to a category in a python toolbox, (See the bottom of http://resources.arcgis.com/en/help/main/10.1/index.html#/Defining_parameters_in_a_Python_toolbox/001500000028000000/) But I haven't found a way to do this for a script tool. Can this be done? Thanks


title: Convert latitude longitude coordinate to x y coordinate?

text: I'm using a postgis database and java to develop my application. I need to transform my geographic data currently in latitude/longitude format into a x/y format. I found solutions based on UTM coordinates, however points in different zones are a problem. I'm looking for a java library or a algorithm that does exactly this: http://www.whoi.edu/marine/ndsf/cgi- bin/NDSFutility.cgi?form=0&from=LatLon&to=XY Given two lat/lon coordinates, one of them for origin, the output is x and y in meters. Thank you for your time


title: selectedFeatureCount vs featureCount?

text: I do               from qgis.core import *     layer = QgsVectorLayer(r"D:\file.shp", "boundingBoxes", "ogr")     layer.featureCount()      outcome is 428               layer.select(layer.pendingAllAttributesList())     layer.selectedFeatureCount()      outcome is 0 Why the results are not equal?


title: OpenLayers labels overlapped

text: I have a problem with OpenLayers rendering close labels. When two labels are close, it will render the labels texts unreadable. My goal is that when two labels with text overlap each other, one could see the text clearly on a white background. So, if two labels overlap each other, one should be able to read the text of the one on top correctly. For this I used the following characteristics:               pstyle.label = txt;     pstyle.fontColor = "#000000"        pstyle.fontOpacity = 1;     pstyle.fontFamily="Arial";     pstyle.fontSize = "12 px";  //16px     pstyle.fontWeight = "bold";     pstyle.labelYOffset = -10;          pstyle.graphic = false;          pstyle.backgroundGraphic = "/ddrt_WEB/img/WhiteBackground.png";     pstyle.backgroundYOffset = 1;     pstyle.backgroundHeight = 20;     pstyle.backgroundWidth = 180;     pstyle.backgroundGraphicZIndex = 1      Which properties do I have to use to avoid this problems?


title: How do you explain what a .lyr file is?

text: My organization uses .lyr files consistently as a means for our users to view the data and build their mxds. It works great for our purposes, but we have run into an issue where we don't think the users actually understand what a .lyr file does or why its used, and we spend a lot of time dancing around an issue because of miscommunication in definition/terms. How do you explain what a .lyr file is? Assume the user has light/moderate GIS knowledge?


title: Partially cached maps

text: Have anyone tried to set up a tilecache for a certain area of a map, leaving the areas outside of the tiles boundingbox to pure wms calls? Background is I have a map where about 10% of it is accessed way more frequently than others and it would be good to have it cached but at the same time I can not cache the map as a whole due to space restrictions. Can I do this in any tilecaching solution or do I have to split the map in two?


title: Plugging in population data into a map of provinces

text: Have shapefiles for provinces in several countries in an Asian region, but currently trying to plug in animal population data for each province with graduated symbols displayed the data. Am trying to work off a Microsoft Excel Chart that I have made with the data (basically with one row for provinces and the other row for populations)- however, importing via a delimited text layer isn't working. I'm pretty new to GIS, and am wondering if there as an elementary error I am making - do I need to enter vector data for each province in my excel file before these will display? Is there an easy way to elicit this from the shapefile(s) that I have that display the provinces in the country? Thank you so much for your time - I'm trying to learn this as well as I can!


title: OpenLayers: Load Markers dynamically from Text file

text: I am trying to load set of markers dynamically from a text file using OpenLayers.Layer.Text. The problem is that no markers is shown after rendering the page. Below is the JavaScript file that is responsible for drawing the layers and loading the markers.               var mapPanel, tree;     function drawmap() {     var argv = drawmap.arguments;     var source=argv[0];     var target=argv[1];     var size = new OpenLayers.Size(21,25);     var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);     var icon = new OpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png', size,    offset);          mapPanel = new GeoExt.MapPanel({         border: true,         region: "center",         map: new OpenLayers.Map({allOverlays: false}),        center: [44.3869825, 33.3209735],         zoom: 13,         layers: [                       new OpenLayers.Layer.WMS("BaseMap", "http://localhost:8080/geoserver/wms",                     {                         layers: 'Layers:baselayer',                         isBaseLayer: true,                         visibility: true                     },                     {                         buffer: 0,                         visibility: false                     }                 ),     new OpenLayers.Layer.WMS( "Path", "http://localhost:8080/geoserver/wms",                         {                             transparent: 'TRUE',                             layers: 'layers:roadlayer',                              viewparams: 'source:'+source+';target:'+target,                              isBaseLayer: false,                              visibility: true                         }                      )        ]     });           var textlayer= new OpenLayers.Layer.Text( "MarkersText", {   location:"./markers.txt",projection: mapPanel.map.displayProjection});     mapPanel.map.addLayer(textlayer);                                                                  var LayerNodeUI = Ext.extend(GeoExt.tree.LayerNodeUI, new GeoExt.tree.TreeNodeUIEventMixin());           var treeConfig = new OpenLayers.Format.JSON().write([{         nodeType: "gx_baselayercontainer"     }, {         nodeType: "gx_overlaylayercontainer",         expanded: true          }], true);          // create the tree with the configuration from above     tree = new Ext.tree.TreePanel({         border: true,         region: "west",         title: "Layers",         width: 200,         split: true,         collapsible: true,         collapseMode: "mini",         autoScroll: true,         plugins: [             new GeoExt.plugins.TreeNodeRadioButton({                 listeners: {                     "radiochange": function(node) {                         alert(node.text + " is now the active layer.");                     }                 }             })         ],         loader: new Ext.tree.TreeLoader({             // applyLoader has to be set to false to not interfer with loaders             // of nodes further down the tree hierarchy             applyLoader: false,             uiProviders: {                 "layernodeui": LayerNodeUI             }         }),         root: {             nodeType: "async",             // the children property of an Ext.tree.AsyncTreeNode is used to             // provide an initial set of layer nodes. We use the treeConfig             // from above, that we created with OpenLayers.Format.JSON.write.             children: Ext.decode(treeConfig)         },         listeners: {             "radiochange": function(node){                 alert(node.layer.name + " is now the the active layer.");             }         },         rootVisible: false,         lines: false,         bbar: [{             text: "Show/Edit Tree Config",             handler: function() {                 treeConfigWin.show();                 Ext.getCmp("treeconfig").setValue(treeConfig);             }         }]     });          // dialog for editing the tree configuration     var treeConfigWin = new Ext.Window({         layout: "fit",         hideBorders: true,         closeAction: "hide",         width: 300,         height: 400,         title: "Tree Configuration",         items: [{             xtype: "form",             layout: "fit",             items: [{                 id: "treeconfig",                 xtype: "textarea"             }],             buttons: [{                 text: "Save",                 handler: function() {                     var value = Ext.getCmp("treeconfig").getValue()                     try {                         var root = tree.getRootNode();                         root.attributes.children = Ext.decode(value);                         tree.getLoader().load(root);                     } catch(e) {                         alert("Invalid JSON");                         return;                     }                     treeConfig = value;                     treeConfigWin.hide();                 }             }, {                 text: "Cancel",                 handler: function() {                     treeConfigWin.hide();                 }             }]         }]     });          new Ext.Viewport({         layout: "fit",         hideBorders: true,         items: {             layout: "border",             deferredRender: false,             items: [mapPanel, tree, {                 contentEl: "desc",                 region: "east",                 bodyStyle: {"padding": "5px"},                 collapsible: true,                 collapseMode: "mini",                 split: true,                 width: 200,                 title: "Description"             }]         }     });     };      Additionally, the marker text file is :               lat lon title   description icon      33.3253191  44.3850879  title   description     http://www.openlayers.org/dev/img/marker.png          Thank you in advance for your help.


title: "Session has expired" Problem in Geoserver as WAR in Tomcat

text: I have Geoserver installed as WAR in Tomcat. My html/openlayers files are served from the www folder of /webapps/geoserver/data and I had "beautiful moments" experiencing WMS from there. The problem is this: Each time, after working nicely and smoothly for only minutes, GeoServer user interface becomes too slow and get blocked. When I want to edit sth I get msg like "The session has expired..." So I need then to force the "org.apache.catalina.bootstrap" to quit as it doesn't respond to "/Library/Tomcat/bin/shutdown.sh" command, then I restart it "/Library/Tomcat/bin/startup.sh". This didn't happen before, but I don't know what I did that caused such thing. Also I don't think it's related to WFS because I've tried this and it worked fine:![enter image description here](http://i.stack.imgur.com/PUtML.png)


title: Create a square grid polygon shapefile with python

text: i have the following coordinates minx,maxx,miny,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073 i wish to create a square grid of size 1 m using python.               import math               minx,maxx,miny,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073     size = 1          def set_bbox(minx, maxx, miny, maxy, distx, disty):         nx = int(math.ceil(abs(maxx - minx)/distx))         ny = int(math.ceil(abs(maxy - miny)/disty))         new_maxx = minx + (nx*distx)         new_miny = maxy - (ny*disty)         return ((minx, new_maxx, new_miny, maxy),ny,nx)          # shift the bottom (right - down)     coord, ny, nx = set_bbox(minx,maxx,miny,maxy,size,size)     # left-up origin     origin = coord[0],coord[3]     # number of tiles     ncell = ny*nx


title: Creating new layers using ArcPy to define Definition Query for each field value?

text: I am trying to set multiple definition queries for one layer based on one field using python. ie. I have a City layer with a field that holds the city name. I want a copy of the layer in an MXD with the Definition query set for each value in the City field. So essentially, I have one source layer, with a copy of the layer as many times as there are values in the City field. The query would look like this: CITY = 'Atlanta' Any help is appreciated.


title: Split lines at intersections in PostGIS (must be simple but...)

text: I'm usually closer to my answer than now, but I've looked at all the answers here and couldn't adapt one to work on my data and I'm stuck. I have oriented polylines (Montreal's train network) and stops (train stations). My network looks like this: ![Train Network](http://i.stack.imgur.com/v7h4I.png) (closer look): ![Train stations](http://i.stack.imgur.com/d6lbh.png) I'd like to split my tracks at each stations and ideally add fields FromStation, ToStation to my new Train tracks table. I've used ST_Snap to snap my points to my tracks so there's an intersection. There's no guaranty though that there's a node where it intersects. I tried some variation using ST_Split. No error, but no results either. Just empty geometry in the end. :( My data comes from the gtfs, so for now, I have a shape_id, trip_headsign and route_short_name on each line. If I could have a resulting table like               shape_id fromstation tostation     2_1      VRM1B       SLR3B     2_1      SLR3B       SLR2B     2_1      SLR2B       SLR1B     etc.      (shape_id 2_1 is the blue line west bound), that would be ideal. I need somehow to use that to create a personnel allocation model for our inspectors and agents on the network. Each segments will be considered a road in Network Analyst with usage restriction to match the train schedule at each train station... Never found anything like that done, but I've been given the task to at least try ;) Any help would be much appreciated. Thanks!!


title: Osmconvert command-line window closes when I press Return

text: I am dealing with Open street map Data.   I want to convert some of these .o5m files to .osm format so that I can process them in QGIS. So, I have downloaded Osmconvert to run on my Windows XP operating system.   I run the osmconvert.exe file and a black command-line window opens.   But, whatever I type into the command-line, when I press Return or Enter the window disappears and the program closes! Please could anyone suggest what sort of problem this is that I've run into.   I'm new to command-line computing so apologies if its very obvious. Many thanks   Martin


title: QGIS, point clouds and photogrammetry

text: I'm trying to use photogrammetry and Structure from Motion to record buildings, and I'm looking for a way to bring these into a format usable in GIS, in particular pointclouds and models of terrain, buildings, and objects. I would like to be able to import the pointcloud, model or rectified photographs into QGIS and manipulate it in terms of georeferencing and fixing axis (for creating rectified, scaled views of vertical walls/ objects). The software I'm using is QGIS, Agisoft Photoscan and Meshlab. Does anybody have any suggestions regarding file formats, alternative (preferably opensource) software and workflow, or whether GIS is the proper format to do this in?


title: R - color SpatialLines by attribute

text: I have a `SpatialLinesDataFrame` dataset of rivers in R. The dataset consists of lines (river segments) with a "Turbidity" attribute. I want to create a map and legend, where:   * Turbidity between 0 and 10 is yellow   * Turbidity between 10 and 20 is orange   * Turbidity between 20 and 30 is red Here is my sample dataset:               library(sp)          #create the sample SpatialLines with 3 lines and 1 attribute     x1 <- c(15.10,15.20, 15.25)     y1 <- c(48.9, 49.1, 49.0)     Line1 <- Line(cbind(x1, y1))     LineString1 <- Lines(list(Line1), ID=1)          x2 <- c(15.25,15.21)     y2 <- c(49.0, 49.12)     Line2 <- Line(cbind(x2, y2))     LineString2 <- Lines(list(Line2), ID=2)          x3 <- c(15.21,15.12)     y3 <- c(49.12, 49.05)     Line3 <- Line(cbind(x3, y3))     LineString3 <- Lines(list(Line3), ID=3)          spLines <- SpatialLines(list(LineString1, LineString2, LineString3))     spLinesDF <- SpatialLinesDataFrame(spLines, data.frame(Turbidity=c(5, 24, 16), row.names=c(1, 2, 3)))          #this is the color breaks that I want to use in map and legend     breaks = c(0, 10, 20, 30)     colors = c("yellow", "orange", "red")          #this doesn't assign the correct colors to my line values     plot(spLinesDF, col=colors)      What commands do I use to match the color breaks (0, 10, 20, 30) with the colors(yellow, orange, red) and with the Turbidity attribute values in my map and in the legend? I know that for raster I could use simple commands like:               brk <- c(0, 10, 20, 30)     col <- c('yellow', 'orange', 'red')     plot(raster, col=col, breaks=brk)      But for SpatialLines, the `plot` doesn't appear to support the color breaks parameter.


title: Publish rasters stored in PostGreSQL with GeoServer

text: we are trying to publish some raster images stored in our Postgres database. First, they were generated from satellite images (spectral indexes). Then we uploaded them with raster2psql as tables. So far so good, the problem is that we want to publish them with GeoServer and we found some problems. I have been told that there is still no plugin for GeoServer to perform such task. Do you know what should we do to publish them? any hint will be very appreciated, thanks in advance.


title: Are there any known issus opening a QGIS Desktop project on Android?

text: Does anyone else have trouble when they try to open a project which was worked on in the QGIS desktop version 1.8 (I understand this is the most up to date version for the desktop) and try and open it up and work on it in the Android version of QGIS (I understand the most up to date version is 1.9). Is it possible to have projects that work in both the desktop and Android version or could the problem be that the original project is in an earlier version? Thanks Carl


title: How to contribute for pgrouting.org

text: I wanna to contribute for algorithms, that's why i chose pgrouting can anyone help me out and suggest me more organisations to which i can contribute. Thnks.


I am developing custom geoprocessing tool (class-library project) on ArcGIS 10.2. This project uses Oracle.DatAccess from ODP.NET 1.0 . This is a simple tool which queries - oracle 10g database and returns a distinct records from a specific table. This tool is working fine from tool box but when this tool is published in REST, it throws below error: _Error:The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception_ ArcGIS server 10.2, Visual Studio 2012. Server: Windows 2012 -6bit Operating system Oracle client : installed both oracle 32 and oracle 64 bit (C:\oracle\product\10.2.0\Client_32,C:\oracle\product\10.2.0\Client_64) PATH: c:\oracle\product\10.2.0\client_64\bin;c:\oracle\product\10.2.0\client_32\bin; Any pointer on this issue? **April 29: Additional details** To begin with, this custom GP tool project was working in ArcGIS 10.0 for last 2 years successfully. As part of technology migration activity, I am upgrading this project to 10.2. As mentioned, am using Windows 2012 server (64 bit OS) where ArcGIS Desktop and ArcGIS server 10.2 has been installed in same box. Oracle client 32, 64 bit has been installed. Path is set as above.


title: Geoserver 2.5 and gatein portal 3.6 login

text: I have included the geoserver interface in gateien using a iframe portlet. What I want is to log in into geoserver using de gatein log in,this is, with a single log in I want to log in into geoserver and gatein. Gatein is running on JBossAs7. I have already try to make a j2ee log in, but don't worked for my intent. Another question is, how i compile de .war file from the source code of geoserver? Thanks in advance. Greetings, Sam


title: Same size polygons giving different overall areas

text: I am currently working with multiple shape files that I have clipped to the exact same extent, but when I calculate area (acres) within each polygon.   I am getting different results between the different shape files.   Each file represents a different variable, ie: I am working with a slope polygon, aspect, vegetation, etc.   The acreage results (from calculate geometry) are similar, but not the same (9015, 10294, 8999).   There are multiple geometries, each different for each shapefile, and I am comparing the acreage sums across each shapefile that I have clipped to the same size.   The plotted clipped extents are mostly just squares with some irregular shaped polygons. Fixing the topology errors did not make the acreage's equal. They are all on the same projection. Fixing geometry errors did not work either.


title: Creating an Origin/Destination (OD) cost matrix using ArcPy

text: I have created a python script that runs an OD cost matrix over five years from 1999 to 2004. I have set up an OD cost matrix for each year, which I think is very cumbersome. Is there someone who can show me how I can do this with a loop in python (arcpy) instead of setting up the OD cost matrix for each year? In my origins and Destinations I also have a field called HOSPITALS. In the OD cost matrix, this field should be connected to each other so there will only be an analysis of each origins to Destination. How is this done?               import arcpy          from arcpy import env          arcpy.env.overwriteOutput = True     #Set environments     arcpy.env.workspace = "C:\Tom\OPPDRAG_2013\Sykehus"               #Check out the Network Analyst extension license     arcpy.CheckOutExtension("Network")          #Set local variables     inNetworkDataset = "C:\Tom\Elveg\ELVEG_Nettverk_2013\ELVEG_Nettverk_2013\ELVEG_Nettverk_2013.gdb\ELVEG_Nettverk\ELVEG_Nettverk_ND_2013"     outNALayer_1999 = "Pasienter_til_Sykehus_Matrix_1999"     outNALayer_2000 = "Pasienter_til_Sykehus_Matrix_2000"     outNALayer_2001 = "Pasienter_til_Sykehus_Matrix_2001"     outNALayer_2002 = "Pasienter_til_Sykehus_Matrix_2002"     outNALayer_2003 = "Pasienter_til_Sykehus_Matrix_2003"     impedanceAttribute = "Drivetime"     accumulateAttributeName = ["Minutes"]     inOrgins = "Pasienter_10.shp"     inDestinations = "Tre_Sykehus.shp"     outLayerFile_1999 = "C:\Tom\OPPDRAG_2013\Sykehus" + "/" + "outNALayer_1999" + ".lyr"     outLayerFile_2000 = "C:\Tom\OPPDRAG_2013\Sykehus" + "/" + "outNALayer_2000" + ".lyr"     outLayerFile_2001 = "C:\Tom\OPPDRAG_2013\Sykehus" + "/" + "outNALayer_2001" + ".lyr"     outLayerFile_2002 = "C:\Tom\OPPDRAG_2013\Sykehus" + "/" + "outNALayer_2002" + ".lyr"     outLayerFile_2003 = "C:\Tom\OPPDRAG_2013\Sykehus" + "/" + "outNALayer_2003" + ".lyr"          #arcpy.ImportToolbox("C:\Tom\Toolboxes\ArcPyToolBox.tbx")               #########################################               # Process: Make Feature Layer (2)     #arcpy.MakeFeatureLayer_management(inOrgins, "PasienterLyr", "\"SYKEHUS\" = '%SYKEHUS%'")               ########################################          arcpy.MakeFeatureLayer_management (inOrgins, "Pas_Lyr1999")     arcpy.SelectLayerByAttribute_management ("Pas_Lyr1999", "NEW_SELECTION", " f_aar = '1999' ")          #Create a new OD Cost matrix layer.     arcpy.MakeODCostMatrixLayer_na(inNetworkDataset, outNALayer_1999, "Minutes", "", "", "Minutes")                                            #Load the locations as origins.     arcpy.AddLocations_na(outNALayer_1999, "Origins", "Pas_Lyr1999", "Name f_aar #","1000 Meters", "SYKEHUS")          #Load the locations as destinations      arcpy.AddLocations_na (outNALayer_1999, "Destinations", inDestinations, "Name SYKEHUS #","1000 Meters", "SYKEHUS")               #Solve the OD cost matrix layer     arcpy.Solve_na(outNALayer_1999)          #Save the solved OD cost matrix layer as a layer file on disk with relative     #paths     arcpy.SaveToLayerFile_management(outNALayer_1999, outLayerFile_1999,"RELATIVE")          #####################################          arcpy.MakeFeatureLayer_management (inOrgins, "Pas_Lyr2000")     arcpy.SelectLayerByAttribute_management ("Pas_Lyr2000", "NEW_SELECTION", " f_aar = '2000' ")          #Create a new OD Cost matrix layer.     arcpy.MakeODCostMatrixLayer_na(inNetworkDataset, outNALayer_2000, "Minutes", "", "", "Minutes")                                            #Load the locations as origins.     arcpy.AddLocations_na(outNALayer, "Origins", "Pas_Lyr2000", "Name f_aar #","1000 Meters", "SYKEHUS")          #Load the locations as destinations      arcpy.AddLocations_na (outNALayer, "Destinations", inDestinations, "Name SYKEHUS #","1000 Meters", "SYKEHUS")               #Solve the OD cost matrix layer     arcpy.Solve_na(outNALayer_2000)          #Save the solved OD cost matrix layer as a layer file on disk with relative     #paths     arcpy.SaveToLayerFile_management(outNALayer_2000, outLayerFile_2000,"RELATIVE")          #####################################          arcpy.MakeFeatureLayer_management (inOrgins, "Pas_Lyr2001")     arcpy.SelectLayerByAttribute_management ("Pas_Lyr2001", "NEW_SELECTION", " f_aar = '2001' ")          #Create a new OD Cost matrix layer.     arcpy.MakeODCostMatrixLayer_na(inNetworkDataset, outNALayer_2001, "Minutes", "", "", "Minutes")                                            #Load the locations as origins.     arcpy.AddLocations_na(outNALayer, "Origins", "Pas_Lyr2001", "Name f_aar #","1000 Meters", "SYKEHUS")          #Load the locations as destinations      arcpy.AddLocations_na (outNALayer, "Destinations", inDestinations, "Name SYKEHUS #","1000 Meters", "SYKEHUS")               #Solve the OD cost matrix layer     arcpy.Solve_na(outNALayer_2001)          #Save the solved OD cost matrix layer as a layer file on disk with relative     #paths     arcpy.SaveToLayerFile_management(outNALayer_2001, outLayerFile_2001,"RELATIVE")          #####################################          arcpy.MakeFeatureLayer_management (inOrgins, "Pas_Lyr2002")     arcpy.SelectLayerByAttribute_management ("Pas_Lyr2002", "NEW_SELECTION", " f_aar = '2000' ")          #Create a new OD Cost matrix layer.     arcpy.MakeODCostMatrixLayer_na(inNetworkDataset, outNALayer_2002, "Minutes", "", "", "Minutes")                                            #Load the locations as origins.     arcpy.AddLocations_na(outNALayer, "Origins", "Pas_Lyr2002", "Name f_aar #","1000 Meters", "SYKEHUS")          #Load the locations as destinations      arcpy.AddLocations_na (outNALayer, "Destinations", inDestinations, "Name SYKEHUS #","1000 Meters", "SYKEHUS")               #Solve the OD cost matrix layer     arcpy.Solve_na(outNALayer_2002)          #Save the solved OD cost matrix layer as a layer file on disk with relative     #paths     arcpy.SaveToLayerFile_management(outNALayer_2002, outLayerFile_2002,"RELATIVE")          #####################################          arcpy.MakeFeatureLayer_management (inOrgins, "Pas_Lyr2003")     arcpy.SelectLayerByAttribute_management ("Pas_Lyr2003", "NEW_SELECTION", " f_aar = '2000' ")          #Create a new OD Cost matrix layer.     arcpy.MakeODCostMatrixLayer_na(inNetworkDataset, outNALayer_2003, "Minutes", "", "", "Minutes")                                            #Load the locations as origins.     arcpy.AddLocations_na(outNALayer, "Origins", "Pas_Lyr2003", "Name f_aar #","1000 Meters", "SYKEHUS")          #Load the locations as destinations      arcpy.AddLocations_na (outNALayer, "Destinations", inDestinations, "Name SYKEHUS #","1000 Meters", "SYKEHUS")               #Solve the OD cost matrix layer     arcpy.Solve_na(outNALayer_2003)          #Save the solved OD cost matrix layer as a layer file on disk with relative     #paths     arcpy.SaveToLayerFile_management(outNALayer_2003, outLayerFile_2003,"RELATIVE")


title: How to change an OpenLayers vector layer from automatic to manual get request?

text: I have a web server that returns a `FeatureCollection` in JSON. I was getting this using the code below, which works perfectly:               var vectorLayer = new OpenLayers.Layer.Vector('geoJSON', {         strategies: [new OpenLayers.Strategy.Fixed()],         protocol: new OpenLayers.Protocol.HTTP({             url: '<%= Url.Action("Vectors", "Maps") %>',             format: new OpenLayers.Format.GeoJSON()         }),         styleMap: new OpenLayers.StyleMap(style)     });      I want to convert this into a manual async get request as part of something else (I'm displaying routes and want to do several requests, one for each route so I can display them as they are calculated, avoiding a large delay). So, I've changed the above to the code below:               OpenLayers.Request.GET({         url: '<%= Url.Action("Vectors", "Maps") %>',         async: true,         success: function(e) {             var features = new OpenLayers.Format.GeoJSON().read(e.responseText);             vectorLayer.addFeatures(features);         }     });      However, when I run this although the callback is called, the `e.responseText` looks ok and the features variable seems to contain the correct objects and they do get added to the `vectorLayer`, **they appear in the wrong place; Right next to the origin**. On OSM's max zoom they are barely apart from each other, when they should be scattered around the UK. Any idea why since the change to a manual GET they are appearing in the wrong places? * * * See below for my current code listing:               var map, layer;     map = new OpenLayers.Map(element.id);     baseLayer = new OpenLayers.Layer.OSM('Simple OSM Map');               var context = {         getColor: function(feature) {             return feature.attributes['Colour'];         },         getImageURL: function(feature) {             return feature.attributes['ImageURL'];         },         getLabel: function(feature) {             return feature.attributes['Label'];         }     };          var template = {         externalGraphic: '${getImageURL}',         pointRadius: 5,         strokeWidth: 3,         strokeColor: "${getColor}"     };                    var style = new OpenLayers.Style(template, { context: context });          /*var vectorLayer = new OpenLayers.Layer.Vector('geoJSON', {     strategies: [new OpenLayers.Strategy.Fixed()],     protocol: new OpenLayers.Protocol.HTTP({     url: '<%= Url.Action("Vectors", "Maps") %>',     format: new OpenLayers.Format.GeoJSON()     }),     styleMap: new OpenLayers.StyleMap(style)     });*/          var vectorLayer = new OpenLayers.Layer.Vector('geoJSON');     vectorLayer.styleMap = new OpenLayers.StyleMap(style);          OpenLayers.Request.GET({         url: '<%= Url.Action("Vectors", "Maps") %>',         async: true,         success: function(e) {             var features = new OpenLayers.Format.GeoJSON().read(e.responseText);             vectorLayer.addFeatures(features);         }     });          map.addLayers([baseLayer, vectorLayer]);     map.setCenter(         new OpenLayers.LonLat(-4, 55).transform(             new OpenLayers.Projection("EPSG:4326"),             map.getProjectionObject()         ), 6     );      An example of the JSON that gets returned (and hasn't changed since it worked):               { "features" : [ { "geometry" : { "coordinates" : [ -0.72766602400000002,                     51.273638529999999                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/ByBox.png"               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ [ -0.82559629999999995,                       51.296390000000002                     ],                     [ -0.72766602400000002,                       51.273638529999999                     ],                     [ -0.82559629999999995,                       51.296390000000002                     ]                   ],                 "type" : "LineString"               },             "properties" : { "Colour" : "#{72:x2}{241:x2}{152:x2}",                 "ImageURL" : null               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ -0.82559629999999995,                     51.296390000000002                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/Home.png"               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ -0.41132172900000002,                     50.821081319999998                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/ByBox.png"               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ [ -0.47245280000000001,                       50.817610000000002                     ],                     [ -0.41132172900000002,                       50.821081319999998                     ],                     [ -0.47245280000000001,                       50.817610000000002                     ]                   ],                 "type" : "LineString"               },             "properties" : { "Colour" : "#{206:x2}{155:x2}{66:x2}",                 "ImageURL" : null               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ -0.47245280000000001,                     50.817610000000002                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/Home.png"               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ 0.074993041999999996,                     51.270947649999997                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/ByBox.png"               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ [ 0.075924359999999996,                       51.268300000000004                     ],                     [ 0.074993041999999996,                       51.270947649999997                     ],                     [ 0.075924359999999996,                       51.268300000000004                     ]                   ],                 "type" : "LineString"               },             "properties" : { "Colour" : "#{99:x2}{146:x2}{254:x2}",                 "ImageURL" : null               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ 0.075924359999999996,                     51.268300000000004                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/Home.png"               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ -0.24428876999999999,                     51.583668719999999                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/ByBox.png"               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ [ -0.251608,                       51.580390000000001                     ],                     [ -0.24428876999999999,                       51.583668719999999                     ],                     [ -0.251608,                       51.580390000000001                     ]                   ],                 "type" : "LineString"               },             "properties" : { "Colour" : "#{188:x2}{122:x2}{221:x2}",                 "ImageURL" : null               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ -0.251608,                     51.580390000000001                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/Home.png"               },             "type" : "Feature"           },           { "geometry" : { "coordinates" : [ -1.4948717600000001,                     53.68926664                   ],                 "type" : "Point"               },             "properties" : { "Colour" : "#ffffff",                 "ImageURL" : "/360Scheduling/Content/Images/ByBox.png"               },             "type" : "Feature"           }         ],       "type" : "FeatureCollection"     }


title: Google maps white striations / false artifacts

text: What are the common white striations running from NW to SE visible when you zoom in around 5mi scale? For example at (+81, -80)? But they appear 'all over'. Are they snow drifts? or satellite sweeps? ![Screen shot](http://i.stack.imgur.com/eBB89.png) Generally: Where can I find documentation on Google Maps false artifacts?


title: Can I use Google Maps API and substitute Openstreet map as base layer?

text: This Question is based on below requirements. 1 - our application will need to use functionalities of Google Maps API like custom marker/Info pop up/Routing etc. 2 - our application wants to use Openstreetmaps or our ownmaps as the base layer. Now , can we use Google maps API for functionalities and Openstreet map as base layer,so that I am not charged for using google data ? do they specifically charge for API usage ? isnt the 2500 request limit for http requests to google image/map server ? Adarsh


title: Requesting remote data using openlayers for multiple URLS and storing respose value according to URL

text: I have problem creating feature count window. I have urls stored in as json object. I iterate it with jquery and send request to remote data. The I have featureStore which is initially set to 0. When the request is done i try to update it with new feature count but it only updates the last url of array here "S". The console of handler has always last value of the array here "S". Is there any way I can synchronize this? I think there are mulitple request and some request returns value faster than other without considering which url request is send. How do I synchronize so that I can update featureStore eaxctly as the elements in URL.                               var current ;                              var featuresStore =                                          {                                          "F" : 0,                                          "S" : 0                                          };                                    var urls =                                              {                                              "F" : "http://192.168.69.88:8080/geoserver/wfs?request=GetFeature&typename=Data:sites_2&version=1.1.1&resultType=hits&filter=(<Filter><PropertyIsEqualTo><PropertyName>Vendor</PropertyName><Literal>TE</Literal></PropertyIsEqualTo></Filter>)",                                              "S" : "http://192.168.69.88:8080/geoserver/wfs?request=GetFeature&typename=Data:sites_3&version=1.1.1&resultType=hits&filter=(<Filter><PropertyIsEqualTo><PropertyName>Vendor</PropertyName><Literal>TE</Literal></PropertyIsEqualTo></Filter>)"                                                };                            //Feature Store before                        console.log(featuresStore);                             //reads nof of features                         var LegendHandler = function (request) {                               var noOfFeature;                                  try {                                         var xmlFormat  = new OpenLayers.Format.XML();                                         var data  = xmlFormat.read(request.responseText);                                         var format = new OpenLayers.Format.WFST.v1_1_0({});                                         var result = format.read(data, {output: "object"});                                         noOfFeature = result.numberOfFeatures;                                          }catch(e){                                         $("#messageText").val("Error "+e);                                         console.log("Error "+e);                                         noOfFeature = 0;                                     }                                        featuresStore.current = noOfFeature;                                        console.log("The current value is "+current);                                 }                 //Iterating over each URLs                            $.each(urls,function(i){                                     current = i;                                     console.log("The current value is "+current);                             var request = OpenLayers.Request.GET({                                         url: urls[i],                                         callback: LegendHandler                                     });                                    });                                         //Feature Store after                                console.log(featuresStore);


title: Create WMS service from existing image tiles

text: I have image tiles (jpg image files with txt georeference info files; see picture) stored in catalog (about 12GB, size one image tile ~ 275*466 meters). It possible create WMS service of the tiles to load it into QGIS and its use by multiple users in a network. As I understand it can be done with MapServer, GeoServer, PostGIS. Is there a manual how I should load this image tiles in MapServer (or GeoServer, PostGIS)? ![enter image description here](http://i.stack.imgur.com/PhYx7.jpg)


title: How to setup leaflet map to display a WMS layer in ESRI:102012 projection?

text: I have a WMS server that serves layers in ESRI:102012 projection. http://spatialreference.org/ref/esri/102012/ It accepts GetMap requests with srs=EPSG:102012 parameter. My goal is to display a map in this projection with some WMS layers on it. I'm using a proj4leaflet plugin (https://github.com/kartena/Proj4Leaflet) to setup a map for this projection, but I'm stuck with defining L.Transformation, scale and resolution parameters. Can anybody tell me what to put in those parameters, or give a working example of leaflet map in this projection?


title: Centered label halos in ArcMap 10.1

text: When I use label features with halos in ArcMap, whether using the standard or Maplex labeling engine, the halos in the exported map (PDF) are always shifted vertically, so that instead of the halo being evenly spaced around the text it is flush with the bottom and excessive on the top. I know others have had this issue: Export Map to PDF Halo Labels shifts Halo to latter width at the end of Label Problem, but the proposed fix doesn't work, because the option to change vertical text alignment is grayed out. Has anyone else found a way to add halos to maps?


title: lyr design cut from shape

text: I have a river line shapefile (20 rivers) and its associated layer file. It contains the main rivers as thicker lines. I need only the main lines separated out into another shapefile without the thinner confluent lines. How can I export only the main river lines? The problem is that the rivers are composed from many segments. Any idea?


title: Other than the methods stated on the Desktop 10 Sharing Tools section, are there any other ways to distribute custom toolscripts?

text: Essentially I want to be able to distribute a custom script and it seems that I cannot create a .tbx file, so I looked into the other methods, but they are all only for Python modules it seems. What I want to be able to do is have the user still be able to pull up the dialog box prompting for input when they click on the tool, how do I go about packaging the external libraries that I used for this script and distribute it such that the user can simply import the tool into his toolbox and click on it and it will pull up the dialog box for user input?


title: QGIS: graphical-modeler to calculate area of polygons

text: I'm trying to calculate the area of polygons using the field-calculator in QGIS (2.0.1). If I do this manualy it works fine, but if I do this using the graphical-modeler I get NULL as area for every Polygon. I just typet `$area` in the Formula field. Field-type is integer and length is 10.


title: Why is my mosaic of rasters a big, black rectangle?

text: I downloaded NED rasters from USGS, and I now want to mosaic all of the rasters into one. I used the Mosaic to New Raster tool, but the output is a big, black rectangle. Am I missing something? I feel like I might be making a rookie mistake. Thanks for any help you can provide!


title: SQL Query to Reverse Geocoding in PostGIS

text: I try to do Reverse Geocode from my shapefile on the database. I'd already try with Spatialite and PostGIS to put shapefile (.shp) into it. But I'm still can't delivered my objection about reverse geocode from my shapefile on the database. My shapefile (.shp) is content with district polygon, all I want is simple: Pass some coordinate, and check that coordinate is in what district polygon from shapefile, then return the district name. That's all. Does anybody know the SQL Query to do that reverse geocode in PostGIS or Spatialite? Thanks before. :(


title: How can I see the overlay of two features (point & polygon)?

text: I am trying to open two digitized layers, one containing points in a region and second which I have downloaded separately for the region as polygon layer. I would like to overlay two of these layers to see which point belongs to which area. The problem is, I can not see an overlay of layers (points on polygon).


title: What does Scale mean in the reference of Desktop GIS or WebGIS?

text: I'm having trouble understanding the meaning of the concept of scale when it comes to maps on screen, i.e. either in a Desktop GIS or in a WebMap. When it comes to paper maps, the idea is very clear. The Scale is the ratio of a particular distance on the map, to the same distance on the ground. But when it comes to maps on screen, the same concept cannot be applied. Firstly different screens do not have the same pixel size. It might be that a 14 inch monitor and a 24 inch monitor could have the same resolution (in terms of pixels). Then comes the issue of dpi. An iOS device with retina display has a dpi several times that of my work-station monitor. So 1 cm on my screen might show a different distance than 1 cm on your screen. So what does the scale of a map in digital cartography mean? What does it mean, when I see the scale of a map is 1:180,000 in ArcMap? * * * _Aside_   This question came about because of several ArcMap Documents I received from a client who publishes paper maps.   The paper map is published at 1:180,000, but at that scale the map looks terrible. It's only when I zoom in, does the map look good. With trial and error, I found that the map looks best on screen at about 3 times the scale, i.e. at 1:60,000