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:[email protected]]
>> *Gesendet:* Sonntag, 7. M�rz 2010 21:09
>> *An:* 'Hugo'; Arnd Wippermann
>> *Cc:* [email protected]
>> *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"<[email protected]>  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:* [email protected]
>> [mailto:[email protected]] *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
>> [email protected]
>> http://openlayers.org/mailman/listinfo/users
>>      
> _______________________________________________
> Users mailing list
> [email protected]
> http://openlayers.org/mailman/listinfo/users
>
>    


-- 
Atle Frenvik Sveen
GIS Konsulent
Geomatikk IKT AS
tlf: 45 27 86 89
[email protected]

_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to