[OpenLayers-Users] Make vector layer from JSON

Sveen Atle Frenvik (Geomatikk IKT) Atle.Frenvik.Sveen at geomatikk.no
Mon Mar 8 07:32:04 EST 2010


As long as you are able to parse the data, putting them on the map is a 
no-brainer, pseudo-code something like:

for each feature
     - fetch x and y
     - create an OpenLayers Geometry
     - create a OpenLayers Vector feature
     - add attributes to feature if required

then add features to a layer

-atle

On 03/08/2010 01:19 AM, Stephen Woodbridge wrote:
> Hi Guys,
>
> I have been looking into a similar problem using some arbitrary XML and
> have some questions on how to do this also that I will post in a
> separate thread, but here is my take on what needs to be done.
>
> OpenLayers.Format.JSON should handle the actual parsing and give you a
> top level variable for the obj.
>
> I think what you need to do is implement your own read function or
> callback, that should get the parsed JSON file and then you create the
> features and add them to the layer.
>
> So this is all in theory at the moment, because I haven't been able to
> figure out the exact steps for doing it in my own project. But since I
> have looked at a similar problem all day I think this is the approach.
>
> So I think in your code below you need to do something like:
>
>            var data = json.read(resp);
>            var features = myMakeFeatures(data);
>
> then add the features to the layer.
>
> -Steve W.
>
> Arnd Wippermann wrote:
>    
>> Hello Robert,
>>
>> I don't know ArcGis Server, but I would look, if you can get your data
>> in gml or kml. Otherwise you have to write your own parser.
>>
>> Arnd
>>
>> ------------------------------------------------------------------------
>> *Von:* Robert Sanson [mailto:SansonR at asurequality.com]
>> *Gesendet:* Sonntag, 7. M�rz 2010 21:09
>> *An:* 'Hugo'; Arnd Wippermann
>> *Cc:* users at openlayers.org
>> *Betreff:* Re: [OpenLayers-Users] Make vector layer from JSON
>>
>> 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<http://www.surfcontrol.com/>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>      
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>
>    


-- 
Atle Frenvik Sveen
GIS Konsulent
Geomatikk IKT AS
tlf: 45 27 86 89
atle.frenvik.sveen at geomatikk.no

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100308/405a78bb/attachment.html


More information about the Users mailing list