在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):publiclab/mapknitter开源软件地址(OpenSource Url):https://github.com/publiclab/mapknitter开源编程语言(OpenSource Language):Ruby 41.4%开源软件介绍(OpenSource Introduction):MapKnitterUse Public Lab's open source MapKnitter to upload your own aerial photographs (for example, those from balloon or kite mapping: https://publiclab.org/wiki/balloon-mapping) and combine them into:
Table of Contents
ArchitectureMapKnitter is broken into three major components:
Component 1 has been broken out into a new Leaflet plugin, Leaflet.DistortableImage, which allows for client-side, CSS3-based distortion of images over a Leaflet base map. Component 2 is a Ruby on Rails application which is the core of what you've looked at. It stores images, image corner locations, annotations, map details, and user accounts. Component 3 is a set of calls to an external application, MapKnitter Exporter, which performs the distortions and geolocations and produces export products like GeoTiff, TMS, JPG, etc. The external exporter service is built in a small Sinatra app at mapknitter-exporter-sinatra using the mapknitter-exporter gem. Requests for exports are sent and progress is tracked using the API. InstallationPlease consider which installation method you prefer. Cloud Installation requires fewer steps and is platform agnostic, but you may value working from your terminal, for familiarity, more. Cloud InstallationCloud installation is possible with GitPod using this link and is a fully-automated process: Standard InstallationPrerequisites for Standard InstallationMake sure you have the 3 prerequisites below installed before moving forward with the Installation Steps. Instructions are for an Ubuntu/Debian system. Varies slightly for mac/fedora/etc. macOS 10.14 users may need this: https://silvae86.github.io/2018/07/05/fixing-missing-headers-for-homebrew-in-mac-osx-mojave/ MySQLmacOS and Linux users, please reference MYSQL.md instead.
$ sudo apt-get install mysql-server
$ sudo apt-get install bundler libmysqlclient-dev imagemagick ruby-rmagick libfreeimage3 libfreeimage-dev ruby-dev libmagickcore-dev libmagickwand-dev
$ sudo apt-get install gdal-bin python-gdal curl libcurl4-openssl-dev libssl-dev zip ================== RVMThis is for RVM, but the alternative, rbenv, also works (instructions not listed here). Don't install RVM if you already have rbenv!
$ curl -L https://get.rvm.io | bash -s stable
$ rvm install 2.4.6 ================== YarnWe use Yarn as our package manager, and it is available through npm.
$ sudo apt-get install npm
$ sudo apt-get install nodejs-legacy
$ npm install -g yarn NOTE: Refer to this Stack Overflow question in case npm throws permission errors. ================== Installation StepsYou'll need Ruby v2.4.6 (use your local ruby version management system - RVM or rbenv - to install and set up locally).
================== Installation videoFor a run-through of the Prerequisites and Installation Steps listed above, you can watch the installation video at: http://youtu.be/iGYGpS8rZMY (it may be slightly out-of-date but gives an helpful overview of the entire installation process.) Windows InstallationWe recommend either working in a virtual environment or on a dual-booted system to avoid dependency issues. In addition, the Unix operating system works smoother with Ruby on Rails. Using a Linux or macOS will not only benefit you now with the Mapknitter project, but will also make your life easier while working on other Ruby projects in the future. Logging in when running locallyBecause MapKnitter uses a remote, OpenID login system that depends on PublicLab.org, it can be hard to log in when running it locally. To get around this, we've created a local login route that requires no password: You can log in locally at the path For this to work:
# basic account path - http://localhost:3000/local/harry
# created from:
User.create({login: 'harry', name: 'harry potter', email: '[email protected]'})
# admin account path - http://localhost:3000/local/albus
# created from:
u_admin = User.create({login: 'albus', name: 'albus dumbledore', email: '[email protected]', role: 'admin'}) Running testsWhen you try to run tests in MapKnitter, you can run the default Rake tasks, such as:
or simply:
Running tests of a specific file:
Running a single test from the test suite:
Bugs and supportTo report bugs and request features, please use the GitHub issue tracker provided at https://github.com/publiclab/mapknitter/issues For additional support, join the Public Lab mailing list at http://publiclab.org/lists or for urgent requests, email [email protected] For questions related to the use of this software and balloon or kite mapping, the mailing-list page above links to the "grassrootsmapping" discussion group. Code of ConductPlease read and abide by our Code of Conduct. Our community aspires to be a respectful place both during online and in-person interactions. DevelopersHelp improve Public Lab software!
Staging infrastructure and testingIn addition to automatic testing with Travis CI, we have a branch ( LicenseMapKnitter 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. MapKnitter 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 MapKnitter. If not, see http://www.gnu.org/licenses/. MapKnitter in depthMapKnitter is a free and open source software created and run by Public Lab. MapKnitter is hosted through a donation of server space by Rackspace. MapKnitter can make maps from any image source, but it particularly lends itself to making maps with balloons and kites. The manual process of making maps with MapKnitter differs greatly from automated aerial imaging systems. In those systems, the imaging is of higher precision and processed with spatial and telemetry data collected along with the imagery, typically at higher altitudes and with consistent image overlap in the flight path sequence. With MapKnitter, the cartographer dynamically places each image and selects which images to include in the mosaic. However, the approaches are similar in that they use some type of additional information (usually pre-existing imagery of a lower resolution) as a reference, and that they are bound to specific cartographic elements such as map scale and map projection. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论