GeoServer基础教程(四):空间数据互操作的接口规范WMS、WFS和WCS_wms ows geoserver-程序员宅基地

技术标签: WFS  WCS  GML  GeoServer  SLD  WMS  

前面几节介绍了GeoServer基础教程的一些基本操作,相信大家对GeoServer的基本操作都比较熟悉了。我们知道GeoServer使用开放地理空间联盟(OGC)提出的开放标准,支持三种空间数据互操作的接口规范WMS、WFS和WCS,这一节我们就来介绍这三种规范,为以后使用这些规范开发基于GeoServer的Web应用打下基础。

首先简单介绍一下OGC(Open Geospatial Consortium,开放地理信息协会)和Web Services以及他们之间的关系。

OGC是一个非赢利的国际化标准制定组织,领导进行对地理数据相关的操作和服务标准的制定。OGC最主要的一项计划是互操作计划(Interoperability Program,简称IP),该项目的目标是提供一套综合的开放接口规范,以使软件开发商可以根据这些规范来编写互操作组件,从而满足互操作需求。

Web Services即Web服务,它是自包含的、模块化的应用程序,它可以在网络中被描述、发布、查找以及调用。Web服务的一个主要思想,就是未来的应用将由一组应用了网络的服务组合而成。在Web Services体系中,所有东西都是服务,这些服务发布一个API供网络中的其他服务或者应用使用,并且封装了实现细节。Web Services是OGC规范以及建立面向服务的空间共享体系的基础技术体系。空间信息Web服务是在Web服务技术和标准基础之上实现的地理空间信息网上在线服务。它利用Web服务技术提供的公共接口、交换协议和服务规范,提供应用客户管理、注册服务、编码、处理服务、描述服务和数据服务等。主要的应用客户包括发现客户、地图浏览客户、影像利用客户等。空间信息Web服务除了采用基本的Web服务技术协议外,还需要相关地理空间信息及处理的技术协议,目前主要有OGC、ISO/TC211和W3C等组织在进行相关协议标准的制定。 OGC Web服务(OWS)即是典型的空间信息Web服务标准体系。

OGC Web服务公共执行规范详细描述了OWS接口执行规范包含的公共方面:

  • 操作请求和响应的内容
  • 操作请求和响应包含的参数和数据结构
  • 操作请求和响应的XML和KVP编码

这些规范目前包括网络地图执行规范(WMS)、网络特征数据执行规范(WFS)、网络覆盖执行规范(WCS)。下面逐一为大家介绍。

WMS(Web Map Service,网络地图执行规范)

Web地图服务(WMS)利用具有地理空间位置信息的数据制作地图。在WMS规范中将地图定义为地理数据可视的表现,WMS返回的不是地图数据,而是地图图象。

WMS规范定义了三个操作:

  1. GetCapabilities操作返回服务级元数据,它是对服务信息内容和请求参数的一种描述,元数据使用XML形式文件表示;
  2. GetMap操作根据客户端发出的请求参数在服务端进行检索,服务器返回一个地图图象,其地理空间参数和大小是已经明确定义的,返回的地图图象可以是GIF,JPEG,PNG或SVG格式的;
  3. GetFeatureInfo操作根据用户请求的X,Y坐标或感兴趣的图层,返回这些特殊要素的信息,信息以HTML,GML或者ASCII格式表示。

GetCapabilities (必须)

该操作的目的在于获取服务元数据,元数据是对服务器信息内容和可接受的请求参数值的一种机器可读性(并且可以人读)描述。

GetCapabilities操作的参数GetCapabilities操作的参数

GetCapabilities操作的参数详解:

FORMAT:该可选参数规定服务元数据的格式要求。WMS服务器上GetCapabilities请求支持的值由服务元数据中的一个或多个<Request><GetCapabilities><Format>元素列出.。如果请求描述的格式不被服务器支持,服务器应该返回默认的text/xml格式。

VERSION:确定请求服务的版本。

SERVICE:该强制性参数指示哪个可用的服务类型将被激活,在WMS上当激活一个GetCapabilities时,值”WMS”就应该被使用。

REQUEST:要激活GetCapabilities操作,值”GetCapabilities”就应该被用到。

