From 7bfdbe4acb8313bbe869178f7f4f0b88c32f7374 Mon Sep 17 00:00:00 2001
From: GitHub Actions
Date: Tue, 7 May 2024 06:50:46 +0000
Subject: [PATCH] cli-40502-453
---
404.html | 2 +-
CODE_OF_CONDUCT.html | 2 +-
CONTRIBUTING.html | 2 +-
LICENSE.html | 2 +-
articles/Getting_started.html | 2 +-
articles/index.html | 2 +-
articles/web_only/api_carto.html | 6 ++---
articles/web_only/happign_for_foresters.html | 10 ++++----
authors.html | 6 ++---
index.html | 4 +--
news/index.html | 27 +++++++++++++++++---
pkgdown.yml | 2 +-
reference/are_queryable.html | 2 +-
reference/cog_2023.html | 4 +--
reference/get_apicarto_cadastre.html | 2 +-
reference/get_apicarto_codes_postaux.html | 2 +-
reference/get_apicarto_gpu.html | 2 +-
reference/get_apicarto_rpg.html | 2 +-
reference/get_apicarto_viticole.html | 2 +-
reference/get_apikeys.html | 2 +-
reference/get_last_news.html | 2 +-
reference/get_layers_metadata.html | 2 +-
reference/get_location_info.html | 2 +-
reference/get_raw_lidar.html | 2 +-
reference/get_wfs.html | 6 ++---
reference/get_wfs_attributes.html | 2 +-
reference/get_wms_raster.html | 2 +-
reference/get_wmts.html | 4 +--
reference/index.html | 2 +-
search.json | 2 +-
30 files changed, 64 insertions(+), 47 deletions(-)
diff --git a/404.html b/404.html
index 49847bc1..d95aa574 100644
--- a/404.html
+++ b/404.html
@@ -31,7 +31,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/CODE_OF_CONDUCT.html b/CODE_OF_CONDUCT.html
index 694d2987..909fbcda 100644
--- a/CODE_OF_CONDUCT.html
+++ b/CODE_OF_CONDUCT.html
@@ -10,7 +10,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html
index ba00f76a..8b5faedb 100644
--- a/CONTRIBUTING.html
+++ b/CONTRIBUTING.html
@@ -10,7 +10,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/LICENSE.html b/LICENSE.html
index 20d9da2b..41f0c582 100644
--- a/LICENSE.html
+++ b/LICENSE.html
@@ -10,7 +10,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/articles/Getting_started.html b/articles/Getting_started.html
index ffee58b4..5ab6c5e3 100644
--- a/articles/Getting_started.html
+++ b/articles/Getting_started.html
@@ -33,7 +33,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/articles/index.html b/articles/index.html
index 4c288ae2..09d09596 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -10,7 +10,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/articles/web_only/api_carto.html b/articles/web_only/api_carto.html
index 086cf4bf..d64a0e35 100644
--- a/articles/web_only/api_carto.html
+++ b/articles/web_only/api_carto.html
@@ -33,7 +33,7 @@
happign
- 0.2.2
+ 0.3.0
@@ -335,7 +335,7 @@
+here .
ECQL query can be provided to ecql_filter
. This allows direct query of the IGN's WFS
geoservers. If x
is set, then the ecql_filter
comes in addition to the
spatial_filter
. More info for writing ECQL
diff --git a/reference/get_wfs_attributes.html b/reference/get_wfs_attributes.html
index 32bfb2f0..18c1140a 100644
--- a/reference/get_wfs_attributes.html
+++ b/reference/get_wfs_attributes.html
@@ -10,7 +10,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/reference/get_wms_raster.html b/reference/get_wms_raster.html
index 20b7d540..e2950afc 100644
--- a/reference/get_wms_raster.html
+++ b/reference/get_wms_raster.html
@@ -12,7 +12,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/reference/get_wmts.html b/reference/get_wmts.html
index a4c4f5c4..3b0f5934 100644
--- a/reference/get_wmts.html
+++ b/reference/get_wmts.html
@@ -14,7 +14,7 @@
happign
- 0.2.2
+ 0.3.0
@@ -92,7 +92,7 @@ ArgumentsWMTS IGN Documentation
+WMTS IGN Documentation
crs
diff --git a/reference/index.html b/reference/index.html
index 79bf0f29..3efee723 100644
--- a/reference/index.html
+++ b/reference/index.html
@@ -10,7 +10,7 @@
happign
- 0.2.2
+ 0.3.0
diff --git a/search.json b/search.json
index 799f9ffb..3f5ca38b 100644
--- a/search.json
+++ b/search.json
@@ -1 +1 @@
-[{"path":[]},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement carteronpaul@gmail.com. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.0, available https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. Community Impact Guidelines inspired Mozilla’s code conduct enforcement ladder. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to happign","title":"Contributing to happign","text":"outlines propose change happign. detailed info contributing , tidyverse packages, please see development contributing guide.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"fixing-typos","dir":"","previous_headings":"","what":"Fixing typos","title":"Contributing to happign","text":"can fix typos, spelling mistakes, grammatical errors documentation directly using GitHub web interface, long changes made source file. generally means ’ll need edit roxygen2 comments .R, .Rd file. can find .R file generates .Rd reading comment first line.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"bigger-changes","dir":"","previous_headings":"","what":"Bigger changes","title":"Contributing to happign","text":"want make bigger change, ’s good idea first file issue make sure someone team agrees ’s needed. ’ve found bug, please file issue illustrates bug minimal reprex (also help write unit test, needed).","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"pull-request-process","dir":"","previous_headings":"Bigger changes","what":"Pull request process","title":"Contributing to happign","text":"Fork package clone onto computer. haven’t done , recommend using usethis::create_from_github(\"paul-carteron/happign\", fork = TRUE). Install development dependencies devtools::install_dev_deps(), make sure package passes R CMD check running devtools::check(). R CMD check doesn’t pass cleanly, ’s good idea ask help continuing. Create Git branch pull request (PR). recommend using usethis::pr_init(\"brief-description--change\"). Make changes, commit git, create PR running usethis::pr_push(), following prompts browser. title PR briefly describe change. body PR contain Fixes #issue-number. user-facing changes, add bullet top NEWS.md (.e. just first header). Follow style described https://style.tidyverse.org/news.html.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"code-style","dir":"","previous_headings":"Bigger changes","what":"Code style","title":"Contributing to happign","text":"New code follow tidyverse style guide. can use styler package apply styles, please don’t restyle code nothing PR. use roxygen2, Markdown syntax, documentation. use testthat unit tests. Contributions test cases included easier accept.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contributing to happign","text":"Please note happign project released Contributor Code Conduct. contributing project agree abide terms.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"GNU General Public License","title":"GNU General Public License","text":"Version 3, 29 June 2007Copyright © 2007 Free Software Foundation, Inc. Everyone permitted copy distribute verbatim copies license document, changing allowed.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"preamble","dir":"","previous_headings":"","what":"Preamble","title":"GNU General Public License","text":"GNU General Public License free, copyleft license software kinds works. licenses software practical works designed take away freedom share change works. contrast, GNU General Public License intended guarantee freedom share change versions program–make sure remains free software users. , Free Software Foundation, use GNU General Public License software; applies also work released way authors. can apply programs, . speak free software, referring freedom, price. General Public Licenses designed make sure freedom distribute copies free software (charge wish), receive source code can get want , can change software use pieces new free programs, know can things. protect rights, need prevent others denying rights asking surrender rights. Therefore, certain responsibilities distribute copies software, modify : responsibilities respect freedom others. example, distribute copies program, whether gratis fee, must pass recipients freedoms received. must make sure , , receive can get source code. must show terms know rights. Developers use GNU GPL protect rights two steps: (1) assert copyright software, (2) offer License giving legal permission copy, distribute /modify . developers’ authors’ protection, GPL clearly explains warranty free software. users’ authors’ sake, GPL requires modified versions marked changed, problems attributed erroneously authors previous versions. devices designed deny users access install run modified versions software inside , although manufacturer can . fundamentally incompatible aim protecting users’ freedom change software. systematic pattern abuse occurs area products individuals use, precisely unacceptable. Therefore, designed version GPL prohibit practice products. problems arise substantially domains, stand ready extend provision domains future versions GPL, needed protect freedom users. Finally, every program threatened constantly software patents. States allow patents restrict development use software general-purpose computers, , wish avoid special danger patents applied free program make effectively proprietary. prevent , GPL assures patents used render program non-free. precise terms conditions copying, distribution modification follow.","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_0-definitions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"0. Definitions","title":"GNU General Public License","text":"“License” refers version 3 GNU General Public License. “Copyright” also means copyright-like laws apply kinds works, semiconductor masks. “Program” refers copyrightable work licensed License. licensee addressed “”. “Licensees” “recipients” may individuals organizations. “modify” work means copy adapt part work fashion requiring copyright permission, making exact copy. resulting work called “modified version” earlier work work “based ” earlier work. “covered work” means either unmodified Program work based Program. “propagate” work means anything , without permission, make directly secondarily liable infringement applicable copyright law, except executing computer modifying private copy. Propagation includes copying, distribution (without modification), making available public, countries activities well. “convey” work means kind propagation enables parties make receive copies. Mere interaction user computer network, transfer copy, conveying. interactive user interface displays “Appropriate Legal Notices” extent includes convenient prominently visible feature (1) displays appropriate copyright notice, (2) tells user warranty work (except extent warranties provided), licensees may convey work License, view copy License. interface presents list user commands options, menu, prominent item list meets criterion.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_1-source-code","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"1. Source Code","title":"GNU General Public License","text":"“source code” work means preferred form work making modifications . “Object code” means non-source form work. “Standard Interface” means interface either official standard defined recognized standards body, , case interfaces specified particular programming language, one widely used among developers working language. “System Libraries” executable work include anything, work whole, () included normal form packaging Major Component, part Major Component, (b) serves enable use work Major Component, implement Standard Interface implementation available public source code form. “Major Component”, context, means major essential component (kernel, window system, ) specific operating system () executable work runs, compiler used produce work, object code interpreter used run . “Corresponding Source” work object code form means source code needed generate, install, (executable work) run object code modify work, including scripts control activities. However, include work’s System Libraries, general-purpose tools generally available free programs used unmodified performing activities part work. example, Corresponding Source includes interface definition files associated source files work, source code shared libraries dynamically linked subprograms work specifically designed require, intimate data communication control flow subprograms parts work. Corresponding Source need include anything users can regenerate automatically parts Corresponding Source. Corresponding Source work source code form work.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_2-basic-permissions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"2. Basic Permissions","title":"GNU General Public License","text":"rights granted License granted term copyright Program, irrevocable provided stated conditions met. License explicitly affirms unlimited permission run unmodified Program. output running covered work covered License output, given content, constitutes covered work. License acknowledges rights fair use equivalent, provided copyright law. may make, run propagate covered works convey, without conditions long license otherwise remains force. may convey covered works others sole purpose make modifications exclusively , provide facilities running works, provided comply terms License conveying material control copyright. thus making running covered works must exclusively behalf, direction control, terms prohibit making copies copyrighted material outside relationship . Conveying circumstances permitted solely conditions stated . Sublicensing allowed; section 10 makes unnecessary.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_3-protecting-users-legal-rights-from-anti-circumvention-law","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"3. Protecting Users’ Legal Rights From Anti-Circumvention Law","title":"GNU General Public License","text":"covered work shall deemed part effective technological measure applicable law fulfilling obligations article 11 WIPO copyright treaty adopted 20 December 1996, similar laws prohibiting restricting circumvention measures. convey covered work, waive legal power forbid circumvention technological measures extent circumvention effected exercising rights License respect covered work, disclaim intention limit operation modification work means enforcing, work’s users, third parties’ legal rights forbid circumvention technological measures.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_4-conveying-verbatim-copies","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"4. Conveying Verbatim Copies","title":"GNU General Public License","text":"may convey verbatim copies Program’s source code receive , medium, provided conspicuously appropriately publish copy appropriate copyright notice; keep intact notices stating License non-permissive terms added accord section 7 apply code; keep intact notices absence warranty; give recipients copy License along Program. may charge price price copy convey, may offer support warranty protection fee.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_5-conveying-modified-source-versions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"5. Conveying Modified Source Versions","title":"GNU General Public License","text":"may convey work based Program, modifications produce Program, form source code terms section 4, provided also meet conditions: ) work must carry prominent notices stating modified , giving relevant date. b) work must carry prominent notices stating released License conditions added section 7. requirement modifies requirement section 4 “keep intact notices”. c) must license entire work, whole, License anyone comes possession copy. License therefore apply, along applicable section 7 additional terms, whole work, parts, regardless packaged. License gives permission license work way, invalidate permission separately received . d) work interactive user interfaces, must display Appropriate Legal Notices; however, Program interactive interfaces display Appropriate Legal Notices, work need make . compilation covered work separate independent works, nature extensions covered work, combined form larger program, volume storage distribution medium, called “aggregate” compilation resulting copyright used limit access legal rights compilation’s users beyond individual works permit. Inclusion covered work aggregate cause License apply parts aggregate.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_6-conveying-non-source-forms","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"6. Conveying Non-Source Forms","title":"GNU General Public License","text":"may convey covered work object code form terms sections 4 5, provided also convey machine-readable Corresponding Source terms License, one ways: ) Convey object code , embodied , physical product (including physical distribution medium), accompanied Corresponding Source fixed durable physical medium customarily used software interchange. b) Convey object code , embodied , physical product (including physical distribution medium), accompanied written offer, valid least three years valid long offer spare parts customer support product model, give anyone possesses object code either (1) copy Corresponding Source software product covered License, durable physical medium customarily used software interchange, price reasonable cost physically performing conveying source, (2) access copy Corresponding Source network server charge. c) Convey individual copies object code copy written offer provide Corresponding Source. alternative allowed occasionally noncommercially, received object code offer, accord subsection 6b. d) Convey object code offering access designated place (gratis charge), offer equivalent access Corresponding Source way place charge. need require recipients copy Corresponding Source along object code. place copy object code network server, Corresponding Source may different server (operated third party) supports equivalent copying facilities, provided maintain clear directions next object code saying find Corresponding Source. Regardless server hosts Corresponding Source, remain obligated ensure available long needed satisfy requirements. e) Convey object code using peer--peer transmission, provided inform peers object code Corresponding Source work offered general public charge subsection 6d. separable portion object code, whose source code excluded Corresponding Source System Library, need included conveying object code work. “User Product” either (1) “consumer product”, means tangible personal property normally used personal, family, household purposes, (2) anything designed sold incorporation dwelling. determining whether product consumer product, doubtful cases shall resolved favor coverage. particular product received particular user, “normally used” refers typical common use class product, regardless status particular user way particular user actually uses, expects expected use, product. product consumer product regardless whether product substantial commercial, industrial non-consumer uses, unless uses represent significant mode use product. “Installation Information” User Product means methods, procedures, authorization keys, information required install execute modified versions covered work User Product modified version Corresponding Source. information must suffice ensure continued functioning modified object code case prevented interfered solely modification made. convey object code work section , , specifically use , User Product, conveying occurs part transaction right possession use User Product transferred recipient perpetuity fixed term (regardless transaction characterized), Corresponding Source conveyed section must accompanied Installation Information. requirement apply neither third party retains ability install modified object code User Product (example, work installed ROM). requirement provide Installation Information include requirement continue provide support service, warranty, updates work modified installed recipient, User Product modified installed. Access network may denied modification materially adversely affects operation network violates rules protocols communication across network. Corresponding Source conveyed, Installation Information provided, accord section must format publicly documented (implementation available public source code form), must require special password key unpacking, reading copying.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_7-additional-terms","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"7. Additional Terms","title":"GNU General Public License","text":"“Additional permissions” terms supplement terms License making exceptions one conditions. Additional permissions applicable entire Program shall treated though included License, extent valid applicable law. additional permissions apply part Program, part may used separately permissions, entire Program remains governed License without regard additional permissions. convey copy covered work, may option remove additional permissions copy, part . (Additional permissions may written require removal certain cases modify work.) may place additional permissions material, added covered work, can give appropriate copyright permission. Notwithstanding provision License, material add covered work, may (authorized copyright holders material) supplement terms License terms: ) Disclaiming warranty limiting liability differently terms sections 15 16 License; b) Requiring preservation specified reasonable legal notices author attributions material Appropriate Legal Notices displayed works containing ; c) Prohibiting misrepresentation origin material, requiring modified versions material marked reasonable ways different original version; d) Limiting use publicity purposes names licensors authors material; e) Declining grant rights trademark law use trade names, trademarks, service marks; f) Requiring indemnification licensors authors material anyone conveys material (modified versions ) contractual assumptions liability recipient, liability contractual assumptions directly impose licensors authors. non-permissive additional terms considered “restrictions” within meaning section 10. Program received , part , contains notice stating governed License along term restriction, may remove term. license document contains restriction permits relicensing conveying License, may add covered work material governed terms license document, provided restriction survive relicensing conveying. add terms covered work accord section, must place, relevant source files, statement additional terms apply files, notice indicating find applicable terms. Additional terms, permissive non-permissive, may stated form separately written license, stated exceptions; requirements apply either way.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_8-termination","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"8. Termination","title":"GNU General Public License","text":"may propagate modify covered work except expressly provided License. attempt otherwise propagate modify void, automatically terminate rights License (including patent licenses granted third paragraph section 11). However, cease violation License, license particular copyright holder reinstated () provisionally, unless copyright holder explicitly finally terminates license, (b) permanently, copyright holder fails notify violation reasonable means prior 60 days cessation. Moreover, license particular copyright holder reinstated permanently copyright holder notifies violation reasonable means, first time received notice violation License (work) copyright holder, cure violation prior 30 days receipt notice. Termination rights section terminate licenses parties received copies rights License. rights terminated permanently reinstated, qualify receive new licenses material section 10.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_9-acceptance-not-required-for-having-copies","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"9. Acceptance Not Required for Having Copies","title":"GNU General Public License","text":"required accept License order receive run copy Program. Ancillary propagation covered work occurring solely consequence using peer--peer transmission receive copy likewise require acceptance. However, nothing License grants permission propagate modify covered work. actions infringe copyright accept License. Therefore, modifying propagating covered work, indicate acceptance License .","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_10-automatic-licensing-of-downstream-recipients","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"10. Automatic Licensing of Downstream Recipients","title":"GNU General Public License","text":"time convey covered work, recipient automatically receives license original licensors, run, modify propagate work, subject License. responsible enforcing compliance third parties License. “entity transaction” transaction transferring control organization, substantially assets one, subdividing organization, merging organizations. propagation covered work results entity transaction, party transaction receives copy work also receives whatever licenses work party’s predecessor interest give previous paragraph, plus right possession Corresponding Source work predecessor interest, predecessor can get reasonable efforts. may impose restrictions exercise rights granted affirmed License. example, may impose license fee, royalty, charge exercise rights granted License, may initiate litigation (including cross-claim counterclaim lawsuit) alleging patent claim infringed making, using, selling, offering sale, importing Program portion .","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_11-patents","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"11. Patents","title":"GNU General Public License","text":"“contributor” copyright holder authorizes use License Program work Program based. work thus licensed called contributor’s “contributor version”. contributor’s “essential patent claims” patent claims owned controlled contributor, whether already acquired hereafter acquired, infringed manner, permitted License, making, using, selling contributor version, include claims infringed consequence modification contributor version. purposes definition, “control” includes right grant patent sublicenses manner consistent requirements License. contributor grants non-exclusive, worldwide, royalty-free patent license contributor’s essential patent claims, make, use, sell, offer sale, import otherwise run, modify propagate contents contributor version. following three paragraphs, “patent license” express agreement commitment, however denominated, enforce patent (express permission practice patent covenant sue patent infringement). “grant” patent license party means make agreement commitment enforce patent party. convey covered work, knowingly relying patent license, Corresponding Source work available anyone copy, free charge terms License, publicly available network server readily accessible means, must either (1) cause Corresponding Source available, (2) arrange deprive benefit patent license particular work, (3) arrange, manner consistent requirements License, extend patent license downstream recipients. “Knowingly relying” means actual knowledge , patent license, conveying covered work country, recipient’s use covered work country, infringe one identifiable patents country reason believe valid. , pursuant connection single transaction arrangement, convey, propagate procuring conveyance , covered work, grant patent license parties receiving covered work authorizing use, propagate, modify convey specific copy covered work, patent license grant automatically extended recipients covered work works based . patent license “discriminatory” include within scope coverage, prohibits exercise , conditioned non-exercise one rights specifically granted License. may convey covered work party arrangement third party business distributing software, make payment third party based extent activity conveying work, third party grants, parties receive covered work , discriminatory patent license () connection copies covered work conveyed (copies made copies), (b) primarily connection specific products compilations contain covered work, unless entered arrangement, patent license granted, prior 28 March 2007. Nothing License shall construed excluding limiting implied license defenses infringement may otherwise available applicable patent law.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_12-no-surrender-of-others-freedom","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"12. No Surrender of Others’ Freedom","title":"GNU General Public License","text":"conditions imposed (whether court order, agreement otherwise) contradict conditions License, excuse conditions License. convey covered work satisfy simultaneously obligations License pertinent obligations, consequence may convey . example, agree terms obligate collect royalty conveying convey Program, way satisfy terms License refrain entirely conveying Program.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_13-use-with-the-gnu-affero-general-public-license","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"13. Use with the GNU Affero General Public License","title":"GNU General Public License","text":"Notwithstanding provision License, permission link combine covered work work licensed version 3 GNU Affero General Public License single combined work, convey resulting work. terms License continue apply part covered work, special requirements GNU Affero General Public License, section 13, concerning interaction network apply combination .","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_14-revised-versions-of-this-license","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"14. Revised Versions of this License","title":"GNU General Public License","text":"Free Software Foundation may publish revised /new versions GNU General Public License time time. new versions similar spirit present version, may differ detail address new problems concerns. version given distinguishing version number. Program specifies certain numbered version GNU General Public License “later version” applies , option following terms conditions either numbered version later version published Free Software Foundation. Program specify version number GNU General Public License, may choose version ever published Free Software Foundation. Program specifies proxy can decide future versions GNU General Public License can used, proxy’s public statement acceptance version permanently authorizes choose version Program. Later license versions may give additional different permissions. However, additional obligations imposed author copyright holder result choosing follow later version.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_15-disclaimer-of-warranty","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"15. Disclaimer of Warranty","title":"GNU General Public License","text":"WARRANTY PROGRAM, EXTENT PERMITTED APPLICABLE LAW. EXCEPT OTHERWISE STATED WRITING COPYRIGHT HOLDERS /PARTIES PROVIDE PROGRAM “” WITHOUT WARRANTY KIND, EITHER EXPRESSED IMPLIED, INCLUDING, LIMITED , IMPLIED WARRANTIES MERCHANTABILITY FITNESS PARTICULAR PURPOSE. ENTIRE RISK QUALITY PERFORMANCE PROGRAM . PROGRAM PROVE DEFECTIVE, ASSUME COST NECESSARY SERVICING, REPAIR CORRECTION.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_16-limitation-of-liability","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"16. Limitation of Liability","title":"GNU General Public License","text":"EVENT UNLESS REQUIRED APPLICABLE LAW AGREED WRITING COPYRIGHT HOLDER, PARTY MODIFIES /CONVEYS PROGRAM PERMITTED , LIABLE DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL CONSEQUENTIAL DAMAGES ARISING USE INABILITY USE PROGRAM (INCLUDING LIMITED LOSS DATA DATA RENDERED INACCURATE LOSSES SUSTAINED THIRD PARTIES FAILURE PROGRAM OPERATE PROGRAMS), EVEN HOLDER PARTY ADVISED POSSIBILITY DAMAGES.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_17-interpretation-of-sections-15-and-16","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"17. Interpretation of Sections 15 and 16","title":"GNU General Public License","text":"disclaimer warranty limitation liability provided given local legal effect according terms, reviewing courts shall apply local law closely approximates absolute waiver civil liability connection Program, unless warranty assumption liability accompanies copy Program return fee. END TERMS CONDITIONS","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"how-to-apply-these-terms-to-your-new-programs","dir":"","previous_headings":"","what":"How to Apply These Terms to Your New Programs","title":"GNU General Public License","text":"develop new program, want greatest possible use public, best way achieve make free software everyone can redistribute change terms. , attach following notices program. safest attach start source file effectively state exclusion warranty; file least “copyright” line pointer full notice found. Also add information contact electronic paper mail. program terminal interaction, make output short notice like starts interactive mode: hypothetical commands show w show c show appropriate parts General Public License. course, program’s commands might different; GUI interface, use “box”. also get employer (work programmer) school, , sign “copyright disclaimer” program, necessary. information , apply follow GNU GPL, see . GNU General Public License permit incorporating program proprietary programs. program subroutine library, may consider useful permit linking proprietary applications library. want , use GNU Lesser General Public License instead License. first, please read .","code":" Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details."},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"before-starting","dir":"Articles","previous_headings":"","what":"Before starting","title":"Getting started with happign","text":"can load happign package, additional packages need (sf manipulate spatial data tmap create maps)","code":"library(happign) library(sf) library(tmap);tmap_mode(\"plot\") #> tmap mode set to plotting"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"wfs-wms-and-wmts-service","dir":"Articles","previous_headings":"","what":"WFS, WMS and WMTS service","title":"Getting started with happign","text":"happign use three web service IGN : WMS raster : data raster format e.g. images (.jpg, .png, .tif, …) WMTS : WMS raster images precalculated WFS : data vector format (.shp, …). detailed information available WMS, WMTS WFS. download data IGN web services least two elements needed : layer name ; input shape read sf package.","code":""},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"layer-name","dir":"Articles","previous_headings":"WFS, WMS and WMTS service","what":"Layer name","title":"Getting started with happign","text":"possible find names available layers IGN website. example, first layer name WFS format “Administratif” category “ADMINEXPRESS-COG-CARTO.LATEST:arrondissement” layer’s name can accessed R get_layers_metadata() function. one connects directly IGN site allows last updated resources. can used WMS WFS : can specify apikey focus specific category. API keys can directly retrieved IGN website expert web services get_apikeys() function.","code":"administratif_wfs <- get_layers_metadata(data_type = \"wfs\") administratif_wms <- get_layers_metadata(data_type = \"wms-r\") administratif_wms <- get_layers_metadata(data_type = \"wmts\") head(administratif_wfs) #> Name #> 1 OCS-GERS_BDD_LAMB93_2016:oscge_gers_32_2016 #> 2 OCS-GERS_BDD_LAMB93_2019:oscge_gers_32_2019 #> 3 ADMINEXPRESS-COG.LATEST:arrondissement #> 4 ADMINEXPRESS-COG.LATEST:arrondissement_municipal #> 5 ADMINEXPRESS-COG.LATEST:canton #> 6 ADMINEXPRESS-COG.LATEST:chflieu_arrondissement_municipal #> Title Abstract #> 1 OCSGE Gers 2016 OCSGE Gers 2016 #> 2 OCSGE Gers 2019 OCSGE Gers 2019 #> 3 ADMINEXPRESS COG 2023 édition 2023 #> 4 ADMINEXPRESS COG 2023 édition 2023 #> 5 ADMINEXPRESS COG 2023 édition 2023 #> 6 ADMINEXPRESS COG 2023 édition 2023 get_apikeys() #> [1] \"administratif\" \"adresse\" \"agriculture\" #> [4] \"altimetrie\" \"cartes\" \"cartovecto\" #> [7] \"clc\" \"economie\" \"enr\" #> [10] \"environnement\" \"geodesie\" \"lambert93\" #> [13] \"ocsge\" \"ortho\" \"orthohisto\" #> [16] \"parcellaire\" \"satellite\" \"sol\" #> [19] \"topographie\" \"transports\" administratif_wmts <- get_layers_metadata(\"wmts\", \"administratif\") head(administratif_wmts) #> Title #> 1 ADMINEXPRESS COG CARTO #> 2 ADMINEXPRESS COG #> 3 Limites administratives mises à jour en continu. #> Abstract #> 1 Limites administratives Express COG code officiel géographique 2023 #> 2 Limites administratives Express COG code officiel géographique. 2023 #> 3 Limites administratives mises à jour en continu ; Edition : 2024-03-25 #> Identifier #> 1 ADMINEXPRESS-COG-CARTO.LATEST #> 2 ADMINEXPRESS-COG.LATEST #> 3 LIMITES_ADMINISTRATIVES_EXPRESS.LATEST"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"downloading-the-data","dir":"Articles","previous_headings":"WFS, WMS and WMTS service","what":"Downloading the data","title":"Getting started with happign","text":"Now know get layer name, takes lines get plethora resources. example look beautiful town Penmarch France. part town stored shape happign.","code":"penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\"))"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"wfs","dir":"Articles","previous_headings":"WFS, WMS and WMTS service > Downloading the data","what":"WFS","title":"Getting started with happign","text":"get_wfs can used download borders : plot chunk unnamed-chunk-5 ’s simple ! Now rely curiosity explore multiple possibilities IGN offers. example, never wondered many hedges biodiversity Penmarch? Spoiler : 436 ! plot chunk unnamed-chunk-6","code":"penmarch_borders <- get_wfs(x = penmarch, layer = \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\") #> Features downloaded : 1 # Checking result tm_shape(penmarch_borders)+ tm_polygons(alpha = 0, lwd = 2)+ tm_shape(penmarch)+ tm_polygons(col = \"red\")+ tm_add_legend(type = \"fill\", border.col = \"black\", border.lwd =2, col = NA, labels = \"border from get_wfs\")+ tm_add_legend(type = \"fill\", col = \"red\", labels = \"penmarch shape from happign package\")+ tm_layout(main.title = \"Penmarch borders from IGN\", main.title.position = \"center\", legend.position = c(0.7, -0.1), outer.margins = c(0.1, 0,0,0), frame = FALSE) #> Legend labels were too wide. The labels have been resized to 0.61. Increase legend.width (argument of tm_layout) to make the legend wider and therefore the labels larger. hedges <- get_wfs(x = penmarch_borders, layer = \"BDTOPO_V3:haie\", spatial_filter = \"intersects\") #> Features downloaded : 436 # Checking result tm_shape(penmarch_borders) + # Borders of penmarch tm_borders(lwd = 2) + tm_shape(hedges) + # Point use to retrieve data tm_lines(col = \"red\", size = 0.3) + tm_add_legend(type = \"line\", label = \"Hedges\", col = \"red\") + tm_layout(main.title = \"Hedges recorded by the IGN in Penmarch\", main.title.position = \"center\", legend.position = c(\"right\", \"bottom\"), frame = FALSE)"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"wms-raster","dir":"Articles","previous_headings":"WFS, WMS and WMTS service > Downloading the data","what":"WMS raster","title":"Getting started with happign","text":"raster, process , function get_wms_raster(), need specify resolution (note must coordinate system crs parameter). ’s plenty elevation resources inside “altimetrie” category. basic one Digital Elevation Model (DEM MNT French). Borders Penmarch used download DEM. Note DEM, don’t want RGB image values pixels. rgb=FALSE used . plot chunk unnamed-chunk-7 Rq : Raster get_wms_raster() SpatRaster object terra package. learn conversion raster type R go check .","code":"layers_metadata <- get_layers_metadata(\"wms-r\", \"altimetrie\") dem_layer <- layers_metadata[2, 1] #LEVATION.ELEVATIONGRIDCOVERAGE mnt <- get_wms_raster(x = penmarch_borders, layer = dem_layer, res = 25, crs = 2154, rgb = FALSE) #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : C:\\Users\\PaulCarteron\\AppData\\Local\\Temp\\Rtmp63I4Tv\\filea98465250a.tif mnt[mnt < 0] <- NA # remove negative values in case of singularity tm_shape(mnt) + tm_raster(title = \"Elevation [m]\") + tm_shape(penmarch_borders)+ tm_borders(lwd = 2)+ tm_layout(main.title = \"DEM of Penmarch\", main.title.position = \"center\", legend.position = c(\"right\", \"bottom\"), legend.bg.color = \"white\", legend.bg.alpha = 0.7)"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"wmts","dir":"Articles","previous_headings":"WFS, WMS and WMTS service > Downloading the data","what":"WMTS","title":"Getting started with happign","text":"WMTS, resolution needed beacause images precalculated zoom level needed. higher zoom level , precis image . need visualisation, recommend use WMTS instead WMS. plot chunk unnamed-chunk-8","code":"layers_metadata <- get_layers_metadata(\"wmts\", \"ortho\") ortho_layer <- layers_metadata[1, 3] #HR.ORTHOIMAGERY.ORTHOPHOTOS hr_ortho <- get_wmts(x = penmarch_borders, layer = ortho_layer, zoom = 14) #> 0...10...20...30...40...50...60...70...80...90...100 - done. tm_shape(hr_ortho) + tm_rgb(title = \"Orthophoto Hight Resolution\") + tm_shape(penmarch_borders)+ tm_borders(lwd = 2)+ tm_layout(main.title = \"Orthophoto Hight Resolution\", main.title.position = \"center\", legend.position = c(\"right\", \"bottom\"), legend.bg.color = \"white\", legend.bg.alpha = 0.7)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"presentation","dir":"Articles > Web_only","previous_headings":"","what":"Presentation","title":"API Carto","text":"APIs carto developed automatically retrieve certain spatial information required administrative forms. main advantage APIs can queried without spatial data. get_wfs, use ECQL query ecql_filter argument can tricky. happign implements APIs carto get_apicarto_* functions.","code":""},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"api-carto-cadastre","dir":"Articles > Web_only","previous_headings":"Presentation","what":"API carto cadastre","title":"API Carto","text":"Documentation : https://apicarto.ign.fr/api/doc/cadastre API carto cadastre provides following informations : boundaries town (type = \"commune\") parcel sections divisions (type = \"section\" type = \"division\") cadastral parcels (type = \"cadastre\") information non-vectorized parcels (type = \"localisant\") least three parameters must set : x : indication location. shape, insee code departement code type : service want use? (see ) source : data source \"PCI\" “Parcellaire Express” \"BDP\" “BD Parcellaire”. BD Parcellaire product historical product longer updated. therefore strongly recommended use Parcellaire Express product updated every six months. parameters used refine query.","code":""},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"usage","dir":"Articles > Web_only","previous_headings":"Presentation > API carto cadastre","what":"Usage","title":"API Carto","text":"’ll start simple example : retrieve borders multiple town. get_apicaro_cadastre vectorized function, ’s possible set multiple insee code. know insee codes, can consult existing codes internal dataframe cog_2023. Another common case consists recovering geometry parcels “cadastral matrix extract”. latter lists owner built unbuilt properties owned commune. private information obtain one necessary ask extract top Center Land taxes. example false simplified cadastral matrix used.","code":"# all town starting with \"Plou\" plou_insee_code <- cog_2023[startsWith(cog_2023$LIBELLE, \"Plou\"), \"COM\"] plou_borders <- get_apicarto_cadastre(plou_insee_code, type = \"commune\") # result tm_shape(plou_borders)+ tm_borders(col = \"black\") cad_mat <- data.frame(CODE_DEP = rep(\"29\", 10), CODE_COM = rep(\"158\", 10), SECTION = rep(c(\"AX\", \"AV\"), each = 5), N_PARC = c(\"0001\",\"0002\",\"0003\",\"0004\",\"0005\", \"0116\",\"0117\",\"0118\",\"0119\",\"0120\")) parcels <- get_apicarto_cadastre(paste0(cad_mat$CODE_DEP, cad_mat$CODE_COM), section = cad_mat$SECTION, numero = cad_mat$N_PARC) tm_shape(parcels)+ tm_borders(col = \"black\")"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"api-carto-rpg","dir":"Articles > Web_only","previous_headings":"Presentation","what":"API carto RPG","title":"API Carto","text":"Documentation : https://apicarto.ign.fr/api/doc/rpg graphic parcel register (RPG) geographic information system (GIS) allowing identification agricultural parcels. useful authorities working agricultural development land management (community municipalities, watershed syndicate, etc.) need information characterization evolution agricultural area.","code":""},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"usage-1","dir":"Articles > Web_only","previous_headings":"Presentation > API carto RPG","what":"Usage","title":"API Carto","text":"Let’s start finding RPG Penmarc’h town years 2015. One limitations API carto RPG complex geometries, precise contours commune, supported. get around problem, get_apicarto_rpg allows simplify shape dTolerance parameter. method illustrated . function vectorized, mean query several years time possible. However, since 2014 format RPG changed. function therefore return list parcels 2014. example showing evolution RPG 2013 2016. also possible query culture code. , changes 2014; user documentation explains: “RPG version 1 (2014) value entered corresponds number contained CODE_CULTU attribute ILOTS_ANONYMS class value ranging 01 28 (0 mandatory values less 10). list crop codes can consulted content description RPG version 1.0. RPG version 2 value entered corresponds trigram contained attribute CODE_CULTU class PARCELLES_GRAPHIQUES respecting case (upper case). list crop codes can found content description GPR version 2.0.” example, let’s find potatoes, carrots leeks.","code":"penmarch <- get_apicarto_cadastre(\"29158\", type = \"commune\") #> Features downloaded : 1 rpg <- get_apicarto_rpg(penmarch, annee = 2015, dTolerance = 10) #> Features downloaded : 106 # plot result tm_shape(penmarch)+ tm_borders()+ tm_shape(rpg)+ tm_polygons(\"code_cultu\") all_years_rpg <- get_apicarto_rpg(penmarch, annee = 2013:2016, dTolerance = 10) #> Warning: Data before and after 2014 are different, a list is returned. # plot evolution of rpg since 2010 tm_shape(penmarch)+ tm_borders()+ tm_shape(all_years_rpg[[\"2013\"]])+ tm_polygons(group = \"2013\")+ tm_shape(all_years_rpg[[\"2014\"]])+ tm_polygons(group = \"2014\")+ tm_shape(all_years_rpg[[\"2015\"]])+ tm_polygons(group = \"2015\")+ tm_shape(all_years_rpg[[\"2016\"]])+ tm_polygons(group = \"2016\") rpg <- get_apicarto_rpg(penmarch, annee = 2020, code_cultu = c(\"PTC\", \"CAR\", \"POR\"), dTolerance = 10) tm_shape(rpg)+ tm_polygons(\"code_cultu\", palette = c(\"orange\", \"springgreen\", \"gold\")) #> Warning: The shape rpg is invalid. See sf::st_is_valid"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"api-carto-urbanism","dir":"Articles > Web_only","previous_headings":"Presentation","what":"API carto urbanism","title":"API Carto","text":"Documentation : https://apicarto.ign.fr/api/doc/gpu API carto GPU allows obtain urban planning information intersecting geometry. Beware, municipalities geoportal urbanism!","code":""},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"rnu","dir":"Articles > Web_only","previous_headings":"Presentation > API carto urbanism","what":"RNU","title":"API Carto","text":"First , can check commune National Urbanism Regulation insee code. RNU fully apply communes neither local map local urban plan (PLU, PLUi) document replacement PLU.","code":"is_rnu <- get_apicarto_gpu(\"29158\", ressource = \"municipality\") #> Features downloaded : 1 is_rnu$is_rnu #> [1] FALSE # Penmarch is under the RNU and therefore has a document of urbanism is_rnu <- get_apicarto_gpu(\"23004\", ressource = \"municipality\") #> Features downloaded : 1 is_rnu$is_rnu #> [1] TRUE # Anzeme is under the RNU and therefore has a town planning document"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"plu-plui-pos-cc-psmv","dir":"Articles > Web_only","previous_headings":"Presentation > API carto urbanism","what":"PLU, PLUi, POS, CC, PSMV","title":"API Carto","text":"Urban planning documents can take several forms: * PLU : Local Urbanism Plan * PLUi : Intercommunal Local Urbanism Plan * POS : Land use plan * PSMV : Plan Safeguarding Development * CC : Communal map first step find urban planning document available case, find document’s partition .e. ID : Now partition recovered, possible obtain several resources specific document. different resources available specified documentation function ?get_apicarto_gpu() get_apicarto_gpu vectorized, many resources can returned time. allows identify prescriptions example :","code":"# find out if documents are available penmarch <- get_apicarto_cadastre(\"29158\", \"commune\") doc <- get_apicarto_gpu(penmarch, \"document\", dTolerance = 10) # complex geometry handle with dTolerance # Because NULL is returned, it means that penmarch dont have available urban planning document lanildut <- get_apicarto_cadastre(\"29112\", \"commune\") doc <- get_apicarto_gpu(lanildut, \"document\", dTolerance = 10) # complex geometry handle with dTolerance # Six documents are available inside the geometry. # In reality, only one document exists for the commune of lanildut but because borders are not coherent with urban planning document, several communes are returned. partition <- doc |> filter(grid_title == \"LANILDUT\") |> pull(partition) zone_urba <- get_apicarto_gpu(partition, ressource = \"zone-urba\") # click on polygon for legend tm_shape(zone_urba)+ tm_polygons(\"libelong\", legend.show = FALSE) ressources <- c(\"prescription-lin\", \"prescription-pct\") prescriptions <- get_apicarto_gpu(partition, ressource = ressources, dTolerance = 10) #> Warning: Resources have different attributes and cannot be joined. List is #> returned. tm_shape(prescriptions[[1]])+ tm_lines(\"libelle\", legend.col.show = FALSE, lwd = 2)+ tm_shape(prescriptions[[2]])+ tm_dots(\"libelle\", legend.show = FALSE, size = 0.1)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"api-carto-appellations-viticoles","dir":"Articles > Web_only","previous_headings":"Presentation","what":"API carto “Appellations viticoles”","title":"API Carto","text":"Documentation : https://apicarto.ign.fr/api/doc/aoc api returns shape : * “Appellation d’origine contrôlée” (AOC) * Protected geographical indication areas (IGP) * Wine growing areas without geographical indication (VSIG) function quite simple use, shape needed. Let’s find many wine appellations Finistère, France (spoiler, VSIG ie wines without geographical indication, prefer microbreweries).","code":"viticole <- get_apicarto_viticole(penmarch, dTolerance = 10) # plot result tm_shape(viticole)+ tm_borders() finistere <- get_wfs(penmarch, \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:departement\") # finistere borders are quite complex, and dTolerance cant be used. In this case convex hull of shape # can be used with intersection of the results convex_finistere <- st_convex_hull(finistere) viticole <- get_apicarto_viticole(convex_finistere) |> st_intersection(finistere) #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries # plot result tm_shape(viticole)+ tm_polygons(\"appellation\")+ tm_shape(finistere)+ tm_borders()"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"first-choose-a-zone-of-interest","dir":"Articles > Web_only","previous_headings":"","what":"First choose a zone of interest","title":"happign for foresters","text":"example work Camors forest. First need commune border can obtained insee code. Fortunately, happign provides table containing insee codes (data(\"cog_2023\")). , get_apicarto_commune used download shape Apicarto commune. way getting borders without apicarto use ECQL language directly query IGN WFS geoservers.","code":"data(\"cog_2023\") insee_code <- cog_2023[grepl(\"^Camors\", cog_2023$LIBELLE),1] borders <- get_apicarto_cadastre(insee_code, type = \"commune\") #> Features downloaded : 1 tm_shape(borders)+ tm_borders()+ tm_text(\"nom_com\") borders2 <- get_wfs(layer = \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\", spatial_filter = \"intersects\", ecql_filter = \"nom_m LIKE 'CAMORS'\") #> Features downloaded : 1"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"download-cadastral-parcel","dir":"Articles > Web_only","previous_headings":"","what":"Download cadastral parcel","title":"happign for foresters","text":"Cadastral parcels essential forest manager download get_wfs. Rq : IGN WFS can return maximum 1000 features. get_wfs() function overrides limit performing several consecutive requests console show","code":"layers <- get_layers_metadata(\"wfs\", \"parcellaire\") parcellaire_layer <- layers[15,1] # \"CADASTRALPARCELS.PARCELLAIRE_EXPRESS:parcelle\" parcellaire <- get_wfs(x = borders, spatial_filter = \"intersects\", layer = parcellaire_layer) #> Features downloaded : 1000...2000...3000...3490 tm_shape(borders)+ tm_borders(col = \"red\", lwd = 2)+ tm_shape(parcellaire)+ tm_polygons(alpha = 0)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"downloading-bd-forêt","dir":"Articles > Web_only","previous_headings":"","what":"Downloading BD Forêt","title":"happign for foresters","text":"first interesting layer forester “BD Forêt” vegetation type assigned area greater equal 0.5 ha (5,000 m²). two layer forest : old one BD Forêt V1 new one BD Forêt V2 can accessed “burger menu” top left interactive map . calculations can done can see :","code":"layers <- get_layers_metadata(\"wfs\", \"environnement\") BDF1_layer <- layers[4,1] BDF2_layer <- layers[5,1] BDF1 <- get_wfs(borders, BDF1_layer, spatial_filter = \"intersects\") #> Features downloaded : 102 BDF2 <- get_wfs(borders, BDF2_layer, spatial_filter = \"intersects\") #> Features downloaded : 221 tm_shape(BDF1) + tm_polygons(col = \"libelle\", popup.vars = names(BDF1)[1:(ncol(BDF1)-2)], legend.show = FALSE)+ tm_shape(BDF2) + tm_polygons(col = \"tfv\", alpha = 0.5, popup.vars = names(BDF2)[1:(ncol(BDF2)-2)], legend.show = FALSE) + tm_shape(borders) + tm_borders(lwd = 2) forest_type_BDF2 <- BDF2 |> mutate(area = as.numeric(st_area(geometry))) |> st_drop_geometry() |> group_by(essence) |> summarise(sum_area = sum(area)/10000) |> arrange(desc(sum_area)) |> mutate(essence = as.factor(essence)) ggplot()+ geom_col(data = forest_type_BDF2, aes(x = rev(reorder(essence, sum_area)), y = sum_area, fill = as.factor(essence)))+ theme_bw()+ labs(title = \"Surface couverte par essences [ha]\", y = \"Surface [ha]\", fill = \"Essence :\")+ theme(axis.text.x = element_blank())"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"detect-protected-area","dir":"Articles > Web_only","previous_headings":"","what":"Detect protected area","title":"happign for foresters","text":"One information really want work forest management zone interest inside protected area. example code design automatically test every layer starting “PROTECTED” can sure . , can click map, point shape informations.","code":"protected_area_layers <- get_layers_metadata(\"wfs\", \"environnement\") |> filter(grepl(\"^PROTECTED\", Name)) |> pull(Name) all_protected_area <- map(.x = protected_area_layers, .f = ~ try(get_wfs(borders, .x, spatial_filter = \"intersects\"))) |> set_names(protected_area_layers) |> discard(~ identical(length(.), 0L)) # Plot the result tm_shape(all_protected_area[[1]])+ tm_dots(group = \"Point rencontre des secours en forêts\", col = \"red\")+ tm_shape(all_protected_area[[2]])+ tm_polygons(group = \"Znieff 2\", alpha = 0.8, col = \"blue\")+ tm_shape(borders,is.master = TRUE) + tm_borders(lwd = 2)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"mns-mnt-and-mnh","dir":"Articles > Web_only","previous_headings":"","what":"MNS, MNT and MNH…","title":"happign for foresters","text":"’s always good know terrain topologie. IGN offers MNT MNS download. reminder, MNT corresponds surface ground MNS real surface (case, trees). thus easy find height trees subtracting DTM MNS.","code":"layers <- get_layers_metadata(\"wms-r\", \"altimetrie\") mnt_layer <- layers[3,1] # \"ELEVATION.ELEVATIONGRIDCOVERAGE.HIGHRES\" mns_layer <- layers[4,1] # \"ELEVATION.ELEVATIONGRIDCOVERAGE.HIGHRES.MNS\" mnt <- get_wms_raster(borders, mnt_layer, res = 5, crs = 2154, rgb = FALSE) #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : /private/var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/RtmpkB2JRh/file3357186e5081.tif mns <- get_wms_raster(borders, mns_layer, res = 5, crs = 2154, rgb = FALSE) #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : /private/var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/RtmpkB2JRh/file33575d23b12f.tif level_curve <- get_wfs(borders, \"ELEVATION.CONTOUR.LINE:courbe\", spatial_filter = \"intersects\") |> st_intersection(borders) #> Features downloaded : 120 #> although coordinates are longitude/latitude, st_intersection assumes that they #> are planar #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries # Calculate digital height model i.e. tree height mnh <- mns - mnt mnh[mnh < 0] <- NA # Remove negative value mnh[mnh > 50] <- 40 # Remove height more than 50m tm_shape(mnh) + tm_raster(style = \"cont\", title = \"Height\", palette = \"-Spectral\", colorNA = \"grey\", showNA = F) + tm_shape(level_curve)+ tm_lines(col = \"black\")+ tm_shape(borders)+ tm_borders(lwd = 2, col = \"red\") #> stars object downsampled to 1027 by 974 cells. See tm_shape manual (argument raster.downsample)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"ndvi","dir":"Articles > Web_only","previous_headings":"","what":"NDVI","title":"happign for foresters","text":"code present calculation NDVI. informations palette come website value range NDVI -1 1. (Near Infrared - Red) / (Near Infrared + Red) : Water low reflectance red, almost NIR (near infrared) reflectance. difference small negative, sum small, NDVI large negative. Plants low reflectance red, strong NIR reflectance. difference large positive, sum just difference, NDVI large positive. Categories somewhat arbitrary, can find various rules thumb, : Negative values NDVI (values approaching -1) correspond water. Values close zero (-0.1 0.1) generally correspond barren areas rock, sand, snow. Low, positive values represent shrub grassland (approximately 0.2 0.4), high values indicate temperate tropical rainforests (values approaching 1). low values NDVI (0.1 ) correspond water, barren areas rock, sand, snow. Moderate values represent shrub grassland (0.2 0.3), high values indicate temperate tropical rainforests (0.6 0.8).","code":"# To show the 20cm resolution possibility for IRC, let's take only the biggest parcels biggest_parcels <- parcellaire |> mutate(area = st_area(geometry)) |> slice_max(area) irc <- get_wms_raster(biggest_parcels, res = 0.2, layer = \"ORTHOIMAGERY.ORTHOPHOTOS.IRC\") #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : /private/var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/RtmpkB2JRh/file335732ea17ce.tif # calculate ndvi from near_infrared and infrared ndvi_fun <- function(nir, red){ (nir - red) / (nir + red) } ndvi <- lapp(irc[[c(1, 2)]], fun = ndvi_fun) # palette for plotting breaks_ndvi <- c(-1,-0.2,-0.1,0,0.025 ,0.05,0.075,0.1,0.125,0.15,0.175,0.2 ,0.25 ,0.3 ,0.35,0.4,0.45,0.5,0.55,0.6,1) palette_ndvi <- c(\"#BFBFBF\",\"#DBDBDB\",\"#FFFFE0\",\"#FFFACC\",\"#EDE8B5\",\"#DED99C\",\"#CCC782\",\"#BDB86B\",\"#B0C261\",\"#A3CC59\",\"#91BF52\",\"#80B347\",\"#70A340\",\"#619636\",\"#4F8A2E\",\"#407D24\",\"#306E1C\",\"#216112\",\"#0F540A\",\"#004500\") tm_shape(borders)+ tm_borders(lwd = 2, col = \"red\")+ tm_shape(ndvi)+ tm_raster(stretch.palette = F, style = \"cont\", title = \"NDVI\", breaks = breaks_ndvi, palette = palette_ndvi, colorNA = NULL)+ tm_shape(biggest_parcels, is.master = TRUE)+ tm_borders(lwd = 2, col = \"blue\") #> stars object downsampled to 1082 by 924 cells. See tm_shape manual (argument raster.downsample) #> Warning: Breaks contains positive and negative values. Better is to use #> diverging scale instead, or set auto.palette.mapping to FALSE."},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"the-gloss-index","dir":"Articles > Web_only","previous_headings":"","what":"The gloss index","title":"happign for foresters","text":"gloss index represents average image glosses. index therefore sensitive brightness soil, related moisture presence salts surface. characterizes especially albedo (solar radiation reflected back atmosphere). gloss index allows us estimate whether observed surface feature light dark.","code":"# calculate gloss_index from near_infrared and infrared gloss_fun <- function(nir, red){ sqrt(red^2 + nir^2) } gloss_index <- lapp(irc[[c(1, 2)]], fun = gloss_fun) tm_shape(borders)+ tm_borders(lwd = 2, col = \"red\")+ tm_shape(gloss_index)+ tm_raster(style = \"cont\", title = \"GLOSS INDEX\")+ tm_shape(biggest_parcels, is.master = T)+ tm_borders(lwd = 2, col = \"blue\") #> stars object downsampled to 1082 by 924 cells. See tm_shape manual (argument raster.downsample)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"info-on-raster","dir":"Articles > Web_only","previous_headings":"The gloss index","what":"Info on raster","title":"happign for foresters","text":"resources, essential additional information order use properly. example, forest field, date picture taken important object study dynamic. function get_location_info() allows get, exist, additional information raster layers. Warning : point supported. Rq : Note function returns shape default. metadata required, can speed response time setting read_sf FALSE. find queryable layers apikey can use are_queryable(apikey) call function get_location_info indicates orthophoto taken 2019-05-14. cases, function can used retrieve resources explicitly available. example, vector layers public forests, raster layer. However, additional information requested, outline forest returned.","code":"info_sup <- get_location_info(x = st_centroid(borders), apikey = \"ortho\", layer = \"ORTHOIMAGERY.ORTHOPHOTOS.BDORTHO\", read_sf = F) #> Warning: st_centroid assumes attributes are constant over geometries #> Warning in st_centroid.sfc(st_geometry(x), of_largest_polygon = #> of_largest_polygon): st_centroid does not give correct centroids for #> longitude/latitude data info_sup$date_vol #> [1] \"2022-07-08Z\" x <- st_sfc(st_point(c(-3.549957, 47.83396)), crs = 4326) # Carnoet forest forest <- get_location_info(x, apikey = \"environnement\", layer = \"FORETS.PUBLIQUES\", read_sf = TRUE) tm_shape(forest)+ tm_borders()+ tm_shape(x)+ tm_dots(size = 0.05, col = \"red\")"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"last-but-not-least-bd-topo","dir":"Articles > Web_only","previous_headings":"","what":"Last but not least… BD Topo","title":"happign for foresters","text":"BD topo IGN covers coherent way geographical administrative entities national territory. can find : Administrative (boundaries administrative units); Addresses (mailing addresses) ; Building (constructions) ; Hydrography (water-related features) ; Named places (place locality toponym describing natural space inhabited place); Land use (vegetation, foreshore, hedge); Services activities (utilities, energy storage transportation, industrial sites); Transportation (road, rail air infrastructure, routes); Regulated areas (areas subject specific regulations). example choose download water-related data :","code":"cour_eau <- get_wfs(borders, \"BDTOPO_V3:cours_d_eau\") |> st_intersection(borders) #> Features downloaded : 45 #> although coordinates are longitude/latitude, st_intersection assumes that they #> are planar #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries detail_hydro <- get_wfs(borders, \"BDTOPO_V3:detail_hydrographique\") |> st_intersection(borders) #> Features downloaded : 25 #> although coordinates are longitude/latitude, st_intersection assumes that they #> are planar #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries # water detected by satellite surf_hydro <- get_wfs(borders, \"BDTOPO_V3:surface_hydrographique\") |> st_intersection(borders) #> Features downloaded : 85 #> although coordinates are longitude/latitude, st_intersection assumes that they #> are planar #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries tm_shape(cour_eau)+ tm_lines(col = \"blue\")+ tm_shape(detail_hydro)+ tm_dots(col = \"red\")+ tm_shape(surf_hydro)+ tm_polygons(\"steelblue\")+ tm_shape(borders)+ tm_borders(lwd = 2)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"what-about-history","dir":"Articles > Web_only","previous_headings":"","what":"What about history ?","title":"happign for foresters","text":"“Etat-major” map general map France made, first version, 19th century. get :","code":"etat_major <- get_wms_raster(x = borders, res = 1, layer = \"GEOGRAPHICALGRIDSYSTEMS.ETATMAJOR40\") #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : /private/var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/RtmpkB2JRh/file3357465b0c5b.tif # raster is very large and tmap cannot plot it. Convert to stars as below allow for quick plotting # saving raster to disk allow full resolution visualisation : writeRaster(etat_major, \"test.tif\") etat_major <- st_as_stars(etat_major, ignore_file = TRUE) tm_shape(etat_major)+ tm_rgb()+ tm_shape(borders)+ tm_borders(lwd = 3, col = \"red\") #> stars object downsampled to 1028 by 974 cells. See tm_shape manual (argument raster.downsample)"},{"path":"https://paul-carteron.github.io/happign/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Paul Carteron. Author, maintainer.","code":""},{"path":"https://paul-carteron.github.io/happign/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Carteron P (2024). happign: R Interface 'IGN' Web Services. R package version 0.2.2, https://paul-carteron.github.io/happign/, https://github.com/paul-carteron.","code":"@Manual{, title = {happign: R Interface to 'IGN' Web Services}, author = {Paul Carteron}, year = {2024}, note = {R package version 0.2.2, https://paul-carteron.github.io/happign/}, url = {https://github.com/paul-carteron}, }"},{"path":[]},{"path":"https://paul-carteron.github.io/happign/index.html","id":"happign---ign-data-from-r","dir":"","previous_headings":"","what":"happign - IGN data from R","title":"R Interface to IGN Web Services","text":"goal happign facilitate use Web Services API IGN (French National Institute Geographic Forestry Information). happign allow downloading : Shapefile via use WFS service APIcarto ; Raster via use WMS raster service","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"context","dir":"","previous_headings":"","what":"Context","title":"R Interface to IGN Web Services","text":"Since January 1, 2021, French National Institute Geographic Forestry Information (IGN) opened access data French topography, infrastructure, terrain freely available. opening IGN data Etalab 2.0 open license means free access use . facilitate accessibility, IGN implemented set APIs Web services based OGC standards. Despite well supplied documentation, use APIs Web services remains complex set R. happign package created make easier.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"rights-of-use-for-ign-data","dir":"","previous_headings":"","what":"Rights of use for IGN data","title":"R Interface to IGN Web Services","text":"Data IGN geoservice website free available open license according principle Etalab 2.0 license since January 1, 2021. data complete IGN’s open data policy since June 1st, 2021. SCAN 25®, SCAN 100® SCAN OACI data free download stream, professional individual wishing develop commercial paper digital offer general public pay fee according General Conditions Use.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"R Interface to IGN Web Services","text":"can install released version happign CRAN : development version GitHub :","code":"install.packages(\"happign\") # install.packages(\"devtools\") devtools::install_github(\"paul-carteron/happign\")"},{"path":"https://paul-carteron.github.io/happign/index.html","id":"vignettes","dir":"","previous_headings":"","what":"Vignettes","title":"R Interface to IGN Web Services","text":"Package vignettes : Getting started happign : brief intro happign world ; happign foresters : focus possibilities offered happign forestry ; API carto : use API Carto happign ; SCAN 25, SCAN 100 et SCAN OACI : download Scan 25, Scan 100 Scan OACI","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"future-features","dir":"","previous_headings":"","what":"Future features","title":"R Interface to IGN Web Services","text":"IGN offers services. implementation R development : Implement isochrone isodistance calculation","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"problems-and-issues","dir":"","previous_headings":"","what":"Problems and Issues","title":"R Interface to IGN Web Services","text":"Please report issues bugs may encounter dedicated page github.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"system-requirements","dir":"","previous_headings":"","what":"System Requirements","title":"R Interface to IGN Web Services","text":"happign requires R v >= 4.1.0.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"why-its-called-happign-","dir":"","previous_headings":"","what":"Why it’s called happign ?","title":"R Interface to IGN Web Services","text":"project - obviously - called happign; ’s : “ign” stand … IGN : acronym institute ; “api” stand … API : one interface used retrieve data; addition “h” another “p” pun “happy”. Besides fact love kind humor, simplified use APIs real source happiness, trust . Also, attentive details, can see logo green leaf stuck teeth charming smile. none leaf IGN logo.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"R Interface to IGN Web Services","text":"Please note happign project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/are_queryable.html","id":null,"dir":"Reference","previous_headings":"","what":"are_queryable — are_queryable","title":"are_queryable — are_queryable","text":"Check wms layer queryable GetFeatureInfo.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/are_queryable.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"are_queryable — are_queryable","text":"","code":"are_queryable(apikey)"},{"path":"https://paul-carteron.github.io/happign/reference/are_queryable.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"are_queryable — are_queryable","text":"apikey API key get_apikeys() directly IGN website","code":""},{"path":"https://paul-carteron.github.io/happign/reference/are_queryable.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"are_queryable — are_queryable","text":"character containing name queryable layers","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/cog_2023.html","id":null,"dir":"Reference","previous_headings":"","what":"COG 2023 — cog_2023","title":"COG 2023 — cog_2023","text":"dataset containing insee code wording commune January 1, 2023. COG mean Code Officiel Géographique","code":""},{"path":"https://paul-carteron.github.io/happign/reference/cog_2023.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"COG 2023 — cog_2023","text":"","code":"cog_2023"},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/cog_2023.html","id":"cog-","dir":"Reference","previous_headings":"","what":"cog_2023","title":"COG 2023 — cog_2023","text":"data frame 34990 rows 2 columns: COM insee code LIBELLE Name commune","code":""},{"path":"https://paul-carteron.github.io/happign/reference/cog_2023.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"COG 2023 — cog_2023","text":"https://www.insee.fr/fr/information/2115000","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto Cadastre — get_apicarto_cadastre","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"Implementation cadastre module IGN's apicarto","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"","code":"get_apicarto_cadastre(x, type = \"parcelle\", source = \"PCI\", section = list(NULL), numero = list(NULL), code_arr = list(NULL), code_abs = list(NULL), code_com = list(NULL), dTolerance = 0)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"x can shape, insee codes departement codes : Shape : must object class sf sfc. Code insee : must character length 5 Code departement : must character length 2 3 (DOM-TOM) type character \"parcelle\", \"commune\", \"feuille\", \"division\", \"localisant\" source Can \"BDP\" BD Parcellaire \"PCI\" Parcellaire express. See detail info. section character length 2 numero character length 4 code_arr character corresponding district code Paris, Lyon, Marseille code_abs character corresponding code absorbed commune. prefix useful differentiate communes merged code_com character length 5 corresponding commune code. use type = \"division\" type = \"feuille\" dTolerance numeric; Complex shape handle API; using dTolerance allow simplify . See ?sf::st_simplify","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"Object class sf","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"x, section, numero, code_arr, code_abs, code_com can take vector character. case vector recycling done. See example section . source: BD Parcellaire discontinued product. use longer recommended longer updated. use PCI Express strongly recommended become mandatory. information comparison two products can found ","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"","code":"if (FALSE) { library(sf) # shape from the town of penmarch penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) # get commune borders ## from shape penmarch_borders <- get_apicarto_cadastre(penmarch, type = \"commune\") ## from insee_code border <- get_apicarto_cadastre(\"29158\", type = \"commune\") borders <- get_apicarto_cadastre(c(\"29158\", \"29165\"), type = \"commune\") # get cadastral parcels ## from shape parcels <- get_apicarto_cadastre(penmarch, section = \"AX\") ## from insee code parcels <- get_apicarto_cadastre(\"29158\") # Use parameter recycling ## get sections \"AX\" parcels from multiple insee_code parcels <- get_apicarto_cadastre(c(\"29158\", \"29165\"), section = \"AX\") ## get parcels numbered \"0001\", \"0010\" of section \"AX\" and \"BR\" section <- c(\"AX\", \"BR\") numero <- rep(c(\"0001\", \"0010\"), each = 2) parcels <- get_apicarto_cadastre(\"29158\", section = section, numero = numero) ## generalization with expand.grid params <- expand.grid(code_insee = c(\"29158\", \"29165\"), section = c(\"AX\", \"BR\"), numero = c(\"0001\", \"0010\"), stringsAsFactors = FALSE) parcels <- get_apicarto_cadastre(params$code_insee, section = params$section, numero = params$numero) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto Codes Postaux — get_apicarto_codes_postaux","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"Implementation \"Codes Postaux\" module IGN's apicarto. API give information commune postal code.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"","code":"get_apicarto_codes_postaux(code_post)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"code_post character corresponding postal code commune","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"Object class data.frame","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"","code":"if (FALSE) { info_commune <- get_apicarto_codes_postaux(\"29760\") code_post <- c(\"29760\", \"29260\") info_communes <- get_apicarto_codes_postaux(code_post) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"Apicarto module Geoportail de l'urbanisme","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"","code":"get_apicarto_gpu(x, ressource = \"zone-urba\", categorie = list(NULL), dTolerance = 0)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"x object class sf sfc geometric intersection. Otherwise character corresponding GPU partition insee code ressource set municipality. ressource character list : \"document\", \"zone-urba\", \"secteur-cc\", \"prescription-surf\", \"prescription-lin\", \"prescription-pct\", \"info-surf\", \"info-lin\", \"info-pct\". See detail info. categorie public utility easement according national nomenclature dTolerance numeric; Complex shape handle API; using dTolerance allow simplify . See ?sf::st_simplify","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"object class sf df","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"/!\\ moment API returned 5000 features. existing parameters ressource : \"municipality : information communes (commune RNU, merged commune) \"document' : information urban planning documents (POS, PLU, PLUi, CC, PSMV) \"zone-urba\" : zoning urban planning documents, \"secteur-cc\" : communal map sectors \"prescription-surf\", \"prescription-lin\", \"prescription-pct\" : 's constraint possibility indicated urban planning document (PLU, PLUi, ...) \"info-surf\", \"info-lin\", \"info-pct\" : 's information indicated urban planning document (PLU, PLUi, ...) \"acte-sup\" : act establishing SUP \"generateur-sup-s\", \"generateur-sup-l\", \"generateur-sup-p\" : entity (site monument, watercourse, water catchment, electricity gas distribution electricity gas, etc.) generates surrounding SUP (passage, alignment, protection, land reservation, etc.) \"assiette-sup-s\", \"assiette-sup-l\", \"assiette-sup-p\" : spatial area SUP applies.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"","code":"if (FALSE) { library(sf) # find if commune is under the RNU (national urbanism regulation) rnu <- get_apicarto_gpu(\"93014\", \"municipality\") rnu$is_rnu # get urbanism document x <- get_apicarto_cadastre(\"93014\", \"commune\") document <- get_apicarto_gpu(x, ressource = \"document\") partition <- document$partition # get gpu features ## from shape gpu <- get_apicarto_gpu(x, ressource = \"zone-urba\") ## from partition gpu <- get_apicarto_gpu(\"DU_93014\", ressource = \"zone-urba\") # example : all prescriptions ressources <- c(\"prescription-surf\", \"prescription-lin\", \"prescription-pct\") prescriptions <- get_apicarto_gpu(\"DU_93014\", ressource = ressources) # example : public utility servitude (SUP) assiette assiette_sup_s <- get_apicarto_gpu(x, ressource = \"assiette-sup-s\") protection_forest <- get_apicarto_gpu(x, ressource = \"assiette-sup-s\", categorie = \"A7\") # example : public utility servitude (SUP) generateur ## /!\\ a generator can justify several assiette ressources <- c(\"generateur-sup-p\", \"generateur-sup-l\", \"generateur-sup-s\") all_gen <- get_apicarto_gpu(x, ressource = ressources) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"Implementation \"RPG\" module IGN's apicarto. function wrapper around version 1 2 API.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"","code":"get_apicarto_rpg(x, annee, code_cultu = list(NULL), dTolerance = 0)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"x Object class sf. Needs located France. annee numeric 2010 2021 code_cultu character corresponding code culture, see detail. dTolerance numeric; tolerance parameter. value dTolerance must specified meters, see detail.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"list object class sf","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"Since 2014 culture code changed format. value ranging \"01\" \"28\", trigram (ex : \"MIE\"). info can found documentation page dTolerance needed geometry complex. parameter found sf::st_simlplify.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"","code":"if (FALSE) { library(sf) penmarch <- get_apicarto_cadastre(\"29158\", type = \"commune\") # failure with too complex geom rpg <- get_apicarto_rpg(penmarch, 2020) # avoid complex data by setting dTolerance rpg <- get_apicarto_rpg(penmarch, 2020, dTolerance = 10) # multiple years after 2014 rpg <- get_apicarto_rpg(x, 2020:2021, dTolerance = 10) # years before and after 2014 # list is returned because attributs are different rpg <- get_apicarto_rpg(x, c(2010, 2021), dTolerance = 10) # filter by code_cultu rpg <- get_apicarto_rpg(x, 2021, code_cultu = \"MIE\", dTolerance = 10) # all \"MIE\" from 2020 and all \"PPH\" from 2021 rpg <- get_apicarto_rpg(x, 2020:2021, code_cultu = c(\"MIE\", \"PPH\"), dTolerance = 10) # vectorization : all \"MIE\" from 2020 and 2021 rpg <- get_apicarto_rpg(x, 2020:2021, code_cultu = \"MIE\", dTolerance = 10) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto Appellations viticoles — get_apicarto_viticole","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"Implementation \"Appellations viticoles\" module IGN's apicarto. module uses database maintained FranceAgriMer. database includes : appellation d'origine contrôlée (AOC) areas, protected geographical indication areas (IGP) wine growing areas without geographical indications (VSIG)","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"","code":"get_apicarto_viticole(x, dTolerance = 0)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"x Object class sf. Needs located France. dTolerance numeric; tolerance parameter. value dTolerance must specified meters, see ?sf::st_simplify info.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"Object class sf","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"/!\\ moment API returned 1000 features.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"","code":"if (FALSE) { library(sf) penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) VSIG <- get_apicarto_viticole(penmarch) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apikeys.html","id":null,"dir":"Reference","previous_headings":"","what":"List of all API keys from IGN — get_apikeys","title":"List of all API keys from IGN — get_apikeys","text":"API keys manually extract table provided IGN.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apikeys.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List of all API keys from IGN — get_apikeys","text":"","code":"get_apikeys()"},{"path":"https://paul-carteron.github.io/happign/reference/get_apikeys.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List of all API keys from IGN — get_apikeys","text":"character","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apikeys.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List of all API keys from IGN — get_apikeys","text":"","code":"if (FALSE) { # One API key get_apikeys()[1] # All API keys get_apikeys() }"},{"path":"https://paul-carteron.github.io/happign/reference/get_last_news.html","id":null,"dir":"Reference","previous_headings":"","what":"Print latest news from geoservice website — get_last_news","title":"Print latest news from geoservice website — get_last_news","text":"function wrapper around RSS feed geoservice site get latest information.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_last_news.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print latest news from geoservice website — get_last_news","text":"","code":"get_last_news()"},{"path":"https://paul-carteron.github.io/happign/reference/get_last_news.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Print latest news from geoservice website — get_last_news","text":"message error","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_last_news.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Print latest news from geoservice website — get_last_news","text":"","code":"if (FALSE) { get_last_news() }"},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":null,"dir":"Reference","previous_headings":"","what":"Metadata for one couple of apikey and data_type — get_layers_metadata","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"Metadata retrieved using IGN APIs. execution time can long depending size metadata associated API key overload IGN servers.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"","code":"get_layers_metadata(data_type, apikey = NULL)"},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"data_type \"wfs\", \"wms-r\" \"wmts\". See details information Web services formats. apikey API key get_apikeys() directly IGN website","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"data.frame","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"\"wfs\" : Web Feature Service designed return data vector format (line, point, polygon, ...) ; \"wms-r\" : Web Map Service focuses raster data ; \"wmts\" : Web Map Tile Service similar WMS, instead serving maps single images, WMTS serves maps dividing map pyramid tiles multiple scales.","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"","code":"if (FALSE) { # Get all metadata for a datatype metadata_table <- get_layers_metadata(\"wms-r\") # Get all \"administratif\" wms layers apikey <- get_apikeys()[1] #administratif admin_layers <- get_layers_metadata(\"wms-r\", apikey) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve additional information for wms layer — get_location_info","title":"Retrieve additional information for wms layer — get_location_info","text":"wms layer information can found GetFeatureInfo request. function first check info available. , available layers returned.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve additional information for wms layer — get_location_info","text":"","code":"get_location_info(x, apikey = \"ortho\", layer = \"ORTHOIMAGERY.ORTHOPHOTOS\", read_sf = TRUE, version = \"1.3.0\")"},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve additional information for wms layer — get_location_info","text":"x Object class sf sfc. single point supported now. Needs located France. apikey character; API key get_apikeys() directly IGN website layer character; layer name obtained get_layers_metadata(\"wms-r\") IGN website. read_sf logical; TRUE sf object returned response times may higher. version character; old param","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Retrieve additional information for wms layer — get_location_info","text":"character sf containing additional information layer","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Retrieve additional information for wms layer — get_location_info","text":"","code":"if (FALSE) { library(sf) library(tmap) # From single point x <- st_centroid(read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\"))) location_info <- get_location_info(x, \"ortho\", \"ORTHOIMAGERY.ORTHOPHOTOS\", read_sf = F) location_info$date_vol # From multiple point x1 <- st_sfc(st_point(c(-3.549957, 47.83396)), crs = 4326) # Carnoet forest x2 <- st_sfc(st_point(c(-3.745995, 47.99296)), crs = 4326) # Coatloch forest forests <- lapply(list(x1, x2), get_location_info, apikey = \"environnement\", layer = \"FORETS.PUBLIQUES\", read_sf = T) qtm(forests[[1]]) + qtm(forests[[2]]) # Find all queryable layers queryable_layers <- lapply(get_apikeys(), are_queryable) |> unlist() }"},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":null,"dir":"Reference","previous_headings":"","what":"Download raw LIDAR data — get_raw_lidar","title":"Download raw LIDAR data — get_raw_lidar","text":"Check raw LIDAR data available shape location. raw LIDAR data classified; correspond cloud point.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download raw LIDAR data — get_raw_lidar","text":"","code":"get_raw_lidar(x, destfile = \".\", grid_path = \".\", quiet = F)"},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download raw LIDAR data — get_raw_lidar","text":"x Object class sf sfc. Needs located France. destfile Folder path data downloaded. default set \".\" e.g. current directory grid_path Folder path grid downloaded. default set \".\" e.g. current directory quiet TRUE download silent","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download raw LIDAR data — get_raw_lidar","text":"object.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Download raw LIDAR data — get_raw_lidar","text":"get_raw_lidar() first download grid containing name LIDAR tiles intersected x determine ones uploaded. grid downloaded grid_path lidar data destfile. directory, function check grid data already exist avoid re-downloading .","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download raw LIDAR data — get_raw_lidar","text":"","code":"if (FALSE) { library(sf) # Create shape x <- st_polygon(list(matrix(c(8.852234, 42.55466, 8.852234, 42.57289, 8.860474, 42.57289, 8.860474, 42.55466, 8.852234, 42.55466), ncol = 2, byrow = TRUE))) x <- st_sfc(x, crs = st_crs(4326)) # Download data to current directory get_raw_lidar(x) # Check all .laz file list.files(\".\", pattern = \".laz\", recursive = TRUE) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":null,"dir":"Reference","previous_headings":"","what":"Download WFS layer — get_wfs","title":"Download WFS layer — get_wfs","text":"Read simple features IGN Web Feature Service (WFS) location name layer.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download WFS layer — get_wfs","text":"","code":"get_wfs(x = NULL, layer = NULL, filename = NULL, spatial_filter = \"bbox\", ecql_filter = NULL, overwrite = FALSE, interactive = FALSE)"},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download WFS layer — get_wfs","text":"x Object class sf sfc. Needs located France. layer character; name layer get_layers_metadata(\"wfs\") directly IGN website filename character;Either string naming file connection open writing. (ex : \"test.shp\" \"~/test.shp\") spatial_filter character; spatial predicate ECQL language. See detail examples info. ecql_filter character; corresponding ECQL query. See detail examples info. overwrite logical; TRUE, file overwrite. interactive character; TRUE, need specify layer, ask.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download WFS layer — get_wfs","text":"sf object sf package NULL data.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Download WFS layer — get_wfs","text":"get_wfs use ECQL language : query language created OpenGeospatial Consortium. provide multiple spatial filter : \"intersects\", \"disjoint\", \"contains\", \"within\", \"touches\", \"crosses\", \"overlaps\", \"equals\", \"relate\", \"beyond\", \"dwithin\". \"relate\", \"beyond\", \"dwithin\", argument can provide using vector like : spatial_filter = c(\"dwithin\", distance, units). info ECQL language . aware \"dwithin\" broken accept units properly. degrees can used. avoid , create buffer use \"within\" instead od \"dwithin\". ECQL query can provided ecql_filter. allows direct query IGN's WFS geoservers. x set, ecql_filter comes addition spatial_filter. info writing ECQL ","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download WFS layer — get_wfs","text":"","code":"if (FALSE) { library(sf) library(tmap) # Shape from the best town in France penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) # For quick testing, use interactive = TRUE shape <- get_wfs(x = penmarch, interactive = TRUE) ## Getting borders of best town in France metadata_table <- get_layers_metadata(\"wfs\", \"administratif\") layer <- metadata_table[32,1] # LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune # Downloading borders borders <- get_wfs(penmarch, layer) # Plotting result qtm(borders, fill = NULL, borders = \"firebrick\") # easy map # Get forest_area of the best town in France forest_area <- get_wfs(x = borders, layer = \"LANDCOVER.FORESTINVENTORY.V1:resu_bdv1_shape\") qtm(forest_area, fill = \"nom_typn\") # Using ECQL filters to query IGN server ## First find attributes of the layer attrs <- get_wfs_attributes(layer) ## e.g. : find all commune's name starting by \"plou\" plou_borders <- get_wfs(x = NULL, # When x is NULL, all France is query layer = \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\", ecql_filter = \"nom_m LIKE 'PLOU%'\") qtm(plou_borders) ## Combining ecql_filters plou_borders_inf_2000 <- get_wfs(x = NULL, # When x is NULL, all France is query layer = \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\", ecql_filter = \"nom_m LIKE 'PLOU%' AND population < 2000\") qtm(plou_borders)+ qtm(plou_borders_inf_2000, fill = \"red\") }"},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":null,"dir":"Reference","previous_headings":"","what":"get_wfs_attributes — get_wfs_attributes","title":"get_wfs_attributes — get_wfs_attributes","text":"Helper write ecql filter. Retrieve attributes layer.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"get_wfs_attributes — get_wfs_attributes","text":"","code":"get_wfs_attributes(layer = NULL, interactive = FALSE)"},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"get_wfs_attributes — get_wfs_attributes","text":"layer character; name layer get_layers_metadata(\"wfs\") directly IGN website interactive character; TRUE, need specify layer, ask.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"get_wfs_attributes — get_wfs_attributes","text":"charactervector layer attributes","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"get_wfs_attributes — get_wfs_attributes","text":"","code":"if (FALSE) { get_wfs_attributes(\"administratif\", \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\") # Interactive session get_wfs_attributes(interactive = TRUE) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":null,"dir":"Reference","previous_headings":"","what":"Download WMS raster layer — get_wms_raster","title":"Download WMS raster layer — get_wms_raster","text":"Download raster layer IGN Web Mapping Services (WMS). Specify location using shape provide layer name.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download WMS raster layer — get_wms_raster","text":"","code":"get_wms_raster(x, layer = \"ORTHOIMAGERY.ORTHOPHOTOS\", res = 10, crs = 2154, rgb = TRUE, filename = tempfile(fileext = \".tif\"), verbose = TRUE, overwrite = FALSE, interactive = FALSE)"},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download WMS raster layer — get_wms_raster","text":"x Object class sf sfc, located France. layer character; layer name obtained get_layers_metadata(\"wms-r\") IGN website. res numeric; resolution specified units coordinate system (e.g., meters EPSG:2154, degrees EPSG:4326). See details information. crs numeric, character, object class sf sfc; defaults EPSG:2154. See sf::st_crs() details. rgb boolean; set TRUE, downloads RGB image. set FALSE, downloads single band floating point values. See details information. filename character NULL; specifies filename open connection writing (e.g., \"test.tif\" \"~/test.tif\"). NULL, uses layer filename. default format \".tif\", GDAL drivers supported. verbose boolean; TRUE, message added. overwrite boolean; TRUE, existing raster overwritten. interactive logical; TRUE, interactive menu prompts apikey layer.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download WMS raster layer — get_wms_raster","text":"SpatRaster object terra package.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Download WMS raster layer — get_wms_raster","text":"res: Note setting res higher default resolution layer increase number pixels precision image. instance, downloading BD Alti layer IGN optimal resolution 25m. rgb: Rasters commonly used download images orthophotos. specific cases like DEMs, however, value per pixel essential. overwrite: function get_wms_raster first checks filename already exists. , file imported R without downloading , unless overwrite set TRUE.","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download WMS raster layer — get_wms_raster","text":"","code":"if (FALSE) { library(sf) library(tmap) # Shape from the best town in France penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) # For quick testing use interactive = TRUE raster <- get_wms_raster(x = penmarch, res = 25, interactive = TRUE) # For specific data, choose apikey with get_apikey() and layer with get_layers_metadata() apikey <- get_apikeys()[4] # altimetrie metadata_table <- get_layers_metadata(\"wms-r\", apikey) # all layers for altimetrie wms layer <- metadata_table[2,1] # ELEVATION.ELEVATIONGRIDCOVERAGE # Downloading digital elevation model values not image mnt_2154 <- get_wms_raster(penmarch, layer, res = 1, crs = 2154, rgb = FALSE) # If crs is set to 4326, res is in degrees mnt_4326 <- get_wms_raster(penmarch, layer, res = 0.0001, crs = 4326, rgb = FALSE) # Plotting result tm_shape(mnt_4326)+ tm_raster()+ tm_shape(penmarch)+ tm_borders(col = \"blue\", lwd = 3) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":null,"dir":"Reference","previous_headings":"","what":"Download WMTS raster tiles — get_wmts","title":"Download WMTS raster tiles — get_wmts","text":"Download RGB raster layer IGN Web Map Tile Services (WMTS). WMTS focuses performance can query pre-calculated tiles.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download WMTS raster tiles — get_wmts","text":"","code":"get_wmts(x, layer = \"ORTHOIMAGERY.ORTHOPHOTOS\", zoom = 10L, crs = 2154, filename = tempfile(fileext = \".tif\"), overwrite = FALSE, interactive = FALSE)"},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download WMTS raster tiles — get_wmts","text":"x Object class sf sfc. Needs located France. layer character; layer name get_layers_metadata(apikey, \"wms\") directly IGN website. zoom integer 0 21; low zoom levels, small set map tiles covers large geographical area. words, smaller zoom level, less precise resolution. conversion zoom level resolution see WMTS IGN Documentation crs numeric, character, object class sf sfc. set EPSG:2154 default. See sf::st_crs() detail. filename character NULL; filename open connection writing. (ex : \"test.tif\" \"~/test.tif\"). NULL, layer used filename. Default drivers \".tif\" gdal drivers supported, see details info. overwrite TRUE, output raster overwrite. interactive logical; TRUE, interactive menu ask apikey layer.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download WMTS raster tiles — get_wmts","text":"SpatRaster object terra package.","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download WMTS raster tiles — get_wmts","text":"","code":"if (FALSE) { library(sf) library(tmap) penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) # Get orthophoto layers <- get_layers_metadata(\"wmts\", \"ortho\")$Identifier ortho <- get_wmts(penmarch, layer = layers[1], zoom = 21) plotRGB(ortho) # Get all available irc images layers <- get_layers_metadata(\"wmts\", \"orthohisto\")$Identifier irc_names <- grep(\"irc\", layers, value = TRUE, ignore.case = TRUE) irc <- lapply(irc_names, function(x) get_wmts(penmarch, layer = x, zoom = 18)) |> setNames(irc_names) # remove empty layer (e.g. only NA) irc <- Filter(function(x) !all(is.na(values(x))), irc) # plot all_plots <- lapply(irc, plotRGB) }"},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-022","dir":"Changelog","previous_headings":"","what":"happign 0.2.2","title":"happign 0.2.2","text":"CRAN release: 2023-11-29 Fix bug creating bbox get_wms_raster() getMap request crs isn’t latlong.","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-021","dir":"Changelog","previous_headings":"","what":"happign 0.2.1","title":"happign 0.2.1","text":"CRAN release: 2023-11-18 Fix get_wms_raster() #21. Now using vrt warping combine. Add support wmts get_layers_metadata()","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-020","dir":"Changelog","previous_headings":"","what":"happign 0.2.0","title":"happign 0.2.0","text":"CRAN release: 2023-08-07 get_wms_raster made faster using gdalwarp sf::gdal_utils. longer need download several tiles. update cog_2022 dataset cog_2023 remove get_apicarto_commune() now supported get_apicarto_cadastre() jsonlite used instead geojsonsf package shape -> x layer_name -> layer resolution -> res remove get_wms_info get_location_info apikey \"enr\" added","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-019","dir":"Changelog","previous_headings":"","what":"happign 0.1.9","title":"happign 0.1.9","text":"CRAN release: 2023-04-12 add get_apicarto_viticole() add get_apicarto_codes_postaux() add get_apicarto_rpg() rework get_apicarto_gpu() depreciation get_apicarto_commune() now supported get_apicarto_cadastre() rework get_last_news() remove dependency checkmate","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-018","dir":"Changelog","previous_headings":"","what":"happign 0.1.8","title":"happign 0.1.8","text":"CRAN release: 2023-01-30 Correction get_raw_lidar() New vignette “completion_of_ign_data_road_example” Pre-computation cran vignette Apply DRY principle option(“timeout”) handling Add “penmarch.shp” internal data test example Better handling filename saving get_wfs() Adding support spatial ecql filter get_wfs() Remove dependency magritrr pipe %>% |> Add internal shape testing point, multipoint, line, multiline, poly, multipoly add get_wfs_attributes() function NULL returned data found","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-017","dir":"Changelog","previous_headings":"","what":"happign 0.1.7","title":"happign 0.1.7","text":"CRAN release: 2022-11-18 Correct bug preventing get_apicarto_commune work dep insee code Adding 1 hour downloading get_wfs() big shape Remove connection IGN news library load. Now get_last_news() can used retrieve last news. Adding interactive parameter get_wfs get_wms_raster allow quick use Catch error get_raw_lidar Change complete vignette “happign forester” website Handling errors tryCatch get_apicarto_plu() now get_apicarto_gpu() : can handle complex shape access ressources APIcarto GPU consistency, now necessary add drivers filename get_wms_raster() like get_wfs(). automatic addition resolution filename removed simplicity.","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-016","dir":"Changelog","previous_headings":"","what":"happign 0.1.6","title":"happign 0.1.6","text":"CRAN release: 2022-09-16 get_wms_raster() use gdal sf::gdal_utils() downloading terra::vrt() merging quiet faster results. stars package used anymore. get_wms_raster() supports download big raster several gigabytes get_wms_raster() new crs argument New function get_raw_lidar() download raw lidar data New function get_apicarto_commune() download commune borders apicarto new dataset containing names communes associated insee code added Simplify get_layers_metadata() retrieve title, name, abstract Remove dependency tidyr new function get_raw_lidar() download raw lidar data IGN new function get_apicarto_commune download commune borders apicarto “cadastre” IGN","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-015","dir":"Changelog","previous_headings":"","what":"happign 0.1.5","title":"happign 0.1.5","text":"CRAN release: 2022-07-18 remove get_iso() remove dependency httr httr2 add get_wms_info() find metadata layer add get_apicarto_plu() (Plan Local d’Urbanisme) Rework get_wms_raster() Adding new apikey “ocsge” Better testing Add insee code package data data(\"code_insee\") get_apicarto_* now support MultiPolygon get_wms_raster now 1h downloading tile instead 1min (low connection)","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-014","dir":"Changelog","previous_headings":"","what":"happign 0.1.4","title":"happign 0.1.4","text":"CRAN release: 2022-04-25 Fix resolution get_wms_raster(). Depending shape resolution, multiple tile downloaded combine get right resolution. Also adding vignette Resolution raster explanation New start message based RSS flux IGN website warn user issues (slowdown, shutdown) news resources *get_wms_raster() now fix S2 geometry problems adding method mode argument download.file() freedom type download get_wms_raster() Completion happign_for_forester vignette adding first get_apicarto_* vectorized function cadastre adding shp_to_geojson() function avoid geojsonsf package dependency","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-013","dir":"Changelog","previous_headings":"","what":"happign 0.1.3","title":"happign 0.1.3","text":"CRAN release: 2022-03-01 adding connection isochrone isodistance calculation IGN get_iso() new vignette happign forester new vignette SCAN 25, SCAN 100 et SCAN OACI","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-012","dir":"Changelog","previous_headings":"","what":"happign 0.1.2","title":"happign 0.1.2","text":"CRAN release: 2022-02-01 adding filename argument get_wms_raster() get_wfs() allowing save data disk. new feature also overcomes problem connection WMS GDAL #1 Automatic weekly detection http errors WFS WMS APIs. Layers readable get_wms_raster()#1 also listed. adding data license IGN (etalab 2.0) readme","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-011","dir":"Changelog","previous_headings":"","what":"happign 0.1.1","title":"happign 0.1.1","text":"CRAN release: 2022-01-27 add function test internet connection availability IGN website loading happign) test improvement readme vignette improvement","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-010","dir":"Changelog","previous_headings":"","what":"happign 0.1.0","title":"happign 0.1.0","text":"CRAN release: 2022-01-20 add interface WFS, WMS raster service get_wfs() get_wms_raster() add get_apikeys() get_layers_metadata() allow access metadata R","code":""}]
+[{"path":[]},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement carteronpaul@gmail.com. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://paul-carteron.github.io/happign/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.0, available https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. Community Impact Guidelines inspired Mozilla’s code conduct enforcement ladder. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to happign","title":"Contributing to happign","text":"outlines propose change happign. detailed info contributing , tidyverse packages, please see development contributing guide.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"fixing-typos","dir":"","previous_headings":"","what":"Fixing typos","title":"Contributing to happign","text":"can fix typos, spelling mistakes, grammatical errors documentation directly using GitHub web interface, long changes made source file. generally means ’ll need edit roxygen2 comments .R, .Rd file. can find .R file generates .Rd reading comment first line.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"bigger-changes","dir":"","previous_headings":"","what":"Bigger changes","title":"Contributing to happign","text":"want make bigger change, ’s good idea first file issue make sure someone team agrees ’s needed. ’ve found bug, please file issue illustrates bug minimal reprex (also help write unit test, needed).","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"pull-request-process","dir":"","previous_headings":"Bigger changes","what":"Pull request process","title":"Contributing to happign","text":"Fork package clone onto computer. haven’t done , recommend using usethis::create_from_github(\"paul-carteron/happign\", fork = TRUE). Install development dependencies devtools::install_dev_deps(), make sure package passes R CMD check running devtools::check(). R CMD check doesn’t pass cleanly, ’s good idea ask help continuing. Create Git branch pull request (PR). recommend using usethis::pr_init(\"brief-description--change\"). Make changes, commit git, create PR running usethis::pr_push(), following prompts browser. title PR briefly describe change. body PR contain Fixes #issue-number. user-facing changes, add bullet top NEWS.md (.e. just first header). Follow style described https://style.tidyverse.org/news.html.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"code-style","dir":"","previous_headings":"Bigger changes","what":"Code style","title":"Contributing to happign","text":"New code follow tidyverse style guide. can use styler package apply styles, please don’t restyle code nothing PR. use roxygen2, Markdown syntax, documentation. use testthat unit tests. Contributions test cases included easier accept.","code":""},{"path":"https://paul-carteron.github.io/happign/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contributing to happign","text":"Please note happign project released Contributor Code Conduct. contributing project agree abide terms.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"GNU General Public License","title":"GNU General Public License","text":"Version 3, 29 June 2007Copyright © 2007 Free Software Foundation, Inc. Everyone permitted copy distribute verbatim copies license document, changing allowed.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"preamble","dir":"","previous_headings":"","what":"Preamble","title":"GNU General Public License","text":"GNU General Public License free, copyleft license software kinds works. licenses software practical works designed take away freedom share change works. contrast, GNU General Public License intended guarantee freedom share change versions program–make sure remains free software users. , Free Software Foundation, use GNU General Public License software; applies also work released way authors. can apply programs, . speak free software, referring freedom, price. General Public Licenses designed make sure freedom distribute copies free software (charge wish), receive source code can get want , can change software use pieces new free programs, know can things. protect rights, need prevent others denying rights asking surrender rights. Therefore, certain responsibilities distribute copies software, modify : responsibilities respect freedom others. example, distribute copies program, whether gratis fee, must pass recipients freedoms received. must make sure , , receive can get source code. must show terms know rights. Developers use GNU GPL protect rights two steps: (1) assert copyright software, (2) offer License giving legal permission copy, distribute /modify . developers’ authors’ protection, GPL clearly explains warranty free software. users’ authors’ sake, GPL requires modified versions marked changed, problems attributed erroneously authors previous versions. devices designed deny users access install run modified versions software inside , although manufacturer can . fundamentally incompatible aim protecting users’ freedom change software. systematic pattern abuse occurs area products individuals use, precisely unacceptable. Therefore, designed version GPL prohibit practice products. problems arise substantially domains, stand ready extend provision domains future versions GPL, needed protect freedom users. Finally, every program threatened constantly software patents. States allow patents restrict development use software general-purpose computers, , wish avoid special danger patents applied free program make effectively proprietary. prevent , GPL assures patents used render program non-free. precise terms conditions copying, distribution modification follow.","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_0-definitions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"0. Definitions","title":"GNU General Public License","text":"“License” refers version 3 GNU General Public License. “Copyright” also means copyright-like laws apply kinds works, semiconductor masks. “Program” refers copyrightable work licensed License. licensee addressed “”. “Licensees” “recipients” may individuals organizations. “modify” work means copy adapt part work fashion requiring copyright permission, making exact copy. resulting work called “modified version” earlier work work “based ” earlier work. “covered work” means either unmodified Program work based Program. “propagate” work means anything , without permission, make directly secondarily liable infringement applicable copyright law, except executing computer modifying private copy. Propagation includes copying, distribution (without modification), making available public, countries activities well. “convey” work means kind propagation enables parties make receive copies. Mere interaction user computer network, transfer copy, conveying. interactive user interface displays “Appropriate Legal Notices” extent includes convenient prominently visible feature (1) displays appropriate copyright notice, (2) tells user warranty work (except extent warranties provided), licensees may convey work License, view copy License. interface presents list user commands options, menu, prominent item list meets criterion.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_1-source-code","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"1. Source Code","title":"GNU General Public License","text":"“source code” work means preferred form work making modifications . “Object code” means non-source form work. “Standard Interface” means interface either official standard defined recognized standards body, , case interfaces specified particular programming language, one widely used among developers working language. “System Libraries” executable work include anything, work whole, () included normal form packaging Major Component, part Major Component, (b) serves enable use work Major Component, implement Standard Interface implementation available public source code form. “Major Component”, context, means major essential component (kernel, window system, ) specific operating system () executable work runs, compiler used produce work, object code interpreter used run . “Corresponding Source” work object code form means source code needed generate, install, (executable work) run object code modify work, including scripts control activities. However, include work’s System Libraries, general-purpose tools generally available free programs used unmodified performing activities part work. example, Corresponding Source includes interface definition files associated source files work, source code shared libraries dynamically linked subprograms work specifically designed require, intimate data communication control flow subprograms parts work. Corresponding Source need include anything users can regenerate automatically parts Corresponding Source. Corresponding Source work source code form work.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_2-basic-permissions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"2. Basic Permissions","title":"GNU General Public License","text":"rights granted License granted term copyright Program, irrevocable provided stated conditions met. License explicitly affirms unlimited permission run unmodified Program. output running covered work covered License output, given content, constitutes covered work. License acknowledges rights fair use equivalent, provided copyright law. may make, run propagate covered works convey, without conditions long license otherwise remains force. may convey covered works others sole purpose make modifications exclusively , provide facilities running works, provided comply terms License conveying material control copyright. thus making running covered works must exclusively behalf, direction control, terms prohibit making copies copyrighted material outside relationship . Conveying circumstances permitted solely conditions stated . Sublicensing allowed; section 10 makes unnecessary.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_3-protecting-users-legal-rights-from-anti-circumvention-law","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"3. Protecting Users’ Legal Rights From Anti-Circumvention Law","title":"GNU General Public License","text":"covered work shall deemed part effective technological measure applicable law fulfilling obligations article 11 WIPO copyright treaty adopted 20 December 1996, similar laws prohibiting restricting circumvention measures. convey covered work, waive legal power forbid circumvention technological measures extent circumvention effected exercising rights License respect covered work, disclaim intention limit operation modification work means enforcing, work’s users, third parties’ legal rights forbid circumvention technological measures.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_4-conveying-verbatim-copies","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"4. Conveying Verbatim Copies","title":"GNU General Public License","text":"may convey verbatim copies Program’s source code receive , medium, provided conspicuously appropriately publish copy appropriate copyright notice; keep intact notices stating License non-permissive terms added accord section 7 apply code; keep intact notices absence warranty; give recipients copy License along Program. may charge price price copy convey, may offer support warranty protection fee.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_5-conveying-modified-source-versions","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"5. Conveying Modified Source Versions","title":"GNU General Public License","text":"may convey work based Program, modifications produce Program, form source code terms section 4, provided also meet conditions: ) work must carry prominent notices stating modified , giving relevant date. b) work must carry prominent notices stating released License conditions added section 7. requirement modifies requirement section 4 “keep intact notices”. c) must license entire work, whole, License anyone comes possession copy. License therefore apply, along applicable section 7 additional terms, whole work, parts, regardless packaged. License gives permission license work way, invalidate permission separately received . d) work interactive user interfaces, must display Appropriate Legal Notices; however, Program interactive interfaces display Appropriate Legal Notices, work need make . compilation covered work separate independent works, nature extensions covered work, combined form larger program, volume storage distribution medium, called “aggregate” compilation resulting copyright used limit access legal rights compilation’s users beyond individual works permit. Inclusion covered work aggregate cause License apply parts aggregate.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_6-conveying-non-source-forms","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"6. Conveying Non-Source Forms","title":"GNU General Public License","text":"may convey covered work object code form terms sections 4 5, provided also convey machine-readable Corresponding Source terms License, one ways: ) Convey object code , embodied , physical product (including physical distribution medium), accompanied Corresponding Source fixed durable physical medium customarily used software interchange. b) Convey object code , embodied , physical product (including physical distribution medium), accompanied written offer, valid least three years valid long offer spare parts customer support product model, give anyone possesses object code either (1) copy Corresponding Source software product covered License, durable physical medium customarily used software interchange, price reasonable cost physically performing conveying source, (2) access copy Corresponding Source network server charge. c) Convey individual copies object code copy written offer provide Corresponding Source. alternative allowed occasionally noncommercially, received object code offer, accord subsection 6b. d) Convey object code offering access designated place (gratis charge), offer equivalent access Corresponding Source way place charge. need require recipients copy Corresponding Source along object code. place copy object code network server, Corresponding Source may different server (operated third party) supports equivalent copying facilities, provided maintain clear directions next object code saying find Corresponding Source. Regardless server hosts Corresponding Source, remain obligated ensure available long needed satisfy requirements. e) Convey object code using peer--peer transmission, provided inform peers object code Corresponding Source work offered general public charge subsection 6d. separable portion object code, whose source code excluded Corresponding Source System Library, need included conveying object code work. “User Product” either (1) “consumer product”, means tangible personal property normally used personal, family, household purposes, (2) anything designed sold incorporation dwelling. determining whether product consumer product, doubtful cases shall resolved favor coverage. particular product received particular user, “normally used” refers typical common use class product, regardless status particular user way particular user actually uses, expects expected use, product. product consumer product regardless whether product substantial commercial, industrial non-consumer uses, unless uses represent significant mode use product. “Installation Information” User Product means methods, procedures, authorization keys, information required install execute modified versions covered work User Product modified version Corresponding Source. information must suffice ensure continued functioning modified object code case prevented interfered solely modification made. convey object code work section , , specifically use , User Product, conveying occurs part transaction right possession use User Product transferred recipient perpetuity fixed term (regardless transaction characterized), Corresponding Source conveyed section must accompanied Installation Information. requirement apply neither third party retains ability install modified object code User Product (example, work installed ROM). requirement provide Installation Information include requirement continue provide support service, warranty, updates work modified installed recipient, User Product modified installed. Access network may denied modification materially adversely affects operation network violates rules protocols communication across network. Corresponding Source conveyed, Installation Information provided, accord section must format publicly documented (implementation available public source code form), must require special password key unpacking, reading copying.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_7-additional-terms","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"7. Additional Terms","title":"GNU General Public License","text":"“Additional permissions” terms supplement terms License making exceptions one conditions. Additional permissions applicable entire Program shall treated though included License, extent valid applicable law. additional permissions apply part Program, part may used separately permissions, entire Program remains governed License without regard additional permissions. convey copy covered work, may option remove additional permissions copy, part . (Additional permissions may written require removal certain cases modify work.) may place additional permissions material, added covered work, can give appropriate copyright permission. Notwithstanding provision License, material add covered work, may (authorized copyright holders material) supplement terms License terms: ) Disclaiming warranty limiting liability differently terms sections 15 16 License; b) Requiring preservation specified reasonable legal notices author attributions material Appropriate Legal Notices displayed works containing ; c) Prohibiting misrepresentation origin material, requiring modified versions material marked reasonable ways different original version; d) Limiting use publicity purposes names licensors authors material; e) Declining grant rights trademark law use trade names, trademarks, service marks; f) Requiring indemnification licensors authors material anyone conveys material (modified versions ) contractual assumptions liability recipient, liability contractual assumptions directly impose licensors authors. non-permissive additional terms considered “restrictions” within meaning section 10. Program received , part , contains notice stating governed License along term restriction, may remove term. license document contains restriction permits relicensing conveying License, may add covered work material governed terms license document, provided restriction survive relicensing conveying. add terms covered work accord section, must place, relevant source files, statement additional terms apply files, notice indicating find applicable terms. Additional terms, permissive non-permissive, may stated form separately written license, stated exceptions; requirements apply either way.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_8-termination","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"8. Termination","title":"GNU General Public License","text":"may propagate modify covered work except expressly provided License. attempt otherwise propagate modify void, automatically terminate rights License (including patent licenses granted third paragraph section 11). However, cease violation License, license particular copyright holder reinstated () provisionally, unless copyright holder explicitly finally terminates license, (b) permanently, copyright holder fails notify violation reasonable means prior 60 days cessation. Moreover, license particular copyright holder reinstated permanently copyright holder notifies violation reasonable means, first time received notice violation License (work) copyright holder, cure violation prior 30 days receipt notice. Termination rights section terminate licenses parties received copies rights License. rights terminated permanently reinstated, qualify receive new licenses material section 10.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_9-acceptance-not-required-for-having-copies","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"9. Acceptance Not Required for Having Copies","title":"GNU General Public License","text":"required accept License order receive run copy Program. Ancillary propagation covered work occurring solely consequence using peer--peer transmission receive copy likewise require acceptance. However, nothing License grants permission propagate modify covered work. actions infringe copyright accept License. Therefore, modifying propagating covered work, indicate acceptance License .","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_10-automatic-licensing-of-downstream-recipients","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"10. Automatic Licensing of Downstream Recipients","title":"GNU General Public License","text":"time convey covered work, recipient automatically receives license original licensors, run, modify propagate work, subject License. responsible enforcing compliance third parties License. “entity transaction” transaction transferring control organization, substantially assets one, subdividing organization, merging organizations. propagation covered work results entity transaction, party transaction receives copy work also receives whatever licenses work party’s predecessor interest give previous paragraph, plus right possession Corresponding Source work predecessor interest, predecessor can get reasonable efforts. may impose restrictions exercise rights granted affirmed License. example, may impose license fee, royalty, charge exercise rights granted License, may initiate litigation (including cross-claim counterclaim lawsuit) alleging patent claim infringed making, using, selling, offering sale, importing Program portion .","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_11-patents","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"11. Patents","title":"GNU General Public License","text":"“contributor” copyright holder authorizes use License Program work Program based. work thus licensed called contributor’s “contributor version”. contributor’s “essential patent claims” patent claims owned controlled contributor, whether already acquired hereafter acquired, infringed manner, permitted License, making, using, selling contributor version, include claims infringed consequence modification contributor version. purposes definition, “control” includes right grant patent sublicenses manner consistent requirements License. contributor grants non-exclusive, worldwide, royalty-free patent license contributor’s essential patent claims, make, use, sell, offer sale, import otherwise run, modify propagate contents contributor version. following three paragraphs, “patent license” express agreement commitment, however denominated, enforce patent (express permission practice patent covenant sue patent infringement). “grant” patent license party means make agreement commitment enforce patent party. convey covered work, knowingly relying patent license, Corresponding Source work available anyone copy, free charge terms License, publicly available network server readily accessible means, must either (1) cause Corresponding Source available, (2) arrange deprive benefit patent license particular work, (3) arrange, manner consistent requirements License, extend patent license downstream recipients. “Knowingly relying” means actual knowledge , patent license, conveying covered work country, recipient’s use covered work country, infringe one identifiable patents country reason believe valid. , pursuant connection single transaction arrangement, convey, propagate procuring conveyance , covered work, grant patent license parties receiving covered work authorizing use, propagate, modify convey specific copy covered work, patent license grant automatically extended recipients covered work works based . patent license “discriminatory” include within scope coverage, prohibits exercise , conditioned non-exercise one rights specifically granted License. may convey covered work party arrangement third party business distributing software, make payment third party based extent activity conveying work, third party grants, parties receive covered work , discriminatory patent license () connection copies covered work conveyed (copies made copies), (b) primarily connection specific products compilations contain covered work, unless entered arrangement, patent license granted, prior 28 March 2007. Nothing License shall construed excluding limiting implied license defenses infringement may otherwise available applicable patent law.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_12-no-surrender-of-others-freedom","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"12. No Surrender of Others’ Freedom","title":"GNU General Public License","text":"conditions imposed (whether court order, agreement otherwise) contradict conditions License, excuse conditions License. convey covered work satisfy simultaneously obligations License pertinent obligations, consequence may convey . example, agree terms obligate collect royalty conveying convey Program, way satisfy terms License refrain entirely conveying Program.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_13-use-with-the-gnu-affero-general-public-license","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"13. Use with the GNU Affero General Public License","title":"GNU General Public License","text":"Notwithstanding provision License, permission link combine covered work work licensed version 3 GNU Affero General Public License single combined work, convey resulting work. terms License continue apply part covered work, special requirements GNU Affero General Public License, section 13, concerning interaction network apply combination .","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_14-revised-versions-of-this-license","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"14. Revised Versions of this License","title":"GNU General Public License","text":"Free Software Foundation may publish revised /new versions GNU General Public License time time. new versions similar spirit present version, may differ detail address new problems concerns. version given distinguishing version number. Program specifies certain numbered version GNU General Public License “later version” applies , option following terms conditions either numbered version later version published Free Software Foundation. Program specify version number GNU General Public License, may choose version ever published Free Software Foundation. Program specifies proxy can decide future versions GNU General Public License can used, proxy’s public statement acceptance version permanently authorizes choose version Program. Later license versions may give additional different permissions. However, additional obligations imposed author copyright holder result choosing follow later version.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_15-disclaimer-of-warranty","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"15. Disclaimer of Warranty","title":"GNU General Public License","text":"WARRANTY PROGRAM, EXTENT PERMITTED APPLICABLE LAW. EXCEPT OTHERWISE STATED WRITING COPYRIGHT HOLDERS /PARTIES PROVIDE PROGRAM “” WITHOUT WARRANTY KIND, EITHER EXPRESSED IMPLIED, INCLUDING, LIMITED , IMPLIED WARRANTIES MERCHANTABILITY FITNESS PARTICULAR PURPOSE. ENTIRE RISK QUALITY PERFORMANCE PROGRAM . PROGRAM PROVE DEFECTIVE, ASSUME COST NECESSARY SERVICING, REPAIR CORRECTION.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_16-limitation-of-liability","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"16. Limitation of Liability","title":"GNU General Public License","text":"EVENT UNLESS REQUIRED APPLICABLE LAW AGREED WRITING COPYRIGHT HOLDER, PARTY MODIFIES /CONVEYS PROGRAM PERMITTED , LIABLE DAMAGES, INCLUDING GENERAL, SPECIAL, INCIDENTAL CONSEQUENTIAL DAMAGES ARISING USE INABILITY USE PROGRAM (INCLUDING LIMITED LOSS DATA DATA RENDERED INACCURATE LOSSES SUSTAINED THIRD PARTIES FAILURE PROGRAM OPERATE PROGRAMS), EVEN HOLDER PARTY ADVISED POSSIBILITY DAMAGES.","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"id_17-interpretation-of-sections-15-and-16","dir":"","previous_headings":"TERMS AND CONDITIONS","what":"17. Interpretation of Sections 15 and 16","title":"GNU General Public License","text":"disclaimer warranty limitation liability provided given local legal effect according terms, reviewing courts shall apply local law closely approximates absolute waiver civil liability connection Program, unless warranty assumption liability accompanies copy Program return fee. END TERMS CONDITIONS","code":""},{"path":"https://paul-carteron.github.io/happign/LICENSE.html","id":"how-to-apply-these-terms-to-your-new-programs","dir":"","previous_headings":"","what":"How to Apply These Terms to Your New Programs","title":"GNU General Public License","text":"develop new program, want greatest possible use public, best way achieve make free software everyone can redistribute change terms. , attach following notices program. safest attach start source file effectively state exclusion warranty; file least “copyright” line pointer full notice found. Also add information contact electronic paper mail. program terminal interaction, make output short notice like starts interactive mode: hypothetical commands show w show c show appropriate parts General Public License. course, program’s commands might different; GUI interface, use “box”. also get employer (work programmer) school, , sign “copyright disclaimer” program, necessary. information , apply follow GNU GPL, see . GNU General Public License permit incorporating program proprietary programs. program subroutine library, may consider useful permit linking proprietary applications library. want , use GNU Lesser General Public License instead License. first, please read .","code":" Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details."},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"before-starting","dir":"Articles","previous_headings":"","what":"Before starting","title":"Getting started with happign","text":"can load happign package, additional packages need (sf manipulate spatial data tmap create maps)","code":"library(happign) library(sf) library(tmap);tmap_mode(\"plot\") #> tmap mode set to plotting"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"wfs-wms-and-wmts-service","dir":"Articles","previous_headings":"","what":"WFS, WMS and WMTS service","title":"Getting started with happign","text":"happign use three web service IGN : WMS raster : data raster format e.g. images (.jpg, .png, .tif, …) WMTS : WMS raster images precalculated WFS : data vector format (.shp, …). detailed information available WMS, WMTS WFS. download data IGN web services least two elements needed : layer name ; input shape read sf package.","code":""},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"layer-name","dir":"Articles","previous_headings":"WFS, WMS and WMTS service","what":"Layer name","title":"Getting started with happign","text":"possible find names available layers IGN website. example, first layer name WFS format “Administratif” category “ADMINEXPRESS-COG-CARTO.LATEST:arrondissement” layer’s name can accessed R get_layers_metadata() function. one connects directly IGN site allows last updated resources. can used WMS WFS : can specify apikey focus specific category. API keys can directly retrieved IGN website expert web services get_apikeys() function.","code":"administratif_wfs <- get_layers_metadata(data_type = \"wfs\") administratif_wms <- get_layers_metadata(data_type = \"wms-r\") administratif_wms <- get_layers_metadata(data_type = \"wmts\") head(administratif_wfs) #> Name #> 1 OCS-GERS_BDD_LAMB93_2016:oscge_gers_32_2016 #> 2 OCS-GERS_BDD_LAMB93_2019:oscge_gers_32_2019 #> 3 ADMINEXPRESS-COG.LATEST:arrondissement #> 4 ADMINEXPRESS-COG.LATEST:arrondissement_municipal #> 5 ADMINEXPRESS-COG.LATEST:canton #> 6 ADMINEXPRESS-COG.LATEST:chflieu_arrondissement_municipal #> Title Abstract #> 1 OCSGE Gers 2016 OCSGE Gers 2016 #> 2 OCSGE Gers 2019 OCSGE Gers 2019 #> 3 ADMINEXPRESS COG 2023 édition 2023 #> 4 ADMINEXPRESS COG 2023 édition 2023 #> 5 ADMINEXPRESS COG 2023 édition 2023 #> 6 ADMINEXPRESS COG 2023 édition 2023 get_apikeys() #> [1] \"administratif\" \"adresse\" \"agriculture\" #> [4] \"altimetrie\" \"cartes\" \"cartovecto\" #> [7] \"clc\" \"economie\" \"enr\" #> [10] \"environnement\" \"geodesie\" \"lambert93\" #> [13] \"ocsge\" \"ortho\" \"orthohisto\" #> [16] \"parcellaire\" \"satellite\" \"sol\" #> [19] \"topographie\" \"transports\" administratif_wmts <- get_layers_metadata(\"wmts\", \"administratif\") head(administratif_wmts) #> Title #> 1 ADMINEXPRESS COG CARTO #> 2 ADMINEXPRESS COG #> 3 Limites administratives mises à jour en continu. #> Abstract #> 1 Limites administratives Express COG code officiel géographique 2023 #> 2 Limites administratives Express COG code officiel géographique. 2023 #> 3 Limites administratives mises à jour en continu ; Edition : 2024-03-25 #> Identifier #> 1 ADMINEXPRESS-COG-CARTO.LATEST #> 2 ADMINEXPRESS-COG.LATEST #> 3 LIMITES_ADMINISTRATIVES_EXPRESS.LATEST"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"downloading-the-data","dir":"Articles","previous_headings":"WFS, WMS and WMTS service","what":"Downloading the data","title":"Getting started with happign","text":"Now know get layer name, takes lines get plethora resources. example look beautiful town Penmarch France. part town stored shape happign.","code":"penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\"))"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"wfs","dir":"Articles","previous_headings":"WFS, WMS and WMTS service > Downloading the data","what":"WFS","title":"Getting started with happign","text":"get_wfs can used download borders : plot chunk unnamed-chunk-5 ’s simple ! Now rely curiosity explore multiple possibilities IGN offers. example, never wondered many hedges biodiversity Penmarch? Spoiler : 436 ! plot chunk unnamed-chunk-6","code":"penmarch_borders <- get_wfs(x = penmarch, layer = \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\") #> Features downloaded : 1 # Checking result tm_shape(penmarch_borders)+ tm_polygons(alpha = 0, lwd = 2)+ tm_shape(penmarch)+ tm_polygons(col = \"red\")+ tm_add_legend(type = \"fill\", border.col = \"black\", border.lwd =2, col = NA, labels = \"border from get_wfs\")+ tm_add_legend(type = \"fill\", col = \"red\", labels = \"penmarch shape from happign package\")+ tm_layout(main.title = \"Penmarch borders from IGN\", main.title.position = \"center\", legend.position = c(0.7, -0.1), outer.margins = c(0.1, 0,0,0), frame = FALSE) #> Legend labels were too wide. The labels have been resized to 0.61. Increase legend.width (argument of tm_layout) to make the legend wider and therefore the labels larger. hedges <- get_wfs(x = penmarch_borders, layer = \"BDTOPO_V3:haie\", spatial_filter = \"intersects\") #> Features downloaded : 436 # Checking result tm_shape(penmarch_borders) + # Borders of penmarch tm_borders(lwd = 2) + tm_shape(hedges) + # Point use to retrieve data tm_lines(col = \"red\", size = 0.3) + tm_add_legend(type = \"line\", label = \"Hedges\", col = \"red\") + tm_layout(main.title = \"Hedges recorded by the IGN in Penmarch\", main.title.position = \"center\", legend.position = c(\"right\", \"bottom\"), frame = FALSE)"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"wms-raster","dir":"Articles","previous_headings":"WFS, WMS and WMTS service > Downloading the data","what":"WMS raster","title":"Getting started with happign","text":"raster, process , function get_wms_raster(), need specify resolution (note must coordinate system crs parameter). ’s plenty elevation resources inside “altimetrie” category. basic one Digital Elevation Model (DEM MNT French). Borders Penmarch used download DEM. Note DEM, don’t want RGB image values pixels. rgb=FALSE used . plot chunk unnamed-chunk-7 Rq : Raster get_wms_raster() SpatRaster object terra package. learn conversion raster type R go check .","code":"layers_metadata <- get_layers_metadata(\"wms-r\", \"altimetrie\") dem_layer <- layers_metadata[2, 1] #LEVATION.ELEVATIONGRIDCOVERAGE mnt <- get_wms_raster(x = penmarch_borders, layer = dem_layer, res = 25, crs = 2154, rgb = FALSE) #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : C:\\Users\\PaulCarteron\\AppData\\Local\\Temp\\Rtmp63I4Tv\\filea98465250a.tif mnt[mnt < 0] <- NA # remove negative values in case of singularity tm_shape(mnt) + tm_raster(title = \"Elevation [m]\") + tm_shape(penmarch_borders)+ tm_borders(lwd = 2)+ tm_layout(main.title = \"DEM of Penmarch\", main.title.position = \"center\", legend.position = c(\"right\", \"bottom\"), legend.bg.color = \"white\", legend.bg.alpha = 0.7)"},{"path":"https://paul-carteron.github.io/happign/articles/Getting_started.html","id":"wmts","dir":"Articles","previous_headings":"WFS, WMS and WMTS service > Downloading the data","what":"WMTS","title":"Getting started with happign","text":"WMTS, resolution needed beacause images precalculated zoom level needed. higher zoom level , precis image . need visualisation, recommend use WMTS instead WMS. plot chunk unnamed-chunk-8","code":"layers_metadata <- get_layers_metadata(\"wmts\", \"ortho\") ortho_layer <- layers_metadata[1, 3] #HR.ORTHOIMAGERY.ORTHOPHOTOS hr_ortho <- get_wmts(x = penmarch_borders, layer = ortho_layer, zoom = 14) #> 0...10...20...30...40...50...60...70...80...90...100 - done. tm_shape(hr_ortho) + tm_rgb(title = \"Orthophoto Hight Resolution\") + tm_shape(penmarch_borders)+ tm_borders(lwd = 2)+ tm_layout(main.title = \"Orthophoto Hight Resolution\", main.title.position = \"center\", legend.position = c(\"right\", \"bottom\"), legend.bg.color = \"white\", legend.bg.alpha = 0.7)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"presentation","dir":"Articles > Web_only","previous_headings":"","what":"Presentation","title":"API Carto","text":"APIs carto developed automatically retrieve certain spatial information required administrative forms. main advantage APIs can queried without spatial data. get_wfs, use ECQL query ecql_filter argument can tricky. happign implements APIs carto get_apicarto_* functions.","code":""},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"api-carto-cadastre","dir":"Articles > Web_only","previous_headings":"Presentation","what":"API carto cadastre","title":"API Carto","text":"Documentation : https://apicarto.ign.fr/api/doc/cadastre API carto cadastre provides following informations : boundaries town (type = \"commune\") parcel sections divisions (type = \"section\" type = \"division\") cadastral parcels (type = \"cadastre\") information non-vectorized parcels (type = \"localisant\") least three parameters must set : x : indication location. shape, insee code departement code type : service want use? (see ) source : data source \"PCI\" “Parcellaire Express” \"BDP\" “BD Parcellaire”. BD Parcellaire product historical product longer updated. therefore strongly recommended use Parcellaire Express product updated every six months. parameters used refine query.","code":""},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"usage","dir":"Articles > Web_only","previous_headings":"Presentation > API carto cadastre","what":"Usage","title":"API Carto","text":"’ll start simple example : retrieve borders multiple town. get_apicaro_cadastre vectorized function, ’s possible set multiple insee code. know insee codes, can consult existing codes internal dataframe cog_2023. Another common case consists recovering geometry parcels “cadastral matrix extract”. latter lists owner built unbuilt properties owned commune. private information obtain one necessary ask extract top Center Land taxes. example false simplified cadastral matrix used.","code":"# all town starting with \"Plou\" plou_insee_code <- cog_2023[startsWith(cog_2023$LIBELLE, \"Plou\"), \"COM\"] plou_borders <- get_apicarto_cadastre(plou_insee_code, type = \"commune\") # result tm_shape(plou_borders)+ tm_borders(col = \"black\") cad_mat <- data.frame(CODE_DEP = rep(\"29\", 10), CODE_COM = rep(\"158\", 10), SECTION = rep(c(\"AX\", \"AV\"), each = 5), N_PARC = c(\"0001\",\"0002\",\"0003\",\"0004\",\"0005\", \"0116\",\"0117\",\"0118\",\"0119\",\"0120\")) parcels <- get_apicarto_cadastre(paste0(cad_mat$CODE_DEP, cad_mat$CODE_COM), section = cad_mat$SECTION, numero = cad_mat$N_PARC) tm_shape(parcels)+ tm_borders(col = \"black\")"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"api-carto-rpg","dir":"Articles > Web_only","previous_headings":"Presentation","what":"API carto RPG","title":"API Carto","text":"Documentation : https://apicarto.ign.fr/api/doc/rpg graphic parcel register (RPG) geographic information system (GIS) allowing identification agricultural parcels. useful authorities working agricultural development land management (community municipalities, watershed syndicate, etc.) need information characterization evolution agricultural area.","code":""},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"usage-1","dir":"Articles > Web_only","previous_headings":"Presentation > API carto RPG","what":"Usage","title":"API Carto","text":"Let’s start finding RPG Penmarc’h town years 2015. One limitations API carto RPG complex geometries, precise contours commune, supported. get around problem, get_apicarto_rpg allows simplify shape dTolerance parameter. method illustrated . function vectorized, mean query several years time possible. However, since 2014 format RPG changed. function therefore return list parcels 2014. example showing evolution RPG 2013 2016. also possible query culture code. , changes 2014; user documentation explains: “RPG version 1 (2014) value entered corresponds number contained CODE_CULTU attribute ILOTS_ANONYMS class value ranging 01 28 (0 mandatory values less 10). list crop codes can consulted content description RPG version 1.0. RPG version 2 value entered corresponds trigram contained attribute CODE_CULTU class PARCELLES_GRAPHIQUES respecting case (upper case). list crop codes can found content description GPR version 2.0.” example, let’s find potatoes, carrots leeks.","code":"penmarch <- get_apicarto_cadastre(\"29158\", type = \"commune\") #> Features downloaded : 1 rpg <- get_apicarto_rpg(penmarch, annee = 2015, dTolerance = 10) #> Features downloaded : 106 # plot result tm_shape(penmarch)+ tm_borders()+ tm_shape(rpg)+ tm_polygons(\"code_cultu\") all_years_rpg <- get_apicarto_rpg(penmarch, annee = 2013:2016, dTolerance = 10) #> Warning: Data before and after 2014 are different, a list is returned. # plot evolution of rpg since 2010 tm_shape(penmarch)+ tm_borders()+ tm_shape(all_years_rpg[[\"2013\"]])+ tm_polygons(group = \"2013\")+ tm_shape(all_years_rpg[[\"2014\"]])+ tm_polygons(group = \"2014\")+ tm_shape(all_years_rpg[[\"2015\"]])+ tm_polygons(group = \"2015\")+ tm_shape(all_years_rpg[[\"2016\"]])+ tm_polygons(group = \"2016\") rpg <- get_apicarto_rpg(penmarch, annee = 2020, code_cultu = c(\"PTC\", \"CAR\", \"POR\"), dTolerance = 10) tm_shape(rpg)+ tm_polygons(\"code_cultu\", palette = c(\"orange\", \"springgreen\", \"gold\")) #> Warning: The shape rpg is invalid. See sf::st_is_valid"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"api-carto-urbanism","dir":"Articles > Web_only","previous_headings":"Presentation","what":"API carto urbanism","title":"API Carto","text":"Documentation : https://apicarto.ign.fr/api/doc/gpu API carto GPU allows obtain urban planning information intersecting geometry. Beware, municipalities geoportal urbanism!","code":""},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"rnu","dir":"Articles > Web_only","previous_headings":"Presentation > API carto urbanism","what":"RNU","title":"API Carto","text":"First , can check commune National Urbanism Regulation insee code. RNU fully apply communes neither local map local urban plan (PLU, PLUi) document replacement PLU.","code":"is_rnu <- get_apicarto_gpu(\"29158\", ressource = \"municipality\") #> Features downloaded : 1 is_rnu$is_rnu #> [1] FALSE # Penmarch is under the RNU and therefore has a document of urbanism is_rnu <- get_apicarto_gpu(\"23004\", ressource = \"municipality\") #> Features downloaded : 1 is_rnu$is_rnu #> [1] TRUE # Anzeme is under the RNU and therefore has a town planning document"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"plu-plui-pos-cc-psmv","dir":"Articles > Web_only","previous_headings":"Presentation > API carto urbanism","what":"PLU, PLUi, POS, CC, PSMV","title":"API Carto","text":"Urban planning documents can take several forms: * PLU : Local Urbanism Plan * PLUi : Intercommunal Local Urbanism Plan * POS : Land use plan * PSMV : Plan Safeguarding Development * CC : Communal map first step find urban planning document available case, find document’s partition .e. ID : Now partition recovered, possible obtain several resources specific document. different resources available specified documentation function ?get_apicarto_gpu() get_apicarto_gpu vectorized, many resources can returned time. allows identify prescriptions example :","code":"# find out if documents are available penmarch <- get_apicarto_cadastre(\"29158\", \"commune\") doc <- get_apicarto_gpu(penmarch, \"document\", dTolerance = 10) # complex geometry handle with dTolerance # Because NULL is returned, it means that penmarch dont have available urban planning document lanildut <- get_apicarto_cadastre(\"29112\", \"commune\") doc <- get_apicarto_gpu(lanildut, \"document\", dTolerance = 10) # complex geometry handle with dTolerance # Six documents are available inside the geometry. # In reality, only one document exists for the commune of lanildut but because borders are not coherent with urban planning document, several communes are returned. partition <- doc |> filter(grid_title == \"LANILDUT\") |> pull(partition) zone_urba <- get_apicarto_gpu(partition, ressource = \"zone-urba\") # click on polygon for legend tm_shape(zone_urba)+ tm_polygons(\"libelong\", legend.show = FALSE) ressources <- c(\"prescription-lin\", \"prescription-pct\") prescriptions <- get_apicarto_gpu(partition, ressource = ressources, dTolerance = 10) #> Warning: Resources have different attributes and cannot be joined. List is #> returned. tm_shape(prescriptions[[1]])+ tm_lines(\"libelle\", legend.col.show = FALSE, lwd = 2)+ tm_shape(prescriptions[[2]])+ tm_dots(\"libelle\", legend.show = FALSE, size = 0.1)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/api_carto.html","id":"api-carto-appellations-viticoles","dir":"Articles > Web_only","previous_headings":"Presentation","what":"API carto “Appellations viticoles”","title":"API Carto","text":"Documentation : https://apicarto.ign.fr/api/doc/aoc api returns shape : * “Appellation d’origine contrôlée” (AOC) * Protected geographical indication areas (IGP) * Wine growing areas without geographical indication (VSIG) function quite simple use, shape needed. Let’s find many wine appellations Finistère, France (spoiler, VSIG ie wines without geographical indication, prefer microbreweries).","code":"viticole <- get_apicarto_viticole(penmarch, dTolerance = 10) # plot result tm_shape(viticole)+ tm_borders() finistere <- get_wfs(penmarch, \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:departement\") # finistere borders are quite complex, and dTolerance cant be used. In this case convex hull of shape # can be used with intersection of the results convex_finistere <- st_convex_hull(finistere) viticole <- get_apicarto_viticole(convex_finistere) |> st_intersection(finistere) #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries # plot result tm_shape(viticole)+ tm_polygons(\"appellation\")+ tm_shape(finistere)+ tm_borders()"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"first-choose-a-zone-of-interest","dir":"Articles > Web_only","previous_headings":"","what":"First choose a zone of interest","title":"happign for foresters","text":"example work Camors forest. First need commune border can obtained insee code. Fortunately, happign provides table containing insee codes (data(\"cog_2023\")). , get_apicarto_commune used download shape Apicarto commune. way getting borders without apicarto use ECQL language directly query IGN WFS geoservers.","code":"data(\"cog_2023\") insee_code <- cog_2023[grepl(\"^Camors\", cog_2023$LIBELLE),1] borders <- get_apicarto_cadastre(insee_code, type = \"commune\") #> Features downloaded : 1 tm_shape(borders)+ tm_borders()+ tm_text(\"nom_com\") borders2 <- get_wfs(layer = \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\", spatial_filter = \"intersects\", ecql_filter = \"nom_m LIKE 'CAMORS'\") #> Features downloaded : 1"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"download-cadastral-parcel","dir":"Articles > Web_only","previous_headings":"","what":"Download cadastral parcel","title":"happign for foresters","text":"Cadastral parcels essential forest manager download get_wfs. Rq : IGN WFS can return maximum 1000 features. get_wfs() function overrides limit performing several consecutive requests console show","code":"layers <- get_layers_metadata(\"wfs\", \"parcellaire\") parcellaire_layer <- layers[15,1] # \"CADASTRALPARCELS.PARCELLAIRE_EXPRESS:parcelle\" parcellaire <- get_wfs(x = borders, spatial_filter = \"intersects\", layer = parcellaire_layer) #> Features downloaded : 1000...2000...3000...3490 tm_shape(borders)+ tm_borders(col = \"red\", lwd = 2)+ tm_shape(parcellaire)+ tm_polygons(alpha = 0)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"downloading-bd-forêt","dir":"Articles > Web_only","previous_headings":"","what":"Downloading BD Forêt","title":"happign for foresters","text":"first interesting layer forester “BD Forêt” vegetation type assigned area greater equal 0.5 ha (5,000 m²). two layer forest : old one BD Forêt V1 new one BD Forêt V2 can accessed “burger menu” top left interactive map . calculations can done can see :","code":"layers <- get_layers_metadata(\"wfs\", \"environnement\") BDF1_layer <- layers[4,1] BDF2_layer <- layers[5,1] BDF1 <- get_wfs(borders, BDF1_layer, spatial_filter = \"intersects\") #> Features downloaded : 102 BDF2 <- get_wfs(borders, BDF2_layer, spatial_filter = \"intersects\") #> Features downloaded : 221 tm_shape(BDF1) + tm_polygons(col = \"libelle\", popup.vars = names(BDF1)[1:(ncol(BDF1)-2)], legend.show = FALSE)+ tm_shape(BDF2) + tm_polygons(col = \"tfv\", alpha = 0.5, popup.vars = names(BDF2)[1:(ncol(BDF2)-2)], legend.show = FALSE) + tm_shape(borders) + tm_borders(lwd = 2) forest_type_BDF2 <- BDF2 |> mutate(area = as.numeric(st_area(geometry))) |> st_drop_geometry() |> group_by(essence) |> summarise(sum_area = sum(area)/10000) |> arrange(desc(sum_area)) |> mutate(essence = as.factor(essence)) ggplot()+ geom_col(data = forest_type_BDF2, aes(x = rev(reorder(essence, sum_area)), y = sum_area, fill = as.factor(essence)))+ theme_bw()+ labs(title = \"Surface couverte par essences [ha]\", y = \"Surface [ha]\", fill = \"Essence :\")+ theme(axis.text.x = element_blank())"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"detect-protected-area","dir":"Articles > Web_only","previous_headings":"","what":"Detect protected area","title":"happign for foresters","text":"One information really want work forest management zone interest inside protected area. example code design automatically test every layer starting “PROTECTED” can sure . , can click map, point shape informations.","code":"protected_area_layers <- get_layers_metadata(\"wfs\", \"environnement\") |> filter(grepl(\"^PROTECTED\", Name)) |> pull(Name) all_protected_area <- map(.x = protected_area_layers, .f = ~ try(get_wfs(borders, .x, spatial_filter = \"intersects\"))) |> set_names(protected_area_layers) |> discard(~ identical(length(.), 0L)) # Plot the result tm_shape(all_protected_area[[1]])+ tm_dots(group = \"Point rencontre des secours en forêts\", col = \"red\")+ tm_shape(all_protected_area[[2]])+ tm_polygons(group = \"Znieff 2\", alpha = 0.8, col = \"blue\")+ tm_shape(borders,is.master = TRUE) + tm_borders(lwd = 2)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"mns-mnt-and-mnh","dir":"Articles > Web_only","previous_headings":"","what":"MNS, MNT and MNH…","title":"happign for foresters","text":"’s always good know terrain topologie. IGN offers MNT MNS download. reminder, MNT corresponds surface ground MNS real surface (case, trees). thus easy find height trees subtracting DTM MNS.","code":"layers <- get_layers_metadata(\"wms-r\", \"altimetrie\") mnt_layer <- layers[3,1] # \"ELEVATION.ELEVATIONGRIDCOVERAGE.HIGHRES\" mns_layer <- layers[4,1] # \"ELEVATION.ELEVATIONGRIDCOVERAGE.HIGHRES.MNS\" mnt <- get_wms_raster(borders, mnt_layer, res = 5, crs = 2154, rgb = FALSE) #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : /private/var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/RtmpyHyiOD/file365e49848ca2.tif mns <- get_wms_raster(borders, mns_layer, res = 5, crs = 2154, rgb = FALSE) #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : /private/var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/RtmpyHyiOD/file365e76bcb58b.tif level_curve <- get_wfs(borders, \"ELEVATION.CONTOUR.LINE:courbe\", spatial_filter = \"intersects\") |> st_intersection(borders) #> Features downloaded : 120 #> although coordinates are longitude/latitude, st_intersection assumes that they #> are planar #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries # Calculate digital height model i.e. tree height mnh <- mns - mnt mnh[mnh < 0] <- NA # Remove negative value mnh[mnh > 50] <- 40 # Remove height more than 50m tm_shape(mnh) + tm_raster(style = \"cont\", title = \"Height\", palette = \"-Spectral\", colorNA = \"grey\", showNA = F) + tm_shape(level_curve)+ tm_lines(col = \"black\")+ tm_shape(borders)+ tm_borders(lwd = 2, col = \"red\") #> stars object downsampled to 1027 by 974 cells. See tm_shape manual (argument raster.downsample)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"ndvi","dir":"Articles > Web_only","previous_headings":"","what":"NDVI","title":"happign for foresters","text":"code present calculation NDVI. informations palette come website value range NDVI -1 1. (Near Infrared - Red) / (Near Infrared + Red) : Water low reflectance red, almost NIR (near infrared) reflectance. difference small negative, sum small, NDVI large negative. Plants low reflectance red, strong NIR reflectance. difference large positive, sum just difference, NDVI large positive. Categories somewhat arbitrary, can find various rules thumb, : Negative values NDVI (values approaching -1) correspond water. Values close zero (-0.1 0.1) generally correspond barren areas rock, sand, snow. Low, positive values represent shrub grassland (approximately 0.2 0.4), high values indicate temperate tropical rainforests (values approaching 1). low values NDVI (0.1 ) correspond water, barren areas rock, sand, snow. Moderate values represent shrub grassland (0.2 0.3), high values indicate temperate tropical rainforests (0.6 0.8).","code":"# To show the 20cm resolution possibility for IRC, let's take only the biggest parcels biggest_parcels <- parcellaire |> mutate(area = st_area(geometry)) |> slice_max(area) irc <- get_wms_raster(biggest_parcels, res = 0.2, layer = \"ORTHOIMAGERY.ORTHOPHOTOS.IRC\") #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : /private/var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/RtmpyHyiOD/file365e599043c5.tif # calculate ndvi from near_infrared and infrared ndvi_fun <- function(nir, red){ (nir - red) / (nir + red) } ndvi <- lapp(irc[[c(1, 2)]], fun = ndvi_fun) # palette for plotting breaks_ndvi <- c(-1,-0.2,-0.1,0,0.025 ,0.05,0.075,0.1,0.125,0.15,0.175,0.2 ,0.25 ,0.3 ,0.35,0.4,0.45,0.5,0.55,0.6,1) palette_ndvi <- c(\"#BFBFBF\",\"#DBDBDB\",\"#FFFFE0\",\"#FFFACC\",\"#EDE8B5\",\"#DED99C\",\"#CCC782\",\"#BDB86B\",\"#B0C261\",\"#A3CC59\",\"#91BF52\",\"#80B347\",\"#70A340\",\"#619636\",\"#4F8A2E\",\"#407D24\",\"#306E1C\",\"#216112\",\"#0F540A\",\"#004500\") tm_shape(borders)+ tm_borders(lwd = 2, col = \"red\")+ tm_shape(ndvi)+ tm_raster(stretch.palette = F, style = \"cont\", title = \"NDVI\", breaks = breaks_ndvi, palette = palette_ndvi, colorNA = NULL)+ tm_shape(biggest_parcels, is.master = TRUE)+ tm_borders(lwd = 2, col = \"blue\") #> stars object downsampled to 1082 by 924 cells. See tm_shape manual (argument raster.downsample) #> Warning: Breaks contains positive and negative values. Better is to use #> diverging scale instead, or set auto.palette.mapping to FALSE."},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"the-gloss-index","dir":"Articles > Web_only","previous_headings":"","what":"The gloss index","title":"happign for foresters","text":"gloss index represents average image glosses. index therefore sensitive brightness soil, related moisture presence salts surface. characterizes especially albedo (solar radiation reflected back atmosphere). gloss index allows us estimate whether observed surface feature light dark.","code":"# calculate gloss_index from near_infrared and infrared gloss_fun <- function(nir, red){ sqrt(red^2 + nir^2) } gloss_index <- lapp(irc[[c(1, 2)]], fun = gloss_fun) tm_shape(borders)+ tm_borders(lwd = 2, col = \"red\")+ tm_shape(gloss_index)+ tm_raster(style = \"cont\", title = \"GLOSS INDEX\")+ tm_shape(biggest_parcels, is.master = T)+ tm_borders(lwd = 2, col = \"blue\") #> stars object downsampled to 1082 by 924 cells. See tm_shape manual (argument raster.downsample)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"info-on-raster","dir":"Articles > Web_only","previous_headings":"The gloss index","what":"Info on raster","title":"happign for foresters","text":"resources, essential additional information order use properly. example, forest field, date picture taken important object study dynamic. function get_location_info() allows get, exist, additional information raster layers. Warning : point supported. Rq : Note function returns shape default. metadata required, can speed response time setting read_sf FALSE. find queryable layers apikey can use are_queryable(apikey) call function get_location_info indicates orthophoto taken 2019-05-14. cases, function can used retrieve resources explicitly available. example, vector layers public forests, raster layer. However, additional information requested, outline forest returned.","code":"info_sup <- get_location_info(x = st_centroid(borders), apikey = \"ortho\", layer = \"ORTHOIMAGERY.ORTHOPHOTOS.BDORTHO\", read_sf = F) #> Warning: st_centroid assumes attributes are constant over geometries #> Warning in st_centroid.sfc(st_geometry(x), of_largest_polygon = #> of_largest_polygon): st_centroid does not give correct centroids for #> longitude/latitude data info_sup$date_vol #> [1] \"2022-07-08Z\" x <- st_sfc(st_point(c(-3.549957, 47.83396)), crs = 4326) # Carnoet forest forest <- get_location_info(x, apikey = \"environnement\", layer = \"FORETS.PUBLIQUES\", read_sf = TRUE) tm_shape(forest)+ tm_borders()+ tm_shape(x)+ tm_dots(size = 0.05, col = \"red\")"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"last-but-not-least-bd-topo","dir":"Articles > Web_only","previous_headings":"","what":"Last but not least… BD Topo","title":"happign for foresters","text":"BD topo IGN covers coherent way geographical administrative entities national territory. can find : Administrative (boundaries administrative units); Addresses (mailing addresses) ; Building (constructions) ; Hydrography (water-related features) ; Named places (place locality toponym describing natural space inhabited place); Land use (vegetation, foreshore, hedge); Services activities (utilities, energy storage transportation, industrial sites); Transportation (road, rail air infrastructure, routes); Regulated areas (areas subject specific regulations). example choose download water-related data :","code":"cour_eau <- get_wfs(borders, \"BDTOPO_V3:cours_d_eau\") |> st_intersection(borders) #> Features downloaded : 45 #> although coordinates are longitude/latitude, st_intersection assumes that they #> are planar #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries detail_hydro <- get_wfs(borders, \"BDTOPO_V3:detail_hydrographique\") |> st_intersection(borders) #> Features downloaded : 25 #> although coordinates are longitude/latitude, st_intersection assumes that they #> are planar #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries # water detected by satellite surf_hydro <- get_wfs(borders, \"BDTOPO_V3:surface_hydrographique\") |> st_intersection(borders) #> Features downloaded : 85 #> although coordinates are longitude/latitude, st_intersection assumes that they #> are planar #> Warning: attribute variables are assumed to be spatially constant throughout #> all geometries tm_shape(cour_eau)+ tm_lines(col = \"blue\")+ tm_shape(detail_hydro)+ tm_dots(col = \"red\")+ tm_shape(surf_hydro)+ tm_polygons(\"steelblue\")+ tm_shape(borders)+ tm_borders(lwd = 2)"},{"path":"https://paul-carteron.github.io/happign/articles/web_only/happign_for_foresters.html","id":"what-about-history","dir":"Articles > Web_only","previous_headings":"","what":"What about history ?","title":"happign for foresters","text":"“Etat-major” map general map France made, first version, 19th century. get :","code":"etat_major <- get_wms_raster(x = borders, res = 1, layer = \"GEOGRAPHICALGRIDSYSTEMS.ETATMAJOR40\") #> 0...10...20...30...40...50...60...70...80...90...100 - done. #> Raster is saved at : /private/var/folders/3m/p59k4qdj0f17st0gn2cmj3640000gn/T/RtmpyHyiOD/file365e2c3e7b.tif # raster is very large and tmap cannot plot it. Convert to stars as below allow for quick plotting # saving raster to disk allow full resolution visualisation : writeRaster(etat_major, \"test.tif\") etat_major <- st_as_stars(etat_major, ignore_file = TRUE) tm_shape(etat_major)+ tm_rgb()+ tm_shape(borders)+ tm_borders(lwd = 3, col = \"red\") #> stars object downsampled to 1028 by 974 cells. See tm_shape manual (argument raster.downsample)"},{"path":"https://paul-carteron.github.io/happign/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Paul Carteron. Author, maintainer.","code":""},{"path":"https://paul-carteron.github.io/happign/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Carteron P (2024). happign: R Interface 'IGN' Web Services. R package version 0.3.0, https://paul-carteron.github.io/happign/, https://github.com/paul-carteron.","code":"@Manual{, title = {happign: R Interface to 'IGN' Web Services}, author = {Paul Carteron}, year = {2024}, note = {R package version 0.3.0, https://paul-carteron.github.io/happign/}, url = {https://github.com/paul-carteron}, }"},{"path":[]},{"path":"https://paul-carteron.github.io/happign/index.html","id":"happign---ign-data-from-r","dir":"","previous_headings":"","what":"happign - IGN data from R","title":"R Interface to IGN Web Services","text":"goal happign facilitate use Web Services API IGN (French National Institute Geographic Forestry Information). happign allow downloading : Shapefile via use WFS service APIcarto ; Raster via use WMS raster service","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"context","dir":"","previous_headings":"","what":"Context","title":"R Interface to IGN Web Services","text":"Since January 1, 2021, French National Institute Geographic Forestry Information (IGN) opened access data French topography, infrastructure, terrain freely available. opening IGN data Etalab 2.0 open license means free access use . facilitate accessibility, IGN implemented set APIs Web services based OGC standards. Despite well supplied documentation, use APIs Web services remains complex set R. happign package created make easier.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"rights-of-use-for-ign-data","dir":"","previous_headings":"","what":"Rights of use for IGN data","title":"R Interface to IGN Web Services","text":"Data IGN geoservice website free available open license according principle Etalab 2.0 license since January 1, 2021. data complete IGN’s open data policy since June 1st, 2021. SCAN 25®, SCAN 100® SCAN OACI data free download stream, professional individual wishing develop commercial paper digital offer general public pay fee according General Conditions Use.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"R Interface to IGN Web Services","text":"can install released version happign CRAN : development version GitHub :","code":"install.packages(\"happign\") # install.packages(\"devtools\") devtools::install_github(\"paul-carteron/happign\")"},{"path":"https://paul-carteron.github.io/happign/index.html","id":"vignettes","dir":"","previous_headings":"","what":"Vignettes","title":"R Interface to IGN Web Services","text":"Package vignettes : Getting started happign : brief intro happign world ; happign foresters : focus possibilities offered happign forestry ; API carto : use API Carto happign ;","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"future-features","dir":"","previous_headings":"","what":"Future features","title":"R Interface to IGN Web Services","text":"IGN offers services. implementation R development : Implement isochrone isodistance calculation","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"problems-and-issues","dir":"","previous_headings":"","what":"Problems and Issues","title":"R Interface to IGN Web Services","text":"Please report issues bugs may encounter dedicated page github.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"system-requirements","dir":"","previous_headings":"","what":"System Requirements","title":"R Interface to IGN Web Services","text":"happign requires R v >= 4.1.0.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"why-its-called-happign-","dir":"","previous_headings":"","what":"Why it’s called happign ?","title":"R Interface to IGN Web Services","text":"project - obviously - called happign; ’s : “ign” stand … IGN : acronym institute ; “api” stand … API : one interface used retrieve data; addition “h” another “p” pun “happy”. Besides fact love kind humor, simplified use APIs real source happiness, trust . Also, attentive details, can see logo green leaf stuck teeth charming smile. none leaf IGN logo.","code":""},{"path":"https://paul-carteron.github.io/happign/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"R Interface to IGN Web Services","text":"Please note happign project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/are_queryable.html","id":null,"dir":"Reference","previous_headings":"","what":"are_queryable — are_queryable","title":"are_queryable — are_queryable","text":"Check wms layer queryable GetFeatureInfo.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/are_queryable.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"are_queryable — are_queryable","text":"","code":"are_queryable(apikey)"},{"path":"https://paul-carteron.github.io/happign/reference/are_queryable.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"are_queryable — are_queryable","text":"apikey API key get_apikeys() directly IGN website","code":""},{"path":"https://paul-carteron.github.io/happign/reference/are_queryable.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"are_queryable — are_queryable","text":"character containing name queryable layers","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/cog_2023.html","id":null,"dir":"Reference","previous_headings":"","what":"COG 2023 — cog_2023","title":"COG 2023 — cog_2023","text":"dataset containing insee code wording commune January 1, 2023. COG mean Code Officiel Géographique","code":""},{"path":"https://paul-carteron.github.io/happign/reference/cog_2023.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"COG 2023 — cog_2023","text":"","code":"cog_2023"},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/cog_2023.html","id":"cog-","dir":"Reference","previous_headings":"","what":"cog_2023","title":"COG 2023 — cog_2023","text":"data frame 34990 rows 2 columns: COM insee code LIBELLE Name commune","code":""},{"path":"https://paul-carteron.github.io/happign/reference/cog_2023.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"COG 2023 — cog_2023","text":"https://www.insee.fr/fr/information/6800675","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto Cadastre — get_apicarto_cadastre","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"Implementation cadastre module IGN's apicarto","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"","code":"get_apicarto_cadastre(x, type = \"parcelle\", source = \"PCI\", section = list(NULL), numero = list(NULL), code_arr = list(NULL), code_abs = list(NULL), code_com = list(NULL), dTolerance = 0)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"x can shape, insee codes departement codes : Shape : must object class sf sfc. Code insee : must character length 5 Code departement : must character length 2 3 (DOM-TOM) type character \"parcelle\", \"commune\", \"feuille\", \"division\", \"localisant\" source Can \"BDP\" BD Parcellaire \"PCI\" Parcellaire express. See detail info. section character length 2 numero character length 4 code_arr character corresponding district code Paris, Lyon, Marseille code_abs character corresponding code absorbed commune. prefix useful differentiate communes merged code_com character length 5 corresponding commune code. use type = \"division\" type = \"feuille\" dTolerance numeric; Complex shape handle API; using dTolerance allow simplify . See ?sf::st_simplify","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"Object class sf","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"x, section, numero, code_arr, code_abs, code_com can take vector character. case vector recycling done. See example section . source: BD Parcellaire discontinued product. use longer recommended longer updated. use PCI Express strongly recommended become mandatory. information comparison two products can found ","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_cadastre.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto Cadastre — get_apicarto_cadastre","text":"","code":"if (FALSE) { library(sf) # shape from the town of penmarch penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) # get commune borders ## from shape penmarch_borders <- get_apicarto_cadastre(penmarch, type = \"commune\") ## from insee_code border <- get_apicarto_cadastre(\"29158\", type = \"commune\") borders <- get_apicarto_cadastre(c(\"29158\", \"29165\"), type = \"commune\") # get cadastral parcels ## from shape parcels <- get_apicarto_cadastre(penmarch, section = \"AX\") ## from insee code parcels <- get_apicarto_cadastre(\"29158\") # Use parameter recycling ## get sections \"AX\" parcels from multiple insee_code parcels <- get_apicarto_cadastre(c(\"29158\", \"29165\"), section = \"AX\") ## get parcels numbered \"0001\", \"0010\" of section \"AX\" and \"BR\" section <- c(\"AX\", \"BR\") numero <- rep(c(\"0001\", \"0010\"), each = 2) parcels <- get_apicarto_cadastre(\"29158\", section = section, numero = numero) ## generalization with expand.grid params <- expand.grid(code_insee = c(\"29158\", \"29165\"), section = c(\"AX\", \"BR\"), numero = c(\"0001\", \"0010\"), stringsAsFactors = FALSE) parcels <- get_apicarto_cadastre(params$code_insee, section = params$section, numero = params$numero) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto Codes Postaux — get_apicarto_codes_postaux","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"Implementation \"Codes Postaux\" module IGN's apicarto. API give information commune postal code.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"","code":"get_apicarto_codes_postaux(code_post)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"code_post character corresponding postal code commune","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"Object class data.frame","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_codes_postaux.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto Codes Postaux — get_apicarto_codes_postaux","text":"","code":"if (FALSE) { info_commune <- get_apicarto_codes_postaux(\"29760\") code_post <- c(\"29760\", \"29260\") info_communes <- get_apicarto_codes_postaux(code_post) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"Apicarto module Geoportail de l'urbanisme","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"","code":"get_apicarto_gpu(x, ressource = \"zone-urba\", categorie = list(NULL), dTolerance = 0)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"x object class sf sfc geometric intersection. Otherwise character corresponding GPU partition insee code ressource set municipality. ressource character list : \"document\", \"zone-urba\", \"secteur-cc\", \"prescription-surf\", \"prescription-lin\", \"prescription-pct\", \"info-surf\", \"info-lin\", \"info-pct\". See detail info. categorie public utility easement according national nomenclature dTolerance numeric; Complex shape handle API; using dTolerance allow simplify . See ?sf::st_simplify","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"object class sf df","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"/!\\ moment API returned 5000 features. existing parameters ressource : \"municipality : information communes (commune RNU, merged commune) \"document' : information urban planning documents (POS, PLU, PLUi, CC, PSMV) \"zone-urba\" : zoning urban planning documents, \"secteur-cc\" : communal map sectors \"prescription-surf\", \"prescription-lin\", \"prescription-pct\" : 's constraint possibility indicated urban planning document (PLU, PLUi, ...) \"info-surf\", \"info-lin\", \"info-pct\" : 's information indicated urban planning document (PLU, PLUi, ...) \"acte-sup\" : act establishing SUP \"generateur-sup-s\", \"generateur-sup-l\", \"generateur-sup-p\" : entity (site monument, watercourse, water catchment, electricity gas distribution electricity gas, etc.) generates surrounding SUP (passage, alignment, protection, land reservation, etc.) \"assiette-sup-s\", \"assiette-sup-l\", \"assiette-sup-p\" : spatial area SUP applies.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_gpu.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto module Geoportail de l'urbanisme — get_apicarto_gpu","text":"","code":"if (FALSE) { library(sf) # find if commune is under the RNU (national urbanism regulation) rnu <- get_apicarto_gpu(\"93014\", \"municipality\") rnu$is_rnu # get urbanism document x <- get_apicarto_cadastre(\"93014\", \"commune\") document <- get_apicarto_gpu(x, ressource = \"document\") partition <- document$partition # get gpu features ## from shape gpu <- get_apicarto_gpu(x, ressource = \"zone-urba\") ## from partition gpu <- get_apicarto_gpu(\"DU_93014\", ressource = \"zone-urba\") # example : all prescriptions ressources <- c(\"prescription-surf\", \"prescription-lin\", \"prescription-pct\") prescriptions <- get_apicarto_gpu(\"DU_93014\", ressource = ressources) # example : public utility servitude (SUP) assiette assiette_sup_s <- get_apicarto_gpu(x, ressource = \"assiette-sup-s\") protection_forest <- get_apicarto_gpu(x, ressource = \"assiette-sup-s\", categorie = \"A7\") # example : public utility servitude (SUP) generateur ## /!\\ a generator can justify several assiette ressources <- c(\"generateur-sup-p\", \"generateur-sup-l\", \"generateur-sup-s\") all_gen <- get_apicarto_gpu(x, ressource = ressources) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"Implementation \"RPG\" module IGN's apicarto. function wrapper around version 1 2 API.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"","code":"get_apicarto_rpg(x, annee, code_cultu = list(NULL), dTolerance = 0)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"x Object class sf. Needs located France. annee numeric 2010 2021 code_cultu character corresponding code culture, see detail. dTolerance numeric; tolerance parameter. value dTolerance must specified meters, see detail.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"list object class sf","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"Since 2014 culture code changed format. value ranging \"01\" \"28\", trigram (ex : \"MIE\"). info can found documentation page dTolerance needed geometry complex. parameter found sf::st_simlplify.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_rpg.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto RPG (Registre Parcellaire Graphique) — get_apicarto_rpg","text":"","code":"if (FALSE) { library(sf) penmarch <- get_apicarto_cadastre(\"29158\", type = \"commune\") # failure with too complex geom rpg <- get_apicarto_rpg(penmarch, 2020) # avoid complex data by setting dTolerance rpg <- get_apicarto_rpg(penmarch, 2020, dTolerance = 10) # multiple years after 2014 rpg <- get_apicarto_rpg(x, 2020:2021, dTolerance = 10) # years before and after 2014 # list is returned because attributs are different rpg <- get_apicarto_rpg(x, c(2010, 2021), dTolerance = 10) # filter by code_cultu rpg <- get_apicarto_rpg(x, 2021, code_cultu = \"MIE\", dTolerance = 10) # all \"MIE\" from 2020 and all \"PPH\" from 2021 rpg <- get_apicarto_rpg(x, 2020:2021, code_cultu = c(\"MIE\", \"PPH\"), dTolerance = 10) # vectorization : all \"MIE\" from 2020 and 2021 rpg <- get_apicarto_rpg(x, 2020:2021, code_cultu = \"MIE\", dTolerance = 10) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":null,"dir":"Reference","previous_headings":"","what":"Apicarto Appellations viticoles — get_apicarto_viticole","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"Implementation \"Appellations viticoles\" module IGN's apicarto. module uses database maintained FranceAgriMer. database includes : appellation d'origine contrôlée (AOC) areas, protected geographical indication areas (IGP) wine growing areas without geographical indications (VSIG)","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"","code":"get_apicarto_viticole(x, dTolerance = 0)"},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"x Object class sf. Needs located France. dTolerance numeric; tolerance parameter. value dTolerance must specified meters, see ?sf::st_simplify info.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"Object class sf","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"/!\\ moment API returned 1000 features.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apicarto_viticole.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Apicarto Appellations viticoles — get_apicarto_viticole","text":"","code":"if (FALSE) { library(sf) penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) VSIG <- get_apicarto_viticole(penmarch) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_apikeys.html","id":null,"dir":"Reference","previous_headings":"","what":"List of all API keys from IGN — get_apikeys","title":"List of all API keys from IGN — get_apikeys","text":"API keys manually extract table provided IGN.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apikeys.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List of all API keys from IGN — get_apikeys","text":"","code":"get_apikeys()"},{"path":"https://paul-carteron.github.io/happign/reference/get_apikeys.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List of all API keys from IGN — get_apikeys","text":"character","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_apikeys.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List of all API keys from IGN — get_apikeys","text":"","code":"if (FALSE) { # One API key get_apikeys()[1] # All API keys get_apikeys() }"},{"path":"https://paul-carteron.github.io/happign/reference/get_last_news.html","id":null,"dir":"Reference","previous_headings":"","what":"Print latest news from geoservice website — get_last_news","title":"Print latest news from geoservice website — get_last_news","text":"function wrapper around RSS feed geoservice site get latest information.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_last_news.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Print latest news from geoservice website — get_last_news","text":"","code":"get_last_news()"},{"path":"https://paul-carteron.github.io/happign/reference/get_last_news.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Print latest news from geoservice website — get_last_news","text":"message error","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_last_news.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Print latest news from geoservice website — get_last_news","text":"","code":"if (FALSE) { get_last_news() }"},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":null,"dir":"Reference","previous_headings":"","what":"Metadata for one couple of apikey and data_type — get_layers_metadata","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"Metadata retrieved using IGN APIs. execution time can long depending size metadata associated API key overload IGN servers.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"","code":"get_layers_metadata(data_type, apikey = NULL)"},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"data_type \"wfs\", \"wms-r\" \"wmts\". See details information Web services formats. apikey API key get_apikeys() directly IGN website","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"data.frame","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"\"wfs\" : Web Feature Service designed return data vector format (line, point, polygon, ...) ; \"wms-r\" : Web Map Service focuses raster data ; \"wmts\" : Web Map Tile Service similar WMS, instead serving maps single images, WMTS serves maps dividing map pyramid tiles multiple scales.","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/get_layers_metadata.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Metadata for one couple of apikey and data_type — get_layers_metadata","text":"","code":"if (FALSE) { # Get all metadata for a datatype metadata_table <- get_layers_metadata(\"wms-r\") # Get all \"administratif\" wms layers apikey <- get_apikeys()[1] #administratif admin_layers <- get_layers_metadata(\"wms-r\", apikey) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":null,"dir":"Reference","previous_headings":"","what":"Retrieve additional information for wms layer — get_location_info","title":"Retrieve additional information for wms layer — get_location_info","text":"wms layer information can found GetFeatureInfo request. function first check info available. , available layers returned.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Retrieve additional information for wms layer — get_location_info","text":"","code":"get_location_info(x, apikey = \"ortho\", layer = \"ORTHOIMAGERY.ORTHOPHOTOS\", read_sf = TRUE, version = \"1.3.0\")"},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Retrieve additional information for wms layer — get_location_info","text":"x Object class sf sfc. single point supported now. Needs located France. apikey character; API key get_apikeys() directly IGN website layer character; layer name obtained get_layers_metadata(\"wms-r\") IGN website. read_sf logical; TRUE sf object returned response times may higher. version character; old param","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Retrieve additional information for wms layer — get_location_info","text":"character sf containing additional information layer","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_location_info.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Retrieve additional information for wms layer — get_location_info","text":"","code":"if (FALSE) { library(sf) library(tmap) # From single point x <- st_centroid(read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\"))) location_info <- get_location_info(x, \"ortho\", \"ORTHOIMAGERY.ORTHOPHOTOS\", read_sf = F) location_info$date_vol # From multiple point x1 <- st_sfc(st_point(c(-3.549957, 47.83396)), crs = 4326) # Carnoet forest x2 <- st_sfc(st_point(c(-3.745995, 47.99296)), crs = 4326) # Coatloch forest forests <- lapply(list(x1, x2), get_location_info, apikey = \"environnement\", layer = \"FORETS.PUBLIQUES\", read_sf = T) qtm(forests[[1]]) + qtm(forests[[2]]) # Find all queryable layers queryable_layers <- lapply(get_apikeys(), are_queryable) |> unlist() }"},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":null,"dir":"Reference","previous_headings":"","what":"Download raw LIDAR data — get_raw_lidar","title":"Download raw LIDAR data — get_raw_lidar","text":"Check raw LIDAR data available shape location. raw LIDAR data classified; correspond cloud point.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download raw LIDAR data — get_raw_lidar","text":"","code":"get_raw_lidar(x, destfile = \".\", grid_path = \".\", quiet = F)"},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download raw LIDAR data — get_raw_lidar","text":"x Object class sf sfc. Needs located France. destfile Folder path data downloaded. default set \".\" e.g. current directory grid_path Folder path grid downloaded. default set \".\" e.g. current directory quiet TRUE download silent","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download raw LIDAR data — get_raw_lidar","text":"object.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Download raw LIDAR data — get_raw_lidar","text":"get_raw_lidar() first download grid containing name LIDAR tiles intersected x determine ones uploaded. grid downloaded grid_path lidar data destfile. directory, function check grid data already exist avoid re-downloading .","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_raw_lidar.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download raw LIDAR data — get_raw_lidar","text":"","code":"if (FALSE) { library(sf) # Create shape x <- st_polygon(list(matrix(c(8.852234, 42.55466, 8.852234, 42.57289, 8.860474, 42.57289, 8.860474, 42.55466, 8.852234, 42.55466), ncol = 2, byrow = TRUE))) x <- st_sfc(x, crs = st_crs(4326)) # Download data to current directory get_raw_lidar(x) # Check all .laz file list.files(\".\", pattern = \".laz\", recursive = TRUE) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":null,"dir":"Reference","previous_headings":"","what":"Download WFS layer — get_wfs","title":"Download WFS layer — get_wfs","text":"Read simple features IGN Web Feature Service (WFS) location name layer.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download WFS layer — get_wfs","text":"","code":"get_wfs(x = NULL, layer = NULL, filename = NULL, spatial_filter = \"bbox\", ecql_filter = NULL, overwrite = FALSE, interactive = FALSE)"},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download WFS layer — get_wfs","text":"x Object class sf sfc. Needs located France. layer character; name layer get_layers_metadata(\"wfs\") directly IGN website filename character;Either string naming file connection open writing. (ex : \"test.shp\" \"~/test.shp\") spatial_filter character; spatial predicate ECQL language. See detail examples info. ecql_filter character; corresponding ECQL query. See detail examples info. overwrite logical; TRUE, file overwrite. interactive character; TRUE, need specify layer, ask.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download WFS layer — get_wfs","text":"sf object sf package NULL data.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Download WFS layer — get_wfs","text":"get_wfs use ECQL language : query language created OpenGeospatial Consortium. provide multiple spatial filter : \"intersects\", \"disjoint\", \"contains\", \"within\", \"touches\", \"crosses\", \"overlaps\", \"equals\", \"relate\", \"beyond\", \"dwithin\". \"relate\", \"beyond\", \"dwithin\", argument can provide using vector like : spatial_filter = c(\"dwithin\", distance, units). info ECQL language . ECQL query can provided ecql_filter. allows direct query IGN's WFS geoservers. x set, ecql_filter comes addition spatial_filter. info writing ECQL ","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download WFS layer — get_wfs","text":"","code":"if (FALSE) { library(sf) library(tmap) # Shape from the best town in France penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) # For quick testing, use interactive = TRUE shape <- get_wfs(x = penmarch, interactive = TRUE) ## Getting borders of best town in France metadata_table <- get_layers_metadata(\"wfs\", \"administratif\") layer <- metadata_table[32,1] # LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune # Downloading borders borders <- get_wfs(penmarch, layer) # Plotting result qtm(borders, fill = NULL, borders = \"firebrick\") # easy map # Get forest_area of the best town in France forest_area <- get_wfs(x = borders, layer = \"LANDCOVER.FORESTINVENTORY.V1:resu_bdv1_shape\") qtm(forest_area, fill = \"nom_typn\") # Using ECQL filters to query IGN server ## First find attributes of the layer attrs <- get_wfs_attributes(layer) ## e.g. : find all commune's name starting by \"plou\" plou_borders <- get_wfs(x = NULL, # When x is NULL, all France is query layer = \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\", ecql_filter = \"nom_m LIKE 'PLOU%'\") qtm(plou_borders) ## Combining ecql_filters plou_borders_inf_2000 <- get_wfs(x = NULL, # When x is NULL, all France is query layer = \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\", ecql_filter = \"nom_m LIKE 'PLOU%' AND population < 2000\") qtm(plou_borders)+ qtm(plou_borders_inf_2000, fill = \"red\") }"},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":null,"dir":"Reference","previous_headings":"","what":"get_wfs_attributes — get_wfs_attributes","title":"get_wfs_attributes — get_wfs_attributes","text":"Helper write ecql filter. Retrieve attributes layer.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"get_wfs_attributes — get_wfs_attributes","text":"","code":"get_wfs_attributes(layer = NULL, interactive = FALSE)"},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"get_wfs_attributes — get_wfs_attributes","text":"layer character; name layer get_layers_metadata(\"wfs\") directly IGN website interactive character; TRUE, need specify layer, ask.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"get_wfs_attributes — get_wfs_attributes","text":"charactervector layer attributes","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wfs_attributes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"get_wfs_attributes — get_wfs_attributes","text":"","code":"if (FALSE) { get_wfs_attributes(\"administratif\", \"LIMITES_ADMINISTRATIVES_EXPRESS.LATEST:commune\") # Interactive session get_wfs_attributes(interactive = TRUE) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":null,"dir":"Reference","previous_headings":"","what":"Download WMS raster layer — get_wms_raster","title":"Download WMS raster layer — get_wms_raster","text":"Download raster layer IGN Web Mapping Services (WMS). Specify location using shape provide layer name.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download WMS raster layer — get_wms_raster","text":"","code":"get_wms_raster(x, layer = \"ORTHOIMAGERY.ORTHOPHOTOS\", res = 10, crs = 2154, rgb = TRUE, filename = tempfile(fileext = \".tif\"), verbose = TRUE, overwrite = FALSE, interactive = FALSE)"},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download WMS raster layer — get_wms_raster","text":"x Object class sf sfc, located France. layer character; layer name obtained get_layers_metadata(\"wms-r\") IGN website. res numeric; resolution specified units coordinate system (e.g., meters EPSG:2154, degrees EPSG:4326). See details information. crs numeric, character, object class sf sfc; defaults EPSG:2154. See sf::st_crs() details. rgb boolean; set TRUE, downloads RGB image. set FALSE, downloads single band floating point values. See details information. filename character NULL; specifies filename open connection writing (e.g., \"test.tif\" \"~/test.tif\"). NULL, uses layer filename. default format \".tif\", GDAL drivers supported. verbose boolean; TRUE, message added. overwrite boolean; TRUE, existing raster overwritten. interactive logical; TRUE, interactive menu prompts apikey layer.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download WMS raster layer — get_wms_raster","text":"SpatRaster object terra package.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Download WMS raster layer — get_wms_raster","text":"res: Note setting res higher default resolution layer increase number pixels precision image. instance, downloading BD Alti layer IGN optimal resolution 25m. rgb: Rasters commonly used download images orthophotos. specific cases like DEMs, however, value per pixel essential. overwrite: function get_wms_raster first checks filename already exists. , file imported R without downloading , unless overwrite set TRUE.","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/get_wms_raster.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download WMS raster layer — get_wms_raster","text":"","code":"if (FALSE) { library(sf) library(tmap) # Shape from the best town in France penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) # For quick testing use interactive = TRUE raster <- get_wms_raster(x = penmarch, res = 25, interactive = TRUE) # For specific data, choose apikey with get_apikey() and layer with get_layers_metadata() apikey <- get_apikeys()[4] # altimetrie metadata_table <- get_layers_metadata(\"wms-r\", apikey) # all layers for altimetrie wms layer <- metadata_table[2,1] # ELEVATION.ELEVATIONGRIDCOVERAGE # Downloading digital elevation model values not image mnt_2154 <- get_wms_raster(penmarch, layer, res = 1, crs = 2154, rgb = FALSE) # If crs is set to 4326, res is in degrees mnt_4326 <- get_wms_raster(penmarch, layer, res = 0.0001, crs = 4326, rgb = FALSE) # Plotting result tm_shape(mnt_4326)+ tm_raster()+ tm_shape(penmarch)+ tm_borders(col = \"blue\", lwd = 3) }"},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":null,"dir":"Reference","previous_headings":"","what":"Download WMTS raster tiles — get_wmts","title":"Download WMTS raster tiles — get_wmts","text":"Download RGB raster layer IGN Web Map Tile Services (WMTS). WMTS focuses performance can query pre-calculated tiles.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download WMTS raster tiles — get_wmts","text":"","code":"get_wmts(x, layer = \"ORTHOIMAGERY.ORTHOPHOTOS\", zoom = 10L, crs = 2154, filename = tempfile(fileext = \".tif\"), overwrite = FALSE, interactive = FALSE)"},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download WMTS raster tiles — get_wmts","text":"x Object class sf sfc. Needs located France. layer character; layer name get_layers_metadata(apikey, \"wms\") directly IGN website. zoom integer 0 21; low zoom levels, small set map tiles covers large geographical area. words, smaller zoom level, less precise resolution. conversion zoom level resolution see WMTS IGN Documentation crs numeric, character, object class sf sfc. set EPSG:2154 default. See sf::st_crs() detail. filename character NULL; filename open connection writing. (ex : \"test.tif\" \"~/test.tif\"). NULL, layer used filename. Default drivers \".tif\" gdal drivers supported, see details info. overwrite TRUE, output raster overwrite. interactive logical; TRUE, interactive menu ask apikey layer.","code":""},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download WMTS raster tiles — get_wmts","text":"SpatRaster object terra package.","code":""},{"path":[]},{"path":"https://paul-carteron.github.io/happign/reference/get_wmts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download WMTS raster tiles — get_wmts","text":"","code":"if (FALSE) { library(sf) library(tmap) penmarch <- read_sf(system.file(\"extdata/penmarch.shp\", package = \"happign\")) # Get orthophoto layers <- get_layers_metadata(\"wmts\", \"ortho\")$Identifier ortho <- get_wmts(penmarch, layer = layers[1], zoom = 21) plotRGB(ortho) # Get all available irc images layers <- get_layers_metadata(\"wmts\", \"orthohisto\")$Identifier irc_names <- grep(\"irc\", layers, value = TRUE, ignore.case = TRUE) irc <- lapply(irc_names, function(x) get_wmts(penmarch, layer = x, zoom = 18)) |> setNames(irc_names) # remove empty layer (e.g. only NA) irc <- Filter(function(x) !all(is.na(values(x))), irc) # plot all_plots <- lapply(irc, plotRGB) }"},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-030","dir":"Changelog","previous_headings":"","what":"happign 0.3.0","title":"happign 0.3.0","text":"Refactor package adapt Géoplateforme","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"breaking-change--0-3-0","dir":"Changelog","previous_headings":"","what":"Breaking change :","title":"happign 0.3.0","text":"get_wms_raster(), get_wfs() get_wmts() use apikey arg anymore. Order arguments get_layers_metadata() changed. arg data_type now comes apikey. get_iso() temporary removed happign","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"other-change--0-3-0","dir":"Changelog","previous_headings":"","what":"Other change :","title":"happign 0.3.0","text":"Arg apikey isn’t mandatory anymore get_layers_metadata. Vignettes adapted happign 0.3.0. get_wms_raster() now verbose argument get_wms_raster() function uses WMS driver provided GDAL download raster image. Instead downloading merging multiple tiles, retrieves entire image WMS server.","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-022","dir":"Changelog","previous_headings":"","what":"happign 0.2.2","title":"happign 0.2.2","text":"CRAN release: 2023-11-29 Fix bug creating bbox get_wms_raster() getMap request crs isn’t latlong.","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-021","dir":"Changelog","previous_headings":"","what":"happign 0.2.1","title":"happign 0.2.1","text":"CRAN release: 2023-11-18 Fix get_wms_raster() #21. Now using vrt warping combine. Add support wmts get_layers_metadata()","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-020","dir":"Changelog","previous_headings":"","what":"happign 0.2.0","title":"happign 0.2.0","text":"CRAN release: 2023-08-07 get_wms_raster made faster using gdalwarp sf::gdal_utils. longer need download several tiles. update cog_2022 dataset cog_2023 remove get_apicarto_commune() now supported get_apicarto_cadastre() jsonlite used instead geojsonsf package shape -> x layer_name -> layer resolution -> res remove get_wms_info get_location_info apikey \"enr\" added","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-019","dir":"Changelog","previous_headings":"","what":"happign 0.1.9","title":"happign 0.1.9","text":"CRAN release: 2023-04-12 add get_apicarto_viticole() add get_apicarto_codes_postaux() add get_apicarto_rpg() rework get_apicarto_gpu() depreciation get_apicarto_commune() now supported get_apicarto_cadastre() rework get_last_news() remove dependency checkmate","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-018","dir":"Changelog","previous_headings":"","what":"happign 0.1.8","title":"happign 0.1.8","text":"CRAN release: 2023-01-30 Correction get_raw_lidar() New vignette “completion_of_ign_data_road_example” Pre-computation cran vignette Apply DRY principle option(“timeout”) handling Add “penmarch.shp” internal data test example Better handling filename saving get_wfs() Adding support spatial ecql filter get_wfs() Remove dependency magritrr pipe %>% |> Add internal shape testing point, multipoint, line, multiline, poly, multipoly add get_wfs_attributes() function NULL returned data found","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-017","dir":"Changelog","previous_headings":"","what":"happign 0.1.7","title":"happign 0.1.7","text":"CRAN release: 2022-11-18 Correct bug preventing get_apicarto_commune work dep insee code Adding 1 hour downloading get_wfs() big shape Remove connection IGN news library load. Now get_last_news() can used retrieve last news. Adding interactive parameter get_wfs get_wms_raster allow quick use Catch error get_raw_lidar Change complete vignette “happign forester” website Handling errors tryCatch get_apicarto_plu() now get_apicarto_gpu() : can handle complex shape access ressources APIcarto GPU consistency, now necessary add drivers filename get_wms_raster() like get_wfs(). automatic addition resolution filename removed simplicity.","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-016","dir":"Changelog","previous_headings":"","what":"happign 0.1.6","title":"happign 0.1.6","text":"CRAN release: 2022-09-16 get_wms_raster() use gdal sf::gdal_utils() downloading terra::vrt() merging quiet faster results. stars package used anymore. get_wms_raster() supports download big raster several gigabytes get_wms_raster() new crs argument New function get_raw_lidar() download raw lidar data New function get_apicarto_commune() download commune borders apicarto new dataset containing names communes associated insee code added Simplify get_layers_metadata() retrieve title, name, abstract Remove dependency tidyr new function get_raw_lidar() download raw lidar data IGN new function get_apicarto_commune download commune borders apicarto “cadastre” IGN","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-015","dir":"Changelog","previous_headings":"","what":"happign 0.1.5","title":"happign 0.1.5","text":"CRAN release: 2022-07-18 remove get_iso() remove dependency httr httr2 add get_wms_info() find metadata layer add get_apicarto_plu() (Plan Local d’Urbanisme) Rework get_wms_raster() Adding new apikey “ocsge” Better testing Add insee code package data data(\"code_insee\") get_apicarto_* now support MultiPolygon get_wms_raster now 1h downloading tile instead 1min (low connection)","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-014","dir":"Changelog","previous_headings":"","what":"happign 0.1.4","title":"happign 0.1.4","text":"CRAN release: 2022-04-25 Fix resolution get_wms_raster(). Depending shape resolution, multiple tile downloaded combine get right resolution. Also adding vignette Resolution raster explanation New start message based RSS flux IGN website warn user issues (slowdown, shutdown) news resources *get_wms_raster() now fix S2 geometry problems adding method mode argument download.file() freedom type download get_wms_raster() Completion happign_for_forester vignette adding first get_apicarto_* vectorized function cadastre adding shp_to_geojson() function avoid geojsonsf package dependency","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-013","dir":"Changelog","previous_headings":"","what":"happign 0.1.3","title":"happign 0.1.3","text":"CRAN release: 2022-03-01 adding connection isochrone isodistance calculation IGN get_iso() new vignette happign forester new vignette SCAN 25, SCAN 100 et SCAN OACI","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-012","dir":"Changelog","previous_headings":"","what":"happign 0.1.2","title":"happign 0.1.2","text":"CRAN release: 2022-02-01 adding filename argument get_wms_raster() get_wfs() allowing save data disk. new feature also overcomes problem connection WMS GDAL #1 Automatic weekly detection http errors WFS WMS APIs. Layers readable get_wms_raster()#1 also listed. adding data license IGN (etalab 2.0) readme","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-011","dir":"Changelog","previous_headings":"","what":"happign 0.1.1","title":"happign 0.1.1","text":"CRAN release: 2022-01-27 add function test internet connection availability IGN website loading happign) test improvement readme vignette improvement","code":""},{"path":"https://paul-carteron.github.io/happign/news/index.html","id":"happign-010","dir":"Changelog","previous_headings":"","what":"happign 0.1.0","title":"happign 0.1.0","text":"CRAN release: 2022-01-20 add interface WFS, WMS raster service get_wfs() get_wms_raster() add get_apikeys() get_layers_metadata() allow access metadata R","code":""}]