Tartu, Estonia, present day
What is the
project about?
eXchange information about geocomputation
cross (X) pollinate ideas from one programming language for working with geographic data to another
host additional content on geocomputation with (X) other languages
Geocomputation with R, 2nd edition:
A comprehensive introduction to geocomputation using the R programming language
Consists of 3 parts: Foundations, Extensions, and Applications
Is based on a reproducible workflow with R Markdown and bookdown, etc.
Uses a hybrid publishing model:
Geocomputation with Python, 1st edition:
That is not the final book cover
Geocomputation with Python, 1st edition:
That is not the final book cover
Book readers (during the last 12 months): >100,000
GitHub stars (total): >1,800
Citations: >250
Courses/workshops:IS 616: Large Scale Data Analysis and Visualization, University of Mannheim, Germany; Geospatial Analysis in Economics with R, University of Göttingen, Germany; SOES3056 - Seascape Ecology, University of Southampton, UK; Geocomputation I, the City University of New York, USA; Advanced Research Methods, University of Barcelona, Spain; R for Earth-System Science, University of Oregon, USA; CASA0005 Geographic Information Systems and Science, University College London, England; ECS530 Analysing spatial data, Norwegian School of Economics, Norway; ESPM 288: Reproducible and Collaborative Data Science, Berkeley University of California, USA; CRD 298: Spatial Methods in Community Research, University of California, Davis, USA; CP6521 Advanced GIS, Georgia Tech, USA; Urban Data Analytics in R, University of North Carolina at Chapel Hill, USA; Geospatial Analytics, University of Leicester, UK; GEOG 28402 & 28403: Geographic Information Science II & III, University of Chicago, USA; …
Robin Lovelace, University of Leeds
Jannes Muenchow, Cynkra
Jakub Nowosad, Adam Mickiewicz University, Poznań
Michael Dorman, Ben-Gurion University of the Negev
Anita Graser, AIT Austrian Institute of Technology
Mireia Camacho, Oliver Leroy, Baba Yoshihiko
smkerr, adambhouston, ahmohil, andrewmaclachlan, andtheWings, anisotropi4, annakrystalli, appelmar, ateucher, BjnNowak, chihinl, cshancock, cuixueqin, darrellcarvalho, dcooley, dpprdan, e-clin, eblondel, ec-nebi, edzer, erstearns, eyesofbambi, FlorentBedecarratsNM, florisvdh, ganes1410, gavinsimpson, giocomai, gregor-d, Himanshuteli, howardbaek, iod-ine, Jakidxav, jasongrahn, jbixon13, jimr1603, JoshCole-DTA, JosiahParry, jtmiclat, kant, katiejolly, katygregg, KHwong12, KiranmayiV, krystof236, kwhkim, LaurieLBaker, layik, Lvulis, Makosak, marcosci, MarHer90, martinfleis, mateuszrydzik, mdsumner, MikeJohnPage, mpaulacaldas, mtennekes, mvl22, nickbearman, olyerickson, p-kono, pat-s, pokyah, prosoitos, richfitz, RobinKohrs, rsbivand, schuetzingit, sdesabbata, sgillies, tibbles-and-tribbles, tim-salabim, tszberkowitz, tylerlittlefield, vlarmet, VLucet, wdearden, yihui, yutannihilation, yvkschaefer, zmbc
tibbles-and-tribbles, florisvdh, katygregg, prosoitos, Lvulis, dhersz, erstearns, anisotropi4, darrellcarvalho, smkerr, cuixueqin, ghost, rsbivand, cc50liu, iod-ine, beingalink, cvitolo, gisma, EagleGeo, eblondel, Henrik-P, JannisLi, katiejolly, KHwong12, marcosci, mtennekes, SymbolixAU, zmbc, barryrowlingson, biscotty666, cshancock, dcsuh, e-clin, edzer, eyayaw, eyesofbambi, garethcao, giocomai, howardbaek, jimr1603, krystof236, kwhkim, layik, MarHer90, martinfleis, mateuszrydzik, mdsumner, nbruns, nickbearman, olyerickson, orlando-sabogal, pat-s, sdesabbata, SubasreeArvind, sy5938, tim-salabim, tylerlittlefield, vlarmet, yutannihilation, adambhouston, AdheraS, ahmohil, ALanguillaume, alankjackson, aloes2512, Altmic, andtheWings, angoodkind, annakrystalli, appelmar, ateucher, bchileen, BeBrian, BjnNowak, BlaiseKelly, Camil88, cbird999, chihinl, chrisjkuch, craig-shenton, cyenglish3, dataandcrowd, dcooley, dewoller, dmi3kno, DocOfi, donojazz, ec-nebi, EconGeo, egoipse, EhrmannS, ejokujona, ep142, etabeta78, fBedecarrats, FlorentBedecarratsNM, ganes1410, gavinsimpson, gbortz27, gregor-d, harryprince, hasukmistry, Himanshuteli, hxd1011, iDemirsoy, j-tamad, Jakidxav, jamietsakalos, jasongrahn, jbixon13, JBSP-code, jdiez, jeromemaiquez, jibcar, jldupouey, Jonkman1, JoshCole-DTA, JosiahParry, jpvillanuevac, jrosen48, jtmiclat, kant, karmaal2010, KiranmayiV, LaurieLBaker, LennertSchepers, Linlin-Sun, loreabad6, lwasser, mamereu, manab-prakash, marcelocarvalhoalves, maxpohlman, micha-silver, MikeJohnPage, mikejohnson51, mpadge, mpaulacaldas, mps9506, mvl22, myaseen208, neuwirthe, nreguera, p-kono, PanfengZhang, patperu, PauGallesClara, pembletonc, philipus, phungdo, pietrostefani, pokyah, pssguy, PublicHealthDataGeek, rasanderson, rCarto, richfitz, RobinKohrs, rriem, rs806, rywhale, schuetzingit, seanangio, selvaje, sgillies, Sreenath1986, stuartE9, talgalili, ThomasG77, tszberkowitz, vaulot, VishalAmbavade, VLucet, wacekk, WarthogARJ, wdearden, willet713, wirotela, yanbinghan, yihui, yvkschaefer, Zedseayou, znmeb
Publishing systems: R Markdown with bookdown, Quarto
Collaboration, version control, and continuous integration: GitHub, GitHub Actions with Docker
Hosting: Netlify
References: Zotero
R packages: geocompkg, spData
Larger changes or additions are discussed in issues, made in branches, and reviewed in pull requests
Poznań, Poland, June 2016
Robin and I first met in June 2016
“There is a lack of open-access materials related to spatial data analysis in R”
We imagined our younger selves from a few years back as the target audience of the book
Cincinnati, USA and Leeds, UK, March 2017
It took me more than two weeks to push the first sentence to the repository
=
vs <-
, package or package, etc.Jena, Germany, June 2017
Working the book in the open is a great motivator
It also enabled community contributions:
Three of us met face-to-face for the first time in 2018
Cincinnati, USA; Leeds, UK; Jena, Germany; and beyond, 2017+
Weddings, babies, git commits and other life events
We found ourselves working on projects in many different programming languages, including Python, C++, and Rust
We also wanted to continue sharing our knowledge with the community
It became clear that the ‘geocompr’ name was no longer appropriate for the more multilingual nature of the project
The geocompx name was born
Earth, 2024+
To give back
To learn and improve ourselves (writing is thinking, teaching is understanding)
To make a difference
To have a place to look for answers
To enjoy the creative process
To become famous and rich1
To build a reputation
(In my case) university support
The FOSS4G community is great
A lot of infrastructure for technical/scientific writing is already in place
Nowadays, there are many examples of successful FOSS4G books
Getting started
Some technical challenges, e.g., having consistent html and pdf versions, incorporating reviewers’ and copy editors’ comments to the book
Finding time
Getting feedback
Making decisions about the content (a trade-off between being timely and timeless)
Measuring impact (externalities)
Sustainability
Visit https://geocompx.org/ and https://github.com/geocompx and see what is there
Look at the books, blog posts, and other materials
If you find it useful:
https://quarto.org/ is a great tool for writing books, blog posts, and other materials1
Technical stuff is (mostly) easy: look at the source code of other works
(or just type quarto create
in your terminal)
Start small, but within a technical template
Think about the audience: you can be your own audience
Decision: self-publishing vs. publisher (also, a license)
Start with an outline, but don’t be afraid to change it later
Have a style guide
Write regularly – make it a habit
Write one sentence per line
Keep in touch with your co-authors
Give and receive feedback
Majority of contributors come and go
The project is a living thing
Keeping the energy up is crucial
Be kind and positive
Now, go and write!
THE END of THE PRESENTATION
geocompx will return
Social media