UPDATESEQUENCE:该可选参数是为维持缓冲区一致而设置的,它的值可以为一个代表一个符合ISO 8601:2004格式(原文附录D)的时间标签(timestamp)的integer、string或者其他string。服务器可能包含一个UpdateSequence值于服务元数据中,如果这样,当Capablities被改变(e.g.当新的maps添加到给服务中)的时候,这个值应该被增加。客户端可能在其GetCapabilities请求中包含该参数。

GetMap(必须)

GetMap操作返回一幅地图(map),接收到GetMap请求后,WMS要么满足请求要么发送一个异常。

GetMap请求的参数GetMap请求的参数

GetMap请求的参数详解:

LAYERS:该参数值是一个逗号分隔的列表,列表元素为有效图层名称。这些名字应该是在服务元数据中的<Layer><Name>元素中已经定义过的字符内容。WMS在绘制map的时候,应该将该列表最左边的层放到层栈的最底部,下一个放在前一个的上面,依此类推。其中可选的<LayerLimit>元素在服务元数据中为一个正数。表明了客户端在一次GetMap请求中允许请求的最大图层数。如果忽略了该元素,则服务器没有该限制。

STYLES:以逗号分隔的列表形式表示的请求的每一图层的STYLE。STYLE值应该有效,并且STYLE值与LAYERS参数值总是一一对应的。所以,每个map都是按照LAYERS的STYLE绘制各个layer,而各个Layer的名称必须符合默认的混合形式,则在STYLE参数中应该用逗号来分隔一个空值(如”STYLE=style1,style2”),如果服务器为一个layer发布多个Style,而客户端发送了一个默认style的请求,选择哪个style作为默认值就是服务器的标准了。元数据中styles的顺序并不能表明哪个为默认的值。客户端开发人员应该最大限度地减少用户不注意地请求或无意识地获得扭曲的地图。

CRS:CRS参数声明了应用到BBOX请求参数的层CRS。该参数的值必须为所请求的服务器元数据中已经定义过或从请求层中继承过的.。WMS不必支持所有的CRS,但是,对于其已经在服务元数据发布的CRS应该支持。如果客户请求其不支持的CRS,服务器应该返回一个异常(code=”InvalidCRS”) 。如果WMS服务已经声明了一个层的CRS=CRS:1,如前所述,表示该层没有定义好一个坐标参考系统,因此不能与其他层联合显示。客户端应该在GetMap中指定CRS=CRS:1,否则,服务器可能发送一个服务异常。当CRS在 请求中使用时,BBOX参数的单位应该为像素。

BBOX:该参数允许客户请求一个特定的Bounding Box。该参数的值为逗号分隔的一串实数列表,形如:”minx,miny, maxx, maxy”,它们分部代表请求图层CRS下的区域坐标:最小x、最小y、最大x、最大y。其x、y轴的单位、方向、增量都在层CRS中定义。BoundingBox和map像素矩阵之间的关系是BoundingBox包围在像素矩阵的外边,而不是通过地图周边像素的中心,在该内容中,单个像素描述地面的一个区域。

FORMAT:该强制参数声明了地图的要求格式。WMS服务器支持的GetMap请求格式值在服务元数据中以<Request><GetMap><Format>形式列出。<Format>的整个MIME字符串值被用来表示FORMAT参数的值,而这个值没有默认值。在HTTP环境下,MIME类型应该使用内容类型实体头文件设置为返回对象。如果请求指定了一个服务器不支持的格式,服务器应该发送一个服务异常(code = ”InvalidFormat” )。

WIDTH、HEIGHT:该强制参数指定产生的地图整数值大小,单位为像素。Map CS适用于map,WIDTH-1指定了Map CS中x轴方向的最大值,而HEIGHT-1则为y轴方向的最大值.。如果请求的格式为picture,则返回的图片将不考虑MIME类型,准确地为指定的width和height像素值。在这种情况下,如果BBOX的比率和width/height的比率不一致时,WMS将会拉伸返回的地图以使得最终像素能够在BBOX比率下自动生成。换句话说,就是使得在一个输出像素不是方形的,或者拉伸图像区域到不同比率的设备上也能够使用该定义去请求一幅地图。如果WIDTH/HEIGHT比率与X、Y以及像素尺寸的比率不一致,那么就会发生图像扭曲。

