Beispiel #1
0
        public IList <Guid> GetModifiedEntities(string geoJson)
        {
            FeatureWithID feature = GeoJSONReader.ReadFeatureWithID(new StringReader(geoJson));

            if (String.IsNullOrEmpty(feature.Id))
            {
                return(new List <Guid>());
            }
            return(this.GetModifiedEntities(Guid.Parse(feature.Id), feature.Geometry));
        }
Beispiel #2
0
        public AchsenSegmentModel GenerateAchsenSegmentModelFromGeoJsonString(AchsenSegmentModel model)
        {
            string        geoJSONString  = model.FeatureGeoJSONString;
            FeatureWithID feature        = GeoJSONReader.ReadFeatureWithID(new StringReader(model.FeatureGeoJSONString));
            string        invertedString = feature.Attributes[geoJSONAttribute_IsInverted] as string;
            bool?         invertedbool   = feature.Attributes[geoJSONAttribute_IsInverted] as bool?;

            model.IsInverted = (invertedString != null && invertedString.ToLower() == "true") || (invertedbool != null && invertedbool == true);
            //model.IsInverted = (bool)feature.Attributes[geoJSONAttribute_IsInverted];
            model.Shape      = feature.Geometry;
            model.Shape.SRID = GisConstants.SRID;
            return(model);
        }
Beispiel #3
0
        public ReferenzGruppeDTO GenerateReferenzGruppeFromGeoJson(string geoJson)
        {
            List <FeatureWithID> childs = GeoJSONReader.ReadFeatureWithID(new StringReader(geoJson)).Attributes[geoJSONAttribute_childs] as List <FeatureWithID>;
            ReferenzGruppeDTO    referenzGruppeModel = new ReferenzGruppeDTO();

            foreach (FeatureWithID child in childs)
            {
                AchsenReferenzDTO newAchsenref = new AchsenReferenzDTO();
                newAchsenref.AchsenSegmentDTO = dtoService.GetDTOByID <AchsenSegmentDTO>(Guid.Parse(child.Attributes[geoJSONAttribute_AchsenSegmentId].ToString()));
                newAchsenref.Shape            = child.Geometry;
                newAchsenref.Shape.SRID       = GisConstants.SRID;

                referenzGruppeModel.AddAchsenReferenz(newAchsenref);
            }
            return(referenzGruppeModel);
        }
Beispiel #4
0
 private void ApplyGeojson(string geoJson)
 {
     if (string.IsNullOrEmpty(geoJson))
     {
         zustandsabschnittViewModel.ReferenzGruppe = null;
         zustandsabschnittViewModel.Shape          = null;
     }
     else
     {
         zustandsabschnittViewModel.ReferenzGruppe = geoJsonService.GenerateReferenzGruppeFromGeoJson(geoJson);
         zustandsabschnittViewModel.Shape          = GeoJSONReader.ReadFeatureWithID(new StringReader(geoJson)).Geometry;
         zustandsabschnittViewModel.Shape.SRID     = GisConstants.SRID;
         if (zustandsabschnittViewModel.Shape.IsEmpty)
         {
             zustandsabschnittViewModel.Shape = null;
         }
     }
 }
Beispiel #5
0
        public IAbschnittGISModelBase GenerateModelFromGeoJsonString(IAbschnittGISModelBase model)
        {
            string geoJSONString        = model.FeatureGeoJSONString;
            List <FeatureWithID> childs = GeoJSONReader.ReadFeatureWithID(new StringReader(model.FeatureGeoJSONString)).Attributes[geoJSONAttribute_childs] as List <FeatureWithID>;
            ReferenzGruppeModel  referenzGruppeModel = new ReferenzGruppeModel();

            foreach (FeatureWithID child in childs)
            {
                AchsenReferenzModel newAchsenref = new AchsenReferenzModel();
                newAchsenref.AchsenSegmentModel = achsenSegmentService.GetById(Guid.Parse(child.Attributes[geoJSONAttribute_AchsenSegmentId].ToString()));
                newAchsenref.Shape      = child.Geometry;
                newAchsenref.Shape.SRID = GisConstants.SRID;

                referenzGruppeModel.AddAchsenReferenz(newAchsenref);
            }


            model.Shape               = GeoJSONReader.ReadFeatureWithID(new StringReader(model.FeatureGeoJSONString)).Geometry;
            model.Shape.SRID          = GisConstants.SRID;
            model.ReferenzGruppeModel = referenzGruppeModel;
            return(model);
        }
        public void FromJSON(Jayrock.Json.JsonTextReader jreader)
        {
            if (jreader == null)
            {
                throw new ArgumentNullException("jreader", "A valid JSON reader object is required.");
            }

            if (jreader.MoveToContent() && jreader.TokenClass == JsonTokenClass.Object)
            {
                jreader.ReadToken(JsonTokenClass.Object);

                //Read the 'FeatureCollection' as the type
                jreader.ReadMember();     //reads 'type'
                jreader.ReadString();     //reads 'FeatureCollection'

                //Read the features
                jreader.ReadMember();
                jreader.ReadToken(JsonTokenClass.Array);
                while (jreader.TokenClass == JsonTokenClass.Object)
                {
                    MemFeature feature = CreateFeature();
                    GeoJSONReader.ReadGISFeature(feature, jreader);
                    Add(feature);
                }
                jreader.ReadToken(JsonTokenClass.EndArray);

                //Read the layer name
                jreader.ReadMember();
                _layerName = jreader.ReadString();

                //Read the key field
                jreader.ReadMember();
                _keyFieldName = jreader.ReadString();

                jreader.ReadToken(JsonTokenClass.EndObject);
            }
        }
Beispiel #7
0
 public void FromJSON(Jayrock.Json.JsonTextReader jreader)
 {
     GeoJSONReader.ReadGISFeature(this as IGISFeature, jreader);
 }