[OpenLayers-Users] Make vector layer from JSON

Robert Sanson SansonR at asurequality.com
Sun Mar 7 15:08:51 EST 2010


I am wrestling with a similar problem. I am trying to read in data
coming from an ArcGIS Server in JSON format. Unfortunately, ArcGIS
Server doesn't serve GeoJSON. Here is a sample of what the data looks
like:
 
{
  "results" : [
    {
      "layerId" : 0, 
      "layerName" : "Main_Gates", 
      "displayFieldName" : "road_name", 
      "foundFieldName" : "farm_id", 
      "value" : "AS00136", 
      "attributes" : {
        "point_location_id" : "232495", 
        "farm_id" : "AS00136", 
        "rapid_no" : "104", 
        "road_name" : "Winslow Willowby Rd", 
        "locality" : "Null", 
        "x_nztm" : "1492934.61", 
        "y_nztm" : "5131545.29", 
        "Shape" : "Point"
      }, 
      "geometryType" : "esriGeometryPoint", 
      "geometry" : 
      {
        "x" : 1492934.61, 
        "y" : 5131545.29, 
        "spatialReference" : {
          "wkid" : 2193
        }
      }
    }
  ]
}
Any ideas how to get OL to read this into a Vector layer?
 
Thanks,
 
Robert
>>> "Arnd Wippermann" <arnd.wippermann at web.de> 7/03/2010 10:43 a.m.
>>>
Hi,

i would think, that you have to use geojson instead of json, to get the
geometry for the features.

Arnd

Von: users-bounces at openlayers.org [mailto:users-bounces at openlayers.org]
Im Auftrag von Hugo
Gesendet: Samstag, 6. März 2010 19:14
An: openlayers
Betreff: [OpenLayers-Users] Make vector layer from JSON

Hello all,

I'm trying to create a vector layer based on a php query (which
includes the_geom) encoded in JSON. Until the moment i haven't been able
to achieve this.
Following, is the relevant part of the code:

var connect = new Ext.data.Connection();
connect.request({
    url: 'mfbase/geoquery.php',
    params: {
        species: species,
        datai: datai,
        dataf: dataf
    },
    success: function(response){
        var resp = response.responseText;
        var json = new OpenLayers.Format.JSON();
        var data = json.read(resp);
        //console.log(data[0].the_geom);
        
        var querylayer1 = new OpenLayers.Layer.Vector(
            'Query1',
            {
                isBaseLayer: false,
                projection: wgs,
                geometryName: 'the_geom',
            }
        );
        
        querylayer1.addFeatures(data);
        map.addLayer(querylayer1);
    }
})

Any suggestions are more than welcomed :)
Thanks to you all!

Cheers,


-- 
Hugo Martins
FMV-UTL
CIISA-Epidemiologia e Saúde Pública Veterinária
Av. da Universidade Técnica
1300-477 Lisboa
N 38*42'49.54", W 9*11'43.42"



Click here (
https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg==
) to report this email as spam.
------------------------------------------------------------------
The contents of this email are confidential to AsureQuality. If you have received this communication in error please notify the sender immediately and delete the message and any attachments. The opinions expressed in this email are not necessarily those of AsureQuality. This message has been scanned for known viruses before delivery. AsureQuality supports the Unsolicited Electronic Messages Act 2007. If you do not wish to receive similar communications in future, please notify the sender of this message.
------------------------------------------------------------------


This message has been scanned for malware by SurfControl plc. www.surfcontrol.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100308/da8039bd/attachment.html


More information about the Users mailing list