gdi-by / downloadclient

GDI-BY DownloadClient
Apache License 2.0
2 stars 0 forks source link

Umstellung GetFeature-Anfrage auf HTTP-Post #81

Closed JuergenWeichand closed 7 years ago

JuergenWeichand commented 7 years ago

[LDBV] Der DownloadClient sendet aktuell alle Anfragen per HTTP-GET an die WebServer (Ausnahme Verfügbarkeitsprüfung über HTTP-HEAD).

Dies gilt auch für WFS GetFeature-Anfragen. Werden in den StoredQueries Parameter vorgesehen, die einen sehr großen Wert annehmen (z. B: umfangreiches GML-Polygon), so ist eine Anfrage über den DownloadClient – aufgrund der Beschränkungen von HTTP-GET – nicht mehr möglich.

Aus diesem Grund sollten GetFeature-Anfragen per HTTP-POST gestellt werden, sofern dies vom WFS unterstützt wird.

Eine Beispielanfrage sieht wie folgt aus: http://geoserv.weichand.de:8080/geoserver/wfs

<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature service="WFS" version="2.0.0"
                xmlns:wfs="http://www.opengis.net/wfs/2.0" 
                xmlns:gml="http://www.opengis.net/gml/3.2" 
                xmlns:fes="http://www.opengis.net/fes/2.0" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd  
                    http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd">

    <wfs:StoredQuery id="geometryIntersectionQuery">

        <!-- Parameter 1..n -->
        <wfs:Parameter name="geometry">            
            &lt;gml:Polygon srsName=&quot;urn:ogc:def:crs:EPSG::31468&quot; id=&quot;_1&quot;&gt;
                &lt;gml:exterior&gt;
                    &lt;gml:LinearRing&gt;
                        &lt;gml:posList&gt;5346376.813189640641212 4462744.776908471249044 5346384.990846580825746 4462745.290955824777484 5346421.717634766362607 4462749.887415004894137 5346428.306046109646559 4462751.128782183863223 5346434.72923037968576 4462751.666764623485506 5346480.601119463331997 4462759.121092392131686 5346506.951119462959468 4462765.531092392280698 5346567.019425909034908 4462787.133001149632037 5346573.819425908848643 4462790.433001149445772 5346592.089355004020035 4462799.310952743515372 5346639.997998906299472 4462828.414065361022949 5346667.777998906560242 4462849.074065361171961 5346676.996611522510648 4462857.437191780656576 5346859.953961110673845 4462833.417237554676831 5346920.301567402668297 4462805.153390039689839 5346968.674350087530911 4462782.486143937334418 5347025.800788007676601 4462755.723756828345358 5347068.89091697242111 4462735.541934129782021 5347127.87475324049592 4462707.200545961968601 5347148.882557055912912 4462696.876440573483706 5347242.755508141592145 4462668.593495221808553 5347340.734354853630066 4462672.086565519683063 5347432.354895461350679 4462706.982589389197528 5347507.831999277696013 4462769.554649789817631 5347559.104664699174464 4462853.120011775754392 5347670.744664698839188 4463127.68001177534461 5347672.16854649130255 4463131.24708394985646 5347717.398546491749585 4463246.697083950042725 5347717.601487996987998 4463247.216514984145761 5347808.891487997025251 4463481.516514983959496 5347814.945886970497668 4463498.556711370125413 5347864.911315311677754 4463653.873032179661095 5347923.643856233917177 4463665.835510070435703 5347924.51491641253233 4463666.014270036481321 5347947.76273927744478 4463670.821130658499897 5347999.439731592312455 4463680.442130239680409 5348009.64552444126457 4463682.217199152335525 5348009.324201595038176 4463684.064651035703719 5348061.563696198165417 4463691.851500930264592 5348147.44240412581712 4463735.532421492040157 5348215.045386309735477 4463804.183802368119359 5348257.399639036506414 4463890.724501303397119 5348261.720293637365103 4463905.001779426820576 5348261.747200229205191 4463905.081776876933873 5348264.119767934083939 4463912.448970347642899 5348266.832972884178162 4463921.261935332790017 5348268.506124843843281 4463926.684916096739471 5348281.777708634734154 4464021.243177498690784 5348264.664270363748074 4464115.182146868668497 5348190.156823589466512 4464325.797460284084082 5348154.47801314573735 4464433.982436744496226 5348111.775596603751183 4464563.451700061559677 5348090.841743772849441 4464626.931461129337549 5348089.754300848580897 4464630.839006036520004 5348031.73064592666924 4464839.686574990861118 5348031.03661738615483 4464842.144028993323445 5348028.42761738691479 4464851.234028993174434 5348025.613601496443152 4464861.027656867168844 5348012.10926123149693 4464898.466645855456591 5347996.094816006720066 4464935.056228337809443 5347971.629356120713055 4464997.810270445421338 5347971.008212472312152 4464999.390282424166799 5347962.81431723665446 4465020.061245403252542 5347935.51518698874861 4465102.802850338630378 5347853.773587372153997 4465382.856251427903771 5347852.548804282210767 4465386.944132911041379 5347845.718804282136261 4465409.164132910780609 5347845.439243611879647 4465410.068542826920748 5347831.368243612349033 4465455.33654282707721 5347786.596621192060411 4465538.45326682087034 5347779.419302152469754 4465554.683312009088695 5347763.765320839360356 4465608.751096514984965 5347751.530165644362569 4465643.059303918853402 5347689.205011893063784 4465789.122593118809164 5347676.588443361222744 4465820.918036301620305 5347674.108641223050654 4465827.167537656612694 5347667.318012993782759 4465842.947423639707267 5347664.15801299456507 4465849.747423640452325 5347663.737034800462425 4465850.649407640099525 5347655.098034800030291 4465869.079407639801502 5347635.554570427164435 4465910.731464526616037 5347635.990026470273733 4465948.326151659712195 5347616.459327695891261 4466015.964653455652297 5347617.390104371123016 4466016.280275038443506 5347576.78010437078774 4466136.040275038219988 5347576.609132014214993 4466136.543013744987547 5347570.927602771669626 4466153.200988536700606 5347530.684388424269855 4466280.395730157382786 5347514.284530634991825 4466332.196884066797793 5347471.736533121205866 4466466.660273071378469 5347474.139353224076331 4466491.669280664995313 5347474.686648740433156 4466492.472570177167654 5347595.358794565312564 4466565.84482473321259 5347608.564853474497795 4466573.745122968219221 5347616.009235171601176 4466547.067026657052338 5347618.566546218469739 4466538.407997770234942 5347622.036546219140291 4466527.277997770346701 5347665.087282703258097 4466441.129255062900484 5347733.216792365536094 4466373.060600785538554 5347819.403972098603845 4466330.086866578087211 5347914.76678123511374 4466316.636721021495759 5348009.477582400664687 4466334.096272119320929 5348093.775931058451533 4466380.666221609339118 5348111.25597856938839 4466394.399282191880047 5348132.038808411918581 4466402.321055060252547 5348157.622140838764608 4466420.099535212852061 5348185.143735303543508 4466399.831365145742893 5348274.857395303435624 4466370.24397958535701 5348369.323814945295453 4466370.02096641715616 5348459.176172007806599 4466399.184438521042466 5348470.696172007359564 4466405.064438520930707 5348487.890070422552526 4466414.562487557530403 5348515.853070974349976 4466431.226959436200559 5348656.408178957179189 4466493.301500354893506 5348656.876767857000232 4466493.508925683796406 5348693.276767857372761 4466509.658925683237612 5348744.906797584146261 4466543.0010608099401 5348761.291759091429412 4466546.572543815709651 5348819.052488341927528 4466565.462590574286878 5348854.905290272086859 4466581.367574608884752 5348864.948453434742987 4466585.662804971449077 5348881.891055728308856 4466592.849569589830935 5348954.870391793549061 4466636.973036914132535 5349012.485367242246866 4466699.848934245295823 5349050.080139045603573 4466776.396285566501319 5349064.616688787937164 4466860.42933015525341 5349064.9166887877509 4466870.889330155216157 5349065.941570350900292 4466907.351253744214773 5349053.439227343536913 4467001.879823989234865 5349011.905326534062624 4467087.710437739267945 5348945.535696037113667 4467156.172334594652057 5348920.619446948170662 4467169.19858895521611 5348880.326752019114792 4467224.331813633441925 5348819.716303785331547 4467312.182006348855793 5348809.690348289906979 4467328.577310140244663 5348786.051991985179484 4467367.234622101299465 5348731.492499682120979 4467433.092516675591469 5348660.56732183508575 4467480.879749545827508 5348579.040311607532203 4467506.712811335921288 5348517.311411876231432 4467507.997532473877072 5348513.805575560778379 4467508.949385882355273 5348513.176006170921028 4467510.532930050976574 5348508.588595348410308 4467521.439944886602461 5348485.238595347851515 4467574.02994488645345 5348482.971741608344018 4467579.012399126775563 5348475.221741608344018 4467595.642399126663804 5348428.995002730749547 4467666.560496210120618 5348364.797204265370965 4467721.741385594941676 5348287.740122935734689 4467756.791265739127994 5348208.059700003825128 4467768.32572849933058 5348172.373774627223611 4467877.881998979486525 5348152.503125164657831 4467963.102744323201478 5348120.580661391839385 4468044.227439370006323 5348066.681568203493953 4468112.748586419969797 5347995.357480191625655 4468162.879757451824844 5347912.63152626529336 4468190.38750884309411 5347894.60134729091078 4468190.917473127134144 5347927.354409797117114 4468284.066966447047889 5347933.576930583454669 4468325.769575942307711 5347933.62039300147444 4468325.759494039230049 5347939.460309136658907 4468350.934986716136336 5347940.812882670201361 4468353.963629460893571 5347947.800197202712297 4468369.573693030513823 5347971.822958477772772 4468456.229387567378581 5347969.085183682851493 4468546.111571810208261 5347939.832855872809887 4468631.14452879037708 5347886.694232495501637 4468703.688233965076506 5347814.443702223710716 4468757.224794655106962 5347790.683702223002911 4468769.814794655889273 5347780.217832759954035 4468775.101158739067614 5347620.217832759954035 4468852.031158738769591 5347600.196562428958714 4468860.774950721301138 5347581.136562429368496 4468868.284950721077621 5347517.891439905390143 4468885.507936357520521 5347499.327426826581359 4468888.435415276326239 5347451.037369824945927 4468896.055925854481757 5347440.882664494216442 4468902.870205937884748 5347369.101664493791759 4468945.31020593829453 5347358.701791719533503 4468951.182868259958923 5347332.797732633538544 4468965.137893881648779 5347229.160686776973307 4469033.711084174923599 5347212.715930808335543 4469093.530345398932695 5347159.601105051115155 4469173.106321747414768 5347084.134184639900923 4469231.91333366651088 5347010.946490877307951 4469257.94047911837697 5347002.706487945280969 4469265.957779268734157 5346983.372020154260099 4469283.208413613960147 5346942.612020154483616 4469316.528413613326848 5346931.012336776591837 4469325.546083187684417 5346916.381336776539683 4469336.356083188205957 5346856.911516410298645 4469370.544067917391658 5346837.766576600261033 4469378.800623763352633 5346859.88795701507479 4469398.367015356197953 5346951.19795701559633 4469502.217015355825424 5346953.655741746537387 4469505.047811899334192 5346973.125741746276617 4469527.757811899296939 5346999.772929272614419 4469564.025819043628871 5347025.752929272130132 4469605.595819043926895 5347045.15703196823597 4469641.994285374879837 5347065.917835975065827 4469688.361763583496213 5347066.089862731285393 4469688.598752226680517 5347098.292763318866491 4469744.896977395750582 5347108.109937601722777 4469767.40590338408947 5347112.430660330690444 4469776.192426919005811 5347160.115422535687685 4469734.339816492982209 5347246.905983137898147 4469697.198379332199693 5347302.282290051691234 4469683.272722894325852 5347320.674711709842086 4469676.926275810226798 5347338.237848495133221 4469667.658642747439444 5347367.272041176445782 4469652.313992150127888 5347400.444836596027017 4469637.282458167523146 5347459.114836595952511 4469614.882458168081939 5347472.216898517683148 4469609.884971675463021 5347509.914339710958302 4469591.971109227277339 5347510.704971408471465 4469590.923340355977416 5347584.228120358660817 4469538.243381318636239 5347821.688120358623564 4469417.503381318412721 5347822.166407214477658 4469417.260727203451097 5347827.7964072143659 4469414.410727203823626 5347832.27335861697793 4469412.191064770333469 5347846.342358617112041 4469405.361064770258963 5347941.699494135566056 4469377.366873247548938 5348040.969926829449832 4469382.061470793560147 5348133.259655382484198 4469418.929669246077538 5348191.703864597715437 4469469.456092925742269 5348212.610206280834973 4469466.631382426247001 5348323.53817471768707 4469472.394171681255102 5348424.765670463442802 4469518.124009057879448 5348429.423824378289282 4469521.383247692137957 5348431.466250809840858 4469522.717768445611 5348436.079024182632565 4469525.792942212894559 5348455.988024182617664 4469539.332942212931812 5348483.429858774878085 4469564.663791908882558 5348501.691097561269999 4469567.605974212288857 5348513.381097560748458 4469570.345974211581051 5348625.859133963473141 4469623.137229944579303 5348664.939133963547647 4469652.687229945324361 5348697.16607753187418 4469688.185804556123912 5348708.080952304415405 4469697.695710909552872 5348814.857129670679569 4469775.375084429048002 5348820.45774879027158 4469779.550093657337129 5348832.477748789824545 4469788.730093657970428 5348878.627754636108875 4469832.451444899663329 5348882.718145785853267 4469837.246455787681043 5348887.905831363983452 4469841.001301549375057 5348907.516565845347941 4469851.878315557725728 5348918.227921884506941 4469856.454751036129892 5348940.102818143554032 4469868.53979461453855 5348961.33971497323364 4469877.327118315733969 5348987.178189098834991 4469886.810780134052038 5349034.09407670982182 4469908.796597836539149 5349056.623076709918678 4469921.836597836576402 5349106.767234898172319 4469958.256966566666961 5349129.644120088778436 4469978.797739838249981 5349167.287702568806708 4470008.129681408405304 5349192.469148586504161 4470021.133370756171644 5349203.15776957012713 4470026.930322437547147 5349251.428769569844007 4470054.390322437509894 5349262.757871672511101 4470061.169349643401802 5349307.137871672399342 4470089.069349642843008 5349322.524651042185724 4470099.419400221668184 5349388.743651042692363 4470146.99940022174269 5349411.560361547395587 4470165.13737422414124 5349423.921296047046781 4470175.984180992469192 5349434.738483901135623 4470183.576257576234639 5349437.927249957807362 4470185.585828766226768 5349513.079454643651843 4470253.036099513992667 5349561.593751492910087 4470341.601080710068345 5349577.973258883692324 4470441.245973356999457 5349560.362107124179602 4470540.680576121434569 5349510.755716590210795 4470628.638514428399503 5349491.128305518068373 4470652.78033830691129 5349482.770725871436298 4470663.982709486037493 5349445.260532689280808 4470718.589760253205895 5349444.572744254022837 4470719.586719158105552 5349378.460400185547769 4470815.004824066534638 5349337.415087008848786 4470879.05497042182833 5349326.855153368785977 4470894.456299915909767 5349315.413351438008249 4470910.078080876730382 5349298.078055020421743 4470938.626944607123733 5349258.408430735580623 4470990.322465523146093 5349247.837116877548397 4471001.370653388090432 5349235.014467498287559 4471020.700183041393757 5349221.71789871994406 4471041.056961609981954 5349169.956181135959923 4471120.280205986462533 5349142.556958824396133 4471156.03318456467241 5349072.078489975072443 4471234.941770324483514 5349066.877489921636879 4471241.109215374104679 5349060.630390032194555 4471248.552853794768453 5349032.436839197762311 4471282.178647629916668 5349011.805279162712395 4471306.782434175722301 5349002.386541023850441 4471317.487229595892131 5349001.506911785341799 4471318.440307 5348921.73808968346566 4471433.57756061386317 5348863.623100484721363 4471496.12610936164856 5348847.844180097803473 4471505.510763159021735 5348839.455126063898206 4471534.264895957894623 5348790.902160698547959 4471608.341707691550255 5348728.74216069933027 4471678.031707691028714 5348726.142724087461829 4471680.908398375846446 5348708.282724087126553 4471700.418398375622928 5348633.651172186248004 4471759.562501987442374 5348544.243873444385827 4471792.337926667183638 5348525.723873444832861 4471795.937926667742431 5348504.218937468715012 4471800.112483162432909 5348475.411959446966648 4471804.266322980634868 5348231.111959447152913 4471827.46632297988981 5348216.573330190032721 4471828.491356681101024 5348194.990122988820076 4471829.486920111812651 5348193.94556772429496 4471829.582848656922579 5348189.308956406079233 4471829.972424833104014 5348106.51895640604198 4471836.282424833625555 5348006.316919385455549 4471826.992652333341539 5347914.824232356622815 4471785.089951747097075 5347852.884588811546564 4471725.447024366818368 5347826.901694955304265 4471721.839377023279667 5347806.971878258511424 4471718.383741434663534 5347744.259462596848607 4471705.318243662826717 5347671.628028457984328 4471690.617965649813414 5347666.177885273471475 4471689.462098549120128 5347644.44688527379185 4471684.642098548822105 5347634.099201707169414 4471682.346506679430604 5347578.786393477581441 4471672.741820272058249 5347531.611996048130095 4471667.22664896119386 5347500.29694084636867 4471664.285590508021414 5347480.103942746296525 4471661.695279344916344 5347425.174942745827138 4471652.745279345661402 5347338.325609036721289 4471624.510981724597514 5347263.994995697401464 4471571.454952394589782 5347209.071058301255107 4471498.493706320412457 5347178.643404261209071 4471412.388304646126926 5347175.531656879000366 4471321.117831019684672 5347188.721656879410148 4471210.537831019610167 5347189.318383743055165 4471205.849421897903085 5347214.348383742384613 4471020.83942189719528 5347215.44165192451328 4471013.451822158880532 5347215.529385609552264 4471012.905979536473751 5347144.705287737771869 4470976.465897115878761 5347073.370050159282982 4470898.625230607576668 5347010.323685495182872 4470799.156165540218353 5346998.206324230879545 4470780.04509889986366 5346962.742324769496918 4470700.508409063331783 5346956.425256830640137 4470651.469661433249712 5346936.180731607601047 4470624.384160729125142 5346908.746223784051836 4470571.566531627438962 5346893.794098421931267 4470576.208583451807499 5346691.538080647587776 4470639.007347004488111 5346637.801496529951692 4470655.68939131591469 5346461.379181899130344 4470710.467005074955523 5346312.620350893586874 4470756.656642102636397 5346308.920384760014713 4470757.779391389340162 5346204.88038475997746 4470788.619391389191151 5346196.855895226821303 4470790.877247888594866 5346116.53589522652328 4470812.277247888036072 5346105.761883051134646 4470814.935412032529712 5346002.321883051656187 4470838.435412032529712 5345981.356487578712404 4470842.420048423111439 5345976.519997928291559 4470843.162109109573066 5345791.487653555348516 4470879.582218100316823 5345724.245967043563724 4470885.085690243169665 5345723.759825134649873 4470885.070606052875519 5345704.769827286712825 4470885.848571041598916 5345687.029316938482225 4470886.050297450274229 5345501.918316937983036 4470882.680297451093793 5345493.314930762164295 4470882.400155264884233 5345382.515930762514472 4470877.200155264697969 5345359.354675380513072 4470875.211499605327845 5345236.44467538036406 4470859.841499605216086 5345225.479940994642675 4470858.26423538569361 5345151.069940994493663 4470846.154235385358334 5345143.556045316159725 4470844.833088783547282 5345139.524742779321969 4470844.071310030296445 5345131.453259498812258 4470842.911852140910923 5345125.944060696288943 4470842.068159784190357 5345077.193060696125031 4470834.13815978448838 5345067.605825847946107 4470832.418469332158566 5344953.147834248840809 4470809.964083340018988 5344894.740725185722113 4470798.999890245497227 5344745.917272274382412 4470771.054875465109944 5344589.664473544806242 4470744.265753778629005 5344583.733801946043968 4470743.187513389624655 5344502.786279381252825 4470727.628950593993068 5344382.882322817109525 4470704.589069399051368 5344260.047784139402211 4470682.506632931530476 5344257.649465728551149 4470682.065408126451075 5344214.020465728826821 4470673.855408126488328 5344066.660174747928977 4470646.125353370793164 5344050.677808318287134 4470643.11041407007724 5343984.234830589033663 4470630.570472919382155 5343945.286081227473915 4470623.501711290329695 5343949.525957704521716 4470660.747391387820244 5343933.620569486171007 4470747.427421135827899 5343922.559569486416876 4470779.837421135976911 5343884.720736503601074 4470854.531896544620395 5343827.712021579034626 4470915.859283253550529 5343755.97443016897887 4470959.042149262502789 5343718.795430168509483 4470974.842149262316525 5343621.585707923397422 4470998.064165213145316 5343613.417733943089843 4470998.613356617279351 5343461.909749125130475 4471008.812547781504691 5343451.41036022733897 4471009.231898202560842 5343439.492949184030294 4471010.590002187527716 5343402.617626796476543 4471011.97046806756407 5343288.711038465611637 4471016.428494843654335 5343287.048935919068754 4471016.648241388611495 5343194.707041052170098 4471028.874520204029977 5343106.019926375709474 4471027.389780749566853 5343021.643393558450043 4471000.036362856626511 5342948.953459807671607 4470949.205444193445146 5342916.99066855199635 4470908.343223496340215 5342829.655510380864143 4470901.022357612848282 5342792.713811006397009 4470898.550839965231717 5342781.016172679141164 4470897.53794914111495 5342150.111795361153781 4470830.446104416623712 5342078.967808848246932 4470831.591151254251599 5341988.077502544037998 4470833.041797266341746 5341890.36136463470757 4470818.324226460419595 5341870.257343526929617 4470807.847791244275868 5341837.037533572874963 4470812.912713946774602 5341740.258893945254385 4470811.875873190350831 5341648.846722850576043 4470780.079724010080099 5341572.315178871154785 4470720.833602592349052 5341518.629648205824196 4470640.303832171484828 5341493.377709032036364 4470546.871933470480144 5341481.967709031887352 4470435.341933470219374 5341484.211898499168456 4470357.200288097374141 5341495.672266103327274 4470285.900988204404712 5341501.545880567282438 4470218.36040889006108 5341497.4032199997455 4470060.479011720046401 5341497.303099125623703 4470053.973622271791101 5341497.253254263661802 4470043.007752657867968 5341497.212417159229517 4470034.451881251297891 5341497.258765146136284 4470027.55587965529412 5341497.969765146262944 4469988.525879655964673 5341498.020308037288487 4469986.232760764658451 5341501.868812930770218 4469837.447168745100498 5341503.263338869437575 4469776.552544116042554 5341505.047549138776958 4469663.793625250458717 5341505.110461081378162 4469660.776846222579479 5341507.54903553519398 4469566.571916720829904 5341507.867630181834102 4469554.086988983675838 5341509.478822259232402 4469491.330416261218488 5341509.487755528651178 4469490.989993401803076 5341509.587755529209971 4469487.259993401356041 5341528.549827420152724 4469390.046790385618806 5341530.483825648203492 4469386.702477760612965 5341535.674765604548156 4469353.639247656799853 5341579.481766481883824 4469268.635357827879488 5341647.8126803021878 4469201.735426372848451 5341733.72454366274178 4469159.737017524428666 5341828.488029096275568 4469146.9075030926615 5341837.507029096595943 4469147.137503093108535 5341847.474594186991453 4469147.557628496550024 5341855.080058599822223 4469148.004982956685126 5342153.492719727568328 4469146.142738200724125 5342317.7176344236359 4469143.90777746681124 5342321.026561889797449 4469143.880997012369335 5342541.553280662745237 4469143.3124492270872 5342638.774252719245851 4469142.696706932038069 5342752.932015753351152 4469138.283885839395225 5342754.943829223513603 4469138.212877362966537 5342859.773030323907733 4469134.864963522180915 5342882.84423175919801 4469133.103218392468989 5342883.689039005897939 4469132.364102852530777 5342927.15600513573736 4469094.203571204096079 5342929.130433280020952 4469092.485374008305371 5342994.19043327961117 4469036.365374008193612 5343002.979297993704677 4469029.071322138421237 5343059.539297994226217 4468983.921322138048708 5343064.388376917690039 4468980.13123906031251 5343103.871376917697489 4468949.918239060789347 5343110.268512946553528 4468945.023483158089221 5343110.900790390558541 4468945.849829799495637 5343120.361978179775178 4468937.448074187152088 5343122.791978180408478 4468935.738074187189341 5343133.235061343759298 4468928.712098167277873 5343155.171763396821916 4468914.61267670802772 5343122.324437423609197 4468674.872469067573547 5343118.502556302584708 4468661.615063402801752 5343112.631556302309036 4468634.45506340265274 5343108.228309827856719 4468608.699406954459846 5343106.128309827297926 4468592.08940695412457 5343105.844607159495354 4468589.773093016818166 5343097.255607159808278 4468517.313093016855419 5343096.702898925170302 4468512.288439641706645 5343069.412898925133049 4468243.368439641781151 5343068.820382227189839 4468236.814890298061073 5343065.520712261088192 4468195.239048723131418 5343057.700039824470878 4468096.733174578286707 5343056.829360689036548 4468066.492965061217546 5343057.280360689386725 4468045.672965060919523 5343057.812724959105253 4468033.162851397879422 5343057.913294713944197 4468031.578694232739508 5343054.524202327243984 4467983.225756085477769 5343054.393273778259754 4467981.265791540965438 5343049.642317903228104 4467906.463718103244901 5343039.237508524209261 4467755.231370663270354 5343038.70214693620801 4467744.8016202962026 5343029.311146936379373 4467467.711620296351612 5343029.195145932026207 4467463.353826889768243 5343027.856145931407809 4467394.153826889581978 5343027.81498350482434 4467391.348312567919493 5343025.49147601146251 4467158.878408947959542 5343021.016659400425851 4466945.778790667653084 5343020.566566786728799 4466932.494544615969062 5343014.670130600221455 4466906.000951074063778 5343011.100130599923432 4466800.041951074264944 5343011.010834926739335 4466796.903793662786484 5343006.519834927283227 4466603.483793661929667 5343014.041670394130051 4466529.409630911424756 5343016.336218353360891 4466519.412372588180006 5343030.199405463412404 4466441.587964239530265 5343033.794961945153773 4466424.350177026353776 5343040.804961944930255 4466395.070177026093006 5343044.615529247559607 4466380.729847585782409 5343046.995529248379171 4466372.589847586117685 5343050.272781513631344 4466362.098561909049749 5343052.338020390830934 4466355.889258179813623 5343057.283803480677307 4466339.92940182518214 5343071.672211154364049 4466302.536914948374033 5343084.622211154550314 4466274.606914947740734 5343093.321154580451548 4466257.328164807520807 5343104.26115458086133 4466237.238164807669818 5343117.367551817558706 4466215.426472266204655 5343136.017551816999912 4466187.176472266204655 5343155.511491760611534 4466160.888259121216834 5343169.941491760313511 4466143.49825912155211 5343180.484165481291711 4466131.46124123968184 5343196.074165482074022 4466114.591241239570081 5343215.087877264246345 4466095.773766746744514 5343225.154796313494444 4466086.662463581189513 5343229.545388642698526 4466040.800335785374045 5343229.801210531964898 4466038.243603807874024 5343231.49121053237468 4466022.053603808395565 5343257.208112401887774 4465928.078079254366457 5343311.684051880612969 4465847.299800769425929 5343332.179085080511868 4465831.678823157213628 5343374.592360063455999 4465687.737397697754204 5343388.079566692002118 4465656.411873367615044 5343397.175974365323782 4465626.362481378950179 5343403.630829353816807 4465609.49071207549423 5343405.346477214246988 4465604.639625295065343 5343409.042527726851404 4465585.069851185195148 5343417.822217471897602 4465513.501275846734643 5343419.800875470973551 4465499.942139093764126 5343427.20087547134608 4465456.242139093577862 5343469.117308409884572 4465346.490529078990221 5343478.517308409325778 4465331.560529079288244 5343520.504704133607447 4465283.293453427962959 5343530.64688512776047 4465203.470287958160043 5343572.923765862360597 4465116.189849146641791 5343640.835614973679185 4465046.956978382542729 5343671.12480178847909 4465024.747933321632445 5343689.070093880407512 4465010.713901098817587 5343710.924042127095163 4464995.284170153550804 5343720.830341166816652 4464985.695568388327956 5343734.220341166481376 4464974.315568388439715 5343780.390568379312754 4464942.019992018118501 5343797.670568379573524 4464932.20999201759696 5343843.732069892808795 4464910.989702490158379 5343878.841069892980158 4464898.289702490903437 5343886.538035129196942 4464895.623077782802284 5344027.070499280467629 4464849.062515623867512 5344167.164135445840657 4464800.796320888213813 5344178.521922891028225 4464796.479770745150745 5344178.683616570197046 4464796.905222177505493 5344199.893668506294489 4464788.992114640772343 5344271.504110025241971 4464767.274519585072994 5344457.569767957553267 4464710.180319742299616 5344664.855517433024943 4464639.749028068967164 5344664.869184731505811 4464639.789252181537449 5344669.131999306380749 4464638.073291669599712 5344703.123786580748856 4464626.867277682758868 5344711.521517175249755 4464611.610243723727763 5344717.220360075123608 4464601.707744694314897 5344892.860678908415139 4464309.524019467644393 5344911.005251525901258 4464278.417684270069003 5344919.717816351912916 4464263.477476275525987 5344935.398230668157339 4464234.292564167641103 5344935.734850163571537 4464233.667810195125639 5344957.968194010667503 4464192.520128866657615 5344967.231535198166966 4464175.372455211356282 5344968.514571737498045 4464173.022521079517901 5345037.376037509180605 4464048.227150465361774 5345043.903837600722909 4464036.034203386865556 5345066.564585644751787 4463993.194163011386991 5345096.11487595923245 4463937.291449445299804 5345149.173162094317377 4463836.937591725960374 5345152.242117882706225 4463829.677167994901538 5345152.756617086939514 4463828.4673828529194 5345158.60236650519073 4463814.804979953914881 5345177.639332697726786 4463770.305918344296515 5345181.806017702445388 4463760.010756653733552 5345190.487034722231328 4463738.423540488816798 5345207.859188209287822 4463694.279901872389019 5345211.152833307161927 4463686.253162984736264 5345213.122833307832479 4463681.64316298533231 5345216.43056301958859 4463674.185062675736845 5345234.680330880917609 4463634.501398066058755 5345234.875293532386422 4463634.01371062733233 5345235.691162161529064 4463629.357064638286829 5345241.815899807959795 4463601.993218805640936 5345263.075899807736278 4463524.253218805417418 5345274.128876158036292 4463491.419682401232421 5345290.556534101255238 4463450.585965761914849 5345319.704684180207551 4463368.030582231469452 5345320.27050700224936 4463366.551062763668597 5345322.636676350608468 4463358.018379784189165 5345324.772978456690907 4463344.887063689529896 5345327.137535057961941 4463332.106211851350963 5345344.246535058133304 4463249.656211852096021 5345344.659097513183951 4463247.700793147087097 5345353.510097512975335 4463206.430793146602809 5345353.836863650009036 4463204.926010144874454 5345361.836863650009036 4463168.53601014520973 5345367.094973677769303 4463148.080689723603427 5345404.198026877827942 4463022.284698395058513 5345404.678931047208607 4463020.293357212096453 5345403.680407490581274 4463012.915533866733313 5345403.599066618829966 4463012.309887458570302 5345402.249066619202495 4463002.17988745868206 5345401.673570203594863 4462997.832615709863603 5345403.315519442781806 4462908.236823305487633 5345431.346568137407303 4462823.123003493063152 5345483.265692058950663 4462750.085296895354986 5345554.440492745488882 4462695.640372786670923 5345638.520515636540949 4462664.645989997312427 5345728.003858943469822 4462659.867571369744837 5345756.683454840444028 4462662.645594944246113 5345783.543057394213974 4462665.243621977046132 5345803.091492216102779 4462667.138616627082229 5345835.990571070462465 4462670.30235721450299 5345851.082902209833264 4462671.610359246842563 5345873.215383718721569 4462673.539255700074136 5345908.513338939286768 4462676.605603253468871 5345929.051295205019414 4462678.390294523909688 5345946.374480916187167 4462679.901005614548922 5345963.587389700114727 4462681.397693526931107 5345968.351750321686268 4462681.850279049016535 5346159.911750322207808 4462701.590279049240053 5346188.307032401673496 4462705.898407983593643 5346344.097032401710749 4462737.228407983668149 5346353.837806217372417 4462739.35631868429482 5346376.813189640641212 4462744.776908471249044&lt;/gml:posList&gt;
                    &lt;/gml:LinearRing&gt;
                &lt;/gml:exterior&gt;
            &lt;/gml:Polygon&gt;                        
        </wfs:Parameter>

    </wfs:StoredQuery>