TRANSPARENT:该可选参数定义地图背景是否透明,可取值:”TRUE” 和FALSE”,默认和参数缺省时取值:FALSE.。绘制透明像素地能力使得不同的地图请求可以被叠置生成一个复合地区。强烈推荐每个WMS提供一种可以提供透明图层的格式以使得图层可以与其他图层叠置.。注意:image/gif格式具有透明性并且可以让通常客户完全显式。image/png格式提供一个范围内的意义的点,或实体将不能设成透明的,而客户端可能仍然请求TRANSPARENT=TRUE当FORMAT参数包含一个图形元素格式,TRANSPARENT参数可能在请求中出现,但其设置值将会被WMS忽略。

BGCOLOR:该可选参数为一个字符串,用来指定地图将要使用的背景色(无数据区)。BGCOLOR通常的格式为一个RGB值的十六进制编码,其中对于每个颜色值red、green和blue使用两个十六进制字符,所以该值的范围为00到FF(十进制的0和255)。其 格式为oxRRGGBB,RRGGBB大小写都是允许的。而”0x”必须为小写的”x”,如果该参数在请求中缺失,则默认的值为oxFFFFFF(对应的值为白色)。当FORMAT值为图像格式时,服务器应该设置背景像素值为BGCOLOR值,当FORMAT的值为图形元素格式(它们没有显式的背景),或者图像格式时,WMS应该避免为前景元素使用BGCOLOR值,因为这样在该背景颜色下,它们将不可见。当图层已经确定为不透明”opaque”时,地图上的重要点、实体将不显式任何背景。

GetFeatureInfo(可选)

GetFeatureInfo是一个可选操作。它只支持可查询属性被定义或继承为“1”(真)的层。客户端不得向其他层发出GetFeatureInfo要求。如果一个WMS收到一个GetFeatureInfo请求,但不支持它,它会回应一个格式正确的服务异常反应(XML代码= OperationNotSupported)。

GetFeatureInfo操作设计的目的是为一个WMS的客户端提供更多返回地图请求的地图要素的信息。GetFeatureInfo典型用例,一个用户看到一个地图请求响应,在地图上选择一个点(I,j)来获取更多信息。基本操作为客户端提供指定哪个像元被访问, 哪个层应该进行调查,信息应该返回什么样格式的功能。因为WMS的协议是无状态的, 对于WMS,GetFeatureInfo请求通过包括大部分原始GetMap请求参数(除了VERSION和REQUEST)表明用户正预览的是什么地图。从GetMap请求下的空间范围信息((BBOX,,CRS,,WIDTH,,HEIGHT)来看,随着用户选择的I、J点的变化,WMS返回关于位置的附加信息。

GetFeatureInfo的请求参数GetFeatureInfo 请求参数

GetFeatureInfo的请求参数详解:

QUERY_LAYERS:QUERY_LAYERS参数规定查询的图层。它的值是一个以逗号分隔的一个或多个图层列表。此参数应至少包含1个图层的名称,但也可以包含比原来的GetMap请求的层少。如果在QUERY_LAYERS中规定查询的图层没有在WMS中的元数据中被定义,将返回<服务异常(code = LayerNotDefined)。

INFO_FORMAT:INFO_FORMAT参数表示返回的特征信息时使用何种格式。WMS服务器支持的GetFeatureInfo请求格式值在服务元数据中以<Request><FeatureInfo><Format>形式列出。<Format>的整个MIME字符串值被用来表示INFO_FORMAT参数的值,而这个值没有默认值。在HTTP环境下,MIME类型应该使用内容类型实体头文件设置为返回对象。如果请求指定了一个服务器不支持的格式,服务器应该发送一个服务异常(code = ”InvalidFormat” )。

FEATURE_COUNT:FEATURE_COUNT参数规定在返回的每个图层中所允许包含的特征数据量的最大值。

I,J:指示兴趣点,这是根据地图的CS定义,I和J是地图坐标系统中的一个坐标,因此I的值应介于0与i轴的最大值,J值应介于0和第j轴的最大值,点I = 0,J = 0表示该像素在地图的左上角,I向右增加而J向下增加。点(I,J)表示所指示的像素的中心。如果j或者I值无效,则服务器会发出一个服务异常(code = InvalidPoint)。

WFS(Web Feature Service,网络特征数据执行规范)

WFS是基于地理要素级别的数据共享和数据操作,WFS规范定义了若干基于地理要素(Feature)级别的数据操作接口,并以 HTTP 作为分布式计算平台。通过 WFS服务,客户端可以得到矢量数据格式描述的单个地理要素的空间数据或要素集的空间数据,并可以对单个地理要素进行编辑、 删除、 添加等数据操作。WFS采用 GML描述地理要素特征, 根据用户请求的内容返回 GML描述的空间数据。

OpenGIS的WFS实施规范为下一步操作逻辑提供支持,提出了描述使用了分布式计算平台HTTP地理特征数据处理操作界面。数据处理操作包括以下能力:

  • 创建一个新功能实例
  • 删除功能实例
  • 更新功能的实例
  • 获取或查询功能,对空间和非空间的限制

WFS规范定义了 6 个基本操作:

  1. GetCapabilities操作 返回描述 WFS 服务元数据的XML文档, 服务元数据描述了该 WFS服务可以提供的地理要素类型以及针对每个要素类型的操作;
  2. DescribeFeatureType操作 返回WFS能够提供的地理要素类型的GML应用模式描述文档;
  3. GetFeature操作 根据用户查询条件,从WFS中获取地理要素,用户可以设定空间和非空间查询条件;
  4. Transaction 操作 为事务请求提供服务。用于描述地理数据变化的操作方法, 如创建、 修改和删除地理要素的操作;
  5. LockFeature操作 WFS可以在一个事务处理期间锁定一个地理要素类型中的一个或多个地理要素实例, 这使 WFS具有支持可序列化事务的能力;
  6. GetGmlObject 操作 一个 WFS 服务可能通过追踪Xlinks 来获取客户请求所需的构成地理要素的子要素实例。

WCS(Web Coverage Service,网络覆盖执行规范)

WCS面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖物(COverage)“在网上相互交换。网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType。

  • GetCapabilities操作返回描述服务和数据集的XML文档。
  • GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。
  • DescribeCoverageType操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述。

至此,空间数据互操作的接口规范WMS、WFS和WCS已经介绍完毕,这些都是一些理论的东西,大家可以选择粗略看看,也可以更深入地去学习和理解。当然,如果需要深入学习和理解应用的,紧靠这一节的内容是远远不够的。此外,考虑到WMS使用得最为频繁,我在本文中着重介绍了WMS服务的规范和请求参数,希望有所助益。

除了本文所介绍的三种协议外,GeoServer还支持TMS、WMS-C、WMTS等多个协议,此外,Web Processing Server(WPS)作为新近推出的标准,也有了越来越广泛的使用,对于这些内容,最好的学习之处还是OGC的官网(http://www.opengeospatial.org/)

----------------------------------------------------------------------------------------------------------------------------------

Web Coverage Service (WCS) 网络地理场数据服务

OGC Web Coverage Service (WCS) 接口标准定义了一套标准接口和操作用于提供和获取可共用的网络地理场数据服务。“Grid coverages”栅格数据通常指卫星图片、数字航摄图片、数字高程模型及其它使用各个点的数值模型表达的信息(http://www.opengeospatial.org/standards/wcs)。

WCS in Context

  WCS 为数据服务标准。该服务使得数字高程等栅格数据能够以 HTTP 接口上的标准请求检索,并以元数据和 GeoTIFF、NetCDF 等二进制图形数据返回。

 

Style Layer Descriptor (SLD) 图层样式注记

  OGC Styled Layer Descriptor (SLD) 为地图要素的标记样式提供指导。它常用于 Web Map Services 网络地图服务的渲染以及 GML(来自 WFS)的要素的样式处理。(http://www.opengeospatial.org/standards/sld)

SLD in Context

  精细的样式控制对用许多地理信息服务至关重要。这要求一种客户端和服务器端均能使用的样式注记语言。

  目前 OGC Web Map Service (WMS) 标准已经内建了一部分样式。然而,这种实现只能对用户传输样式的名称。具体的样式信息并没有一致的规范,也无法实现自定义。   OGC Symbology Encoding (SE) 符号编码标准 (http://www.opengeospatial.org/standards/symbol) 规定了一种用户和服务器均能解释的注记语言。WMS 的 SLD 部分使得 SE 可通过 WMS 操作对 WMS 图层应用样式。同时,SLD 定了标准的图例获取方法,使其能够远程获取。

  除了对 WMS 配置样式,SE 也用于 WFS 和 WCS 。

Geography Markup Language (GML) 地理注记

  GML (http://www.opengeospatial.org/standards/gml) 是一种 XML 语法,用于表述地理要素。它既是 GIS 系统的数据类型,也是网络中公开交换地理信息的媒介。它不仅包含了传统的矢量信息,也包含了观测信息的某些成分,具有很高的通用性。

GML in Context

  GML 原型有多种,各自适用于不同的用途:

  • Feature 地理要素
  • Geometry 几何对象
  • Coordinate Reference System 坐标系统
  • Topology 拓扑对象
  • Time 时间
  • Dynamic feature 动态要素
  • Coverage (including geographic images) 栅格数据
  • Unit of measure 单位
  • Directions 方向
  • Observations 观测
  • Map presentation styling rules 样式规则

  理解 “Feature”、“Geometry” 和 “CRS” 是实现 GML 的核心。

Filter Encoding (FE) 过滤器编码

  OGC Filter Encoding Standard (FE) 定义了表达空间信息查询范围的 XML 语法,是查询可以根据一定的属性筛选结果。(http://www.opengeospatial.org/standards/filter)

FE in Context

  FE 查询的结果可以被以特别的样式标注或转换成某种格式。XML 编码在转换成目标语言前可以轻松地解释和验证。FE 被应用在多种 OGC 网络服务中,包括 WFS、CSW 和 SLD 。

  过滤的属性值可以是空间范围,例如“寻找 Omstead 地区 Peter Vretanos 名下的所有产业”。对于时间的过滤如“选择马萨诸塞州 1900 年前建造的水坝”。另外也可以使用如“寻找巴黎所有度数在 20-24 摄氏度的温度传感器”的过滤器。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Jinsist/article/details/79195379

智能推荐

SQL2005的问题-程序员宅基地

文章浏览阅读446次。现在安装了SQL 2005十分高兴(一般安装的问题我都能解决--需要的话联系我,网上的资料还是有出路的必须要结合你的软件才能分析)现在用SQL2005的分析都很好。填报的时候一切很好。我在学校做的都没问题。不知是不是版本还是其他问题 我在填表是出了布尔值的问题附上我的图 有帮助的人请帮下现在能帮忙的人真是太少了但我相信好人是多了知识-博士后的更多我会写命令--没有多大碍可是。我贴这性别居然出了问题

菜鸟学Java——Java内存分析_java之内存分析(引用传递)-程序员宅基地

文章浏览阅读4.4k次,点赞8次,收藏19次。我们常说的Java内存主要分为四大块(寄存器不在考虑之内,我们无法用代码来操控它):stack(栈)、heap(堆)、data segment(数据区)、code segment(代码区)。它们的主要用途如下图所示: 而在上面四个当中,我们经常谈论的是右边那两个家伙——stack和heap。今天我们就来聊聊Java代码在运行的过程中,在stack和heap中到底是什么样子的..._java之内存分析(引用传递)

支付项目中的账户体系-程序员宅基地

文章浏览阅读124次。提起第三方支付,大家都不陌生,会不由自主的想起支付宝,财付通和微信等,可以说在中国比较有名的第三方支付公司了。那么究竟什么是第三方支付呢?百度之后得到了一个结论:所谓第三方支付,就是一些和产品所在国家以及国外各大银行签约、并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台。一个简单的交易流程:买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达、进行发货;买方..._支付公司 cfs账户

“查明熊saas服务平台”抓住东南亚电商风口快速成长。-程序员宅基地

文章浏览阅读2.1k次。■“查明熊”抓住风口快速成长。  东南亚作为近年来GDP快速增长的地区,其消费市场正在蓬勃发展,尤其是东南亚地区人口相对年轻化,叠加疫情因素,给跨境电商带来机遇。厦门火炬物联网专业孵化器培育出的东南亚电商服务综合SaaS平台“查明熊”,最近拿到了渊信资本近1000万元的天使轮融资。这轮融资将用于产品打磨、市场推广和服务体系的扩充搭建。  记者 张海军  2020年起步 赶上东南亚电商兴起的风口  这些年,东南亚地区的电商行业发展很快。谷歌、淡马锡和贝恩公...

C语言——Prim算法实现最小生成树_c语言实现最小生成树输出g的最小生成树的边权之和-程序员宅基地

文章浏览阅读2.9k次,点赞9次,收藏32次。Prim算法C语言实现_c语言实现最小生成树输出g的最小生成树的边权之和

Linux系统中新建账户以及群组_linux 群组项目一般建在哪里-程序员宅基地

文章浏览阅读3.9k次,点赞2次,收藏15次。Linux系统中的账户    Linux系统中的账户可以分为两大类:系统账户和普通账户。    系统账户是给计算机中各种不同的功能创建的特殊账户,系统上运行的程序通过这些特殊账户来使用计算的各种资源和服务。早期的程序是通过管理员账户(root)来获得计算机的各种服务,为了增加系统的安全性,现在计算机上各种服务都分别创建有相应的系统账户。Linux系统预留了500以下的UID给这些系统账户,普通..._linux 群组项目一般建在哪里

随便推点

Qt ESP8266局域网控制程序(一)-程序员宅基地

文章浏览阅读849次,点赞2次,收藏7次。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数.._qt esp8266

qt编写网易云界面(3)----列表框的实现-程序员宅基地

文章浏览阅读2.3k次,点赞7次,收藏25次。今天完成列表框的数据,我们来看下,原版网易云部分:我们要实现的就是左边的部分,标题栏与下面控制栏都已经写完毕。详细可以看我前面播客。目前完成的部分:首先要说明一下,里面会有些不同,毕竟我找不到图标呀,这点希望大家能够用就好。上一个动态图:这部分主要代码:void AllMain::setListT1(){ //首先我们要把滚动条给取消掉 垂直与水平 ui->listT1->setVerticalScrollBarPolicy(Qt::...

Word的兼容性问题很常见,禁用兼容模式虽步不是最有效的,但可以解决兼容性问题_word兼容性问题-程序员宅基地

文章浏览阅读1.2k次,点赞10次,收藏8次。Word的兼容性问题很常见,禁用兼容模式虽步是最有效的,但可以解决兼容性问题。_word兼容性问题

background-image 和 img_background-img和background-image-程序员宅基地

文章浏览阅读918次。原文地址:http://www.cnblogs.com/njqa/p/6096838.html一:解决div里面的img图像宽度不变,高度不变! 超出div部分设置隐藏! 图片:1920x526 div容器: 1423x526 1. background-image:样式实现 img: 标签或者html组建实现_background-img和background-image

在linux下用rsh实现两个节点的无密码互通_linux 脚本免密码 rsh-程序员宅基地

文章浏览阅读3.2k次。由于要做并行计算,现在要把机器配置成两台无密码可以互相访问。现在来说说具体配置rsh的流程。机器配置:64位机,4核,X86服务器主机,装centos 4.8 64位操作系统。网络互通采用infiniband网卡通信。 1、检查有无安装rsh-server包[root@node1 ~]# rpm -qa rsh-server若没有安装,则可以通过下面的命令来安装。2、_linux 脚本免密码 rsh

NYOJ 860 又见01背包-背包问题_入格式 第一行输入,n 和 w ,接下来有n行,每行输入两个数,代表第i个物品的wi 和 vi-程序员宅基地

文章浏览阅读135次。问题来源:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=860描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。   1 &amp;amp;amp;lt;= n &amp;amp;amp;lt;=100   1 &amp;amp;amp;lt;= wi &amp;amp;amp;lt;= 10^7   1 &am_入格式 第一行输入,n 和 w ,接下来有n行,每行输入两个数,代表第i个物品的wi 和 vi

推荐文章

热门文章

相关标签