谁有比较详细的学习geoserver关于地图的图层的开发资料(或者还有关于udig、openlayers的)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁有比较详细的学习geoserver关于地图的图层的开发资料(或者还有关于udig、openlayers的)?相关的知识,希望对你有一定的参考价值。

邮箱:1405181011@qq.com
好的加分
谢谢

参考技术A 顶下吧

Windows Phone 地图:来自 GeoServer 的图层

【中文标题】Windows Phone 地图:来自 GeoServer 的图层【英文标题】:Windows Phone Maps: Layer from GeoServer 【发布时间】:2014-11-07 15:30:28 【问题描述】:

在 Windows Phone 上从 GeoServer 绘制地图图层的最简单方法是什么?

从 GeoServer 的输出格式(GeoJSON、KML、GeoRSS、Shapefile、CSV...)来看,您认为哪种更容易操作并转换为 Windows Phone 的 Map Layer 元素(如多边形)?

关于这些主题,您推荐了哪些 API 或教程?

【问题讨论】:

你有没有找到任何你想分享的解决方案?谢谢 是的,我稍后会发布详细信息.. 那将是非常受欢迎的。预先感谢 【参考方案1】:

我选择了 GeoJSON 格式:

string _buldingUrl = "http://localhost:8080/geoserver/Utad/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=Utad:build&maxFeatures=50&outputFormat=application/json";

当我们选择图层为 GeoJSON 时,该字符串是标准输出。我们需要注意&maxFeatures=50参数并将其设置为我们需要的值。

然后我有处理Json结果的方法,并使用地图控件作为参数。

async public void DrawRoomsonMap(Map Mapa)
        
           ... //Response Reading

            //used the: https://github.com/GeoJSON-Net/GeoJSON.Net
            var reader = new GeoJsonReader();

            //read the json map features to a list with the help of GeoJsnoReader
            var features2 = (Geo.IO.GeoJson.FeatureCollection)reader.Read(jsonText);
            var list = features2.Features.ToList();

            //clear map elements
            Mapa.MapElements.Clear();

            //my own implementation for getting elements with a specific property, in this case a lever of some value 
            foreach (var item in list.Where(x=> x.Properties["level"].ToString() == _currentLevel.ToString()))
            
                //converted the geometry property of each item to a Wkt string, and extracted the polygons to and array
                var b = item.Geometry.ToWktString();
                b = b.Replace("MULTIPOLYGON", "").Replace("(((", "").Replace(")))", "").TrimStart(' ');
                var c = b.Split(',');

                //Created a MapPolygon object and GeoCoordinates collection
                MapPolygon polygon = new MapPolygon();
                GeoCoordinateCollection coordenadas = new GeoCoordinateCollection();

                //added the coordinates to the polygon
                foreach (var coor in c)
                
                    var x = coor.TrimStart(' ');
                    var lat = x.Split(' ')[0].Replace(".",",");
                    var lon = x.Split(' ')[1].Replace(".", ",");

                    double latitude = double.Parse(lat);
                    double longitude = double.Parse(lon);

                    coordenadas.Add(new GeoCoordinate(longitude, latitude));
                

                //polygon properties and added to the map control.
                polygon.Path = coordenadas;
                polygon.FillColor = fixColor(item.Properties["bpart"].ToString());
                polygon.StrokeColor = Colors.White;
                polygon.StrokeThickness = 3;                
                Mapa.MapElements.Add(polygon);
            
        

点和线的过程很容易从这里继续下去。

【讨论】:

没有注意到这里的 c# 标签,但这也很有用。谢谢。

以上是关于谁有比较详细的学习geoserver关于地图的图层的开发资料(或者还有关于udig、openlayers的)?的主要内容,如果未能解决你的问题,请参考以下文章

geoserver 可以发布路径分析服务吗

geoserver中layer group中的图层顺序问题,为啥看不到道路层

GeoServer获取图层选点的数值

GeoServer获取图层选点的数值

Geonode 中未显示的图层

在点击时从多个Geoserver图层获取要素属性 - 打开图层3