</wfs:GetFeature>
gdi-by commented 7 years ago

Beauftragt - Umsetzung zum 11.07.2017

awoestmann commented 7 years ago

Wurde mit https://github.com/Intevation/downloadclient/commit/a02c25104a0b608cc123d0e85d1d8e777930e440 umgesetzt und wird mit dem nächsten Pull Request ausgeliefert.

dmth commented 7 years ago

Mit https://github.com/gdi-by/downloadclient/pull/84 steht dies nun zur Verfügung

gdi-by commented 7 years ago

Ergänzung notwendig, warten auf nächsten PR.

dmth commented 7 years ago

Mit dem in #84 eingebrachten Code werden Requests zwar, sofern durch den Server unterstützt, per Post gemacht, allerdings sind diese Form/URL Encoded. Manche Server unterstützen dies zwar, dies entspricht aber nicht dem Standard. Benötigt wird hier ein in XML formulierter Request, wie er bspw. für eine StoredQuery oben angegeben wurde. Der zweite für uns wichtige Request, alle Features innerhalb einer Boundingbox, ist hier dargestellt: http://docs.opengeospatial.org/is/09-025r2/09-025r2.html#331

http://docs.opengeospatial.org/is/09-025r2/09-025r2.html#407 beschreibt wie der GetFeature Request aussehen darf.

gdi-by commented 7 years ago

Bitte Requests weiterhin nach WFS 2.0.0 erstellen, da oben aufgeführte Beispiele auch WFS 2.0.2 beruhen.

JuergenWeichand commented 7 years ago

@dmth Beispielanfragen für alle benötigten POST-Requests stehen hier zur Verfügung. https://github.com/JuergenWeichand/geospatial-webservices-examples/tree/master/ows/wfs/2.0.0/weichand

Bei GetFeature-Anfragen über wfs:Query muss der jeweilige Namensraum der typeNames dynamisch gesetzt werden.

dmth commented 7 years ago

Vielen Dank, das wird die Sache vereinfachen.

awoestmann commented 7 years ago

Eine erste Implementierung der XML-POST-Requests für GetFeature-Anfragen wurde mithilfe der unteren beiden Beispiele abgeschlossen. Dabei traten noch folgende Probleme auf:

Ein Beispiel für eine Anfrage, die beide Probleme verursacht ist:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature  service="WFS"  version="2.0.0"
    outputFormat="KML"
    resultType="hits"
    xmlns:wfs="http://www.opengis.net/wfs/2.0"
    xmlns:gml="http://www.opengis.net/gml/3.2"
    xmlns:fes="http://www.opengis.net/fes/2.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd
                        http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd" >
    <wfs:Query typeNames="bvv:gmd_ex" xmlns:bvv="http://www.geodaten.bayern.de" srsName="urn:ogc:def:crs:EPSG::4326">
        <fes:Filter>
            <fes:BBOX>
                <fes:ValueReference>bvv:geometry</fes:ValueReference>
                <gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326">
                    <gml:lowerCorner>48.57207 10.36604</gml:lowerCorner>
                    <gml:upperCorner>49.52498 12.05576</gml:upperCorner>
                </gml:Envelope>
            </fes:BBOX>
        </fes:Filter>
    </wfs:Query>
</wfs:GetFeature>
JuergenWeichand commented 7 years ago

@awoestmann Wird das für den Filter zu verwendete Attribut über ValueReference spezifiziert, so muss es im Datenmodell des WFS vorhanden sein. Im Fall von http://geoserv.weichand.de:8080/geoserver/wfs ist die korrekte Attributbezeichnung bvv:geom und nicht bvv:geometry. Hierzu ist stets die Verarbeitung der DescribeFeatureType-Response notwendig. Wird das optionale ValueReference-Element nicht angegeben, so wirkt der BBOX-Filter auf alle vorhandenen Geometrie-Attribute. Ich schlage daher vor auf ValueReference bei den BBOX-Filtern zu verzichten.

Für die Validierung des Beispiels benötigen Sie zusätzlich die gml.xsd. Alternativ ist eine Validierung über die im Header angegebenen Schemas möglich.

    xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd
                        http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd" >
dmth commented 7 years ago

Bei meinem heutigen Test wurden die folgenden Requests an den Server (http://geoserv.weichand.de:8080/geoserver/wfs) geposted:

Request über Kartenauswahl, liefert Daten:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs/2.0" 
    xmlns:fes="http://www.opengis.net/fes/2.0" 
    xmlns:gml="http://www.opengis.net/gml/3.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    service="WFS" version="2.0.0" outputFormat="GML2" 
    xsi:schemaLocation="http://www.opengis.net/wfs/2.0 
    http://schemas.opengis.net/wfs/2.0/wfs.xsd 
    http://www.opengis.net/gml/3.2 
    http://schemas.opengis.net/gml/3.2.1/gml.xsd">
   <wfs:Query xmlns:bvv="http://www.geodaten.bayern.de" typeNames="bvv:gmd_ex" srsName="urn:ogc:def:crs:EPSG::4326">
      <fes:Filter>
         <fes:BBOX>
            <gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326">
               <gml:lowerCorner>48.04938 8.9121</gml:lowerCorner>
               <gml:upperCorner>50.38455 12.84167</gml:upperCorner>
            </gml:Envelope>
         </fes:BBOX>
      </fes:Filter>
   </wfs:Query>
</wfs:GetFeature>

Stored-Query mit BBox: liefert keine Daten

<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs/2.0" 
    xmlns:fes="http://www.opengis.net/fes/2.0" 
    xmlns:gml="http://www.opengis.net/gml/3.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    service="WFS" version="2.0.0" outputFormat="GML2" 
    resultType="hits" 
    xsi:schemaLocation="http://www.opengis.net/wfs/2.0 
    http://schemas.opengis.net/wfs/2.0/wfs.xsd 
    http://www.opengis.net/gml/3.2 
    http://schemas.opengis.net/gml/3.2.1/gml.xsd">
   <wfs:StoredQuery id="bboxQuery">
      <wfs:Parameter name="x1">48.04938</wfs:Parameter>
      <wfs:Parameter name="y1">8.9121</wfs:Parameter>
      <wfs:Parameter name="y2">12.84167</wfs:Parameter>
      <wfs:Parameter name="x2">50.38455</wfs:Parameter>
   </wfs:StoredQuery>
</wfs:GetFeature>

(Abfrage liefert zwar GML, dieses enhält jedoch keine Features, auch mit getauschten Koordinaten nicht)

Stored Query München: Liefert Daten

<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs/2.0" 
    xmlns:fes="http://www.opengis.net/fes/2.0" 
    xmlns:gml="http://www.opengis.net/gml/3.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    service="WFS" version="2.0.0" 
    outputFormat="GML2" 
    resultType="hits" 
    xsi:schemaLocation="http://www.opengis.net/wfs/2.0 
    http://schemas.opengis.net/wfs/2.0/wfs.xsd 
    http://www.opengis.net/gml/3.2 
    http://schemas.opengis.net/gml/3.2.1/gml.xsd">
   <wfs:StoredQuery id="GemeindeMuenchenEpsg31468" />
</wfs:GetFeature>

Für die "Inspire Pre-Defined WFS BeispielQuery" werden auch daten zurückgeliefert. Ich gehe daher davon aus, dass wir die Parameter korrekt zusammen setzen.

@JuergenWeichand wenn das so weit passt, machen wir gerne die Tage einen PR mit der Korrektur fertig.

Gruß Dustin

dmth commented 7 years ago

Mit https://github.com/gdi-by/downloadclient/pull/87 die genannte Verbesserung als PR bereit gestellt.

gdi-by commented 7 years ago

PR #87 hatte einen bug, nun Verifizierung mit PR #88

gdi-by commented 7 years ago

Verifiziert mit PR #88. Gefixed. Issue wird geschlossen