Merge branch 'develop'
44
README.md
|
@ -12,14 +12,30 @@ The CSV file must have
|
|||
|
||||
Additionally, the value of the column `category`, if present, will be used to select map pins from the map pins folder, if a suitable pin is present. Thus is the value of `category` is `foo`, a map pin image with the name `Foo-pin.png` will be selected.
|
||||
|
||||
## Passing CSV files to the app
|
||||
|
||||
### Loading them onto the server
|
||||
|
||||
If you run the server running **geocsv**, the simplest way to add CSV files is simply to copy them into the directory `resourcs/data`. The default file is the one named `data.csv`, which is the one that will be served if nothing else is specified. Other files can be specifiec by appending `?file=filename` to the URL; so if the URL of your geocsv service is
|
||||
|
||||
https://geocsv.example.com/
|
||||
|
||||
and the file you want to view is `myfile.csv`, then you would specify this as
|
||||
|
||||
https://geocsv.example.com/?file=myfile.csv
|
||||
|
||||
### Using a Google spreadsheet
|
||||
|
||||
If you use [Google Sheets](https://www.google.co.uk/sheets/about/), then every sheet has a 'document id', a long string of characters which uniquely identifies that sheet. Suppose your Google spreadsheet has a document id of `abcdefghijklmnopqrstuvwxyz-12345`, then you could pull data from this spreadsheet by specifying:
|
||||
|
||||
https://geocsv.example.com/?docid=abcdefghijklmnopqrstuvwxyz-12345
|
||||
|
||||
The spreadsheet **must** be publicly readable.
|
||||
|
||||
## Not yet working
|
||||
|
||||
GeoCSV is at an early stage of development, and some features are not yet working.
|
||||
|
||||
### Doesn't actually interpret CSV
|
||||
|
||||
I haven't yet found an easy way to parse CSV into EDN client side, so I've written a [separate library](https://github.com/simon-brooke/csv2edn) to do it server side. However, that library is not yet integrated. Currently the client side actually interprets JSON.
|
||||
|
||||
### Missing map pin images
|
||||
|
||||
At the current stage of development, if no appropriate image exists in the `resources/public/img/map-pins` folder, that's your problem. **TODO:** I intend at some point to make missing pin images default to `unknown-pin.png`, which does exist.
|
||||
|
@ -28,26 +44,6 @@ At the current stage of development, if no appropriate image exists in the `reso
|
|||
|
||||
Currently the map is initially centred roughly on the centre of Scotland, and scaled arbitrarily. It should compute an appropriate centre and scale from the data provided, but currently doesn't.
|
||||
|
||||
### There's no way of linking your own data feed
|
||||
|
||||
Currently, the data is taken from the file `resources/public/data/data.json`. What I intend is that you should have a form which allows you to either
|
||||
|
||||
1. enter [the `DOCID` of your own (publicly readable) Google Sheets spreadsheet](https://stackoverflow.com/questions/33713084/download-link-for-google-spreadsheets-csv-export-with-multiple-sheets);
|
||||
2. enter the URL of a CSV file publicly available on the web;
|
||||
3. upload a CSV file to the server.
|
||||
|
||||
### There's no way of shareing the map of your own data with other people
|
||||
|
||||
Currently, the data that is shared is just the data that's present when the app is compiled. Ideally, there should be a way of generating a URL, which might take the form:
|
||||
|
||||
https://server.name/geocsv/docid/564747867
|
||||
|
||||
To show data from the first sheet of the Google Sheets spreadsheet whose `DOCID` is 564747867; or
|
||||
|
||||
https://server.name/geocsv?uri=https://address.of.another.server/path/to/csv-file.csv
|
||||
|
||||
to show the content of a publicly available CSV file.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You will need [Leiningen][1] 2.0 or above installed.
|
||||
|
|
3
env/dev/resources/config.edn
vendored
|
@ -1 +1,2 @@
|
|||
{}
|
||||
{:prod false
|
||||
:port 3000}
|
||||
|
|
11
pom.xml.asc
Normal file
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQEzBAABCAAdFiEEgk5pWlj1vvTbfWCZp6TxjR1N+YcFAl4wte0ACgkQp6TxjR1N
|
||||
+YdU8wgA3OSP8XYP/mI5EAmuR11ryXwTspVgbwBxIK82m+xDwTLQE9Za0I4FdS+g
|
||||
RGEzo+S5LiYG1dD5fXkmtNr4WcnUJ7v5TFJZWE9eBAX3De0uVsksfF5u7F7I5oGy
|
||||
mciv/C8hxyM6AQE9OviWE5UtDbJT1NxaLmLZwiZrnG2uq5JDR7h+7N4exWM99g7u
|
||||
1FpHs/ed3ui+IIgsJdBnHsUBh8eOogvVmPpPePRIE8lQxoGzX/BTkZT3ed9xmdIF
|
||||
ruyXwgVc9tMzy2wYu05kbOCcYqGeJK94UtPUhOmPbs3Z6nGRaVH5zQb3kiRo4P+S
|
||||
KlAZkC9+sLY1mACD4JVjV1EWMAYOHg==
|
||||
=GbQE
|
||||
-----END PGP SIGNATURE-----
|
10
project.clj
|
@ -1,19 +1,23 @@
|
|||
(defproject geocsv "0.1.0-SNAPSHOT"
|
||||
(defproject geocsv "0.1.0"
|
||||
|
||||
:description "FIXME: write description"
|
||||
:description "A wee tool to show comma-separated value data on a map."
|
||||
:url "http://example.com/FIXME"
|
||||
|
||||
:dependencies [[ch.qos.logback/logback-classic "1.2.3"]
|
||||
:dependencies [[adl-support "0.1.6"]
|
||||
[ch.qos.logback/logback-classic "1.2.3"]
|
||||
[cheshire "5.9.0"]
|
||||
[cljs-ajax "0.8.0"]
|
||||
[cljsjs/leaflet "1.2.0-0"]
|
||||
[clojure.java-time "0.3.2"]
|
||||
[com.cemerick/url "0.1.1"]
|
||||
[com.cognitect/transit-clj "0.8.319"]
|
||||
[compojure "1.6.1"]
|
||||
[cprop "0.1.15"]
|
||||
[csv2edn "0.1.5"]
|
||||
[day8.re-frame/http-fx "0.1.6"]
|
||||
[expound "0.8.3"]
|
||||
[funcool/struct "1.4.0"]
|
||||
[lib-noir "0.9.9" :exclusions [org.clojure/tools.reader]]
|
||||
[luminus-jetty "0.1.7"]
|
||||
[luminus-transit "0.1.2"]
|
||||
[luminus/ring-ttl-session "0.3.3"]
|
||||
|
|
|
@ -1,31 +1,32 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Welcome to geocsv</title>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Welcome to geocsv</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="app">
|
||||
<section class="section">
|
||||
<div class="container is-fluid">
|
||||
<div class="content">
|
||||
<h4 class="title">Welcome to geocsv</h4>
|
||||
<p>If you're seeing this message, that means you haven't yet compiled your ClojureScript!</p>
|
||||
<p>Please run <code>lein figwheel</code> to start the ClojureScript compiler and reload the page.</p>
|
||||
<h4>For better ClojureScript development experience in Chrome follow these steps:</h4>
|
||||
<ul>
|
||||
<li>Open DevTools
|
||||
<li>Go to Settings ("three dots" icon in the upper right corner of DevTools > Menu > Settings F1 > General > Console)
|
||||
<li>Check-in "Enable custom formatters"
|
||||
<li>Close DevTools
|
||||
<li>Open DevTools
|
||||
</ul>
|
||||
<p>See <a href="http://www.luminusweb.net/docs/clojurescript.md">ClojureScript</a> documentation for further details.</p>
|
||||
</div>
|
||||
<div class="splash-screen">
|
||||
<div class="sk-fading-circle">
|
||||
<div class="sk-circle1 sk-circle"></div>
|
||||
<div class="sk-circle2 sk-circle"></div>
|
||||
<div class="sk-circle3 sk-circle"></div>
|
||||
<div class="sk-circle4 sk-circle"></div>
|
||||
<div class="sk-circle5 sk-circle"></div>
|
||||
<div class="sk-circle6 sk-circle"></div>
|
||||
<div class="sk-circle7 sk-circle"></div>
|
||||
<div class="sk-circle8 sk-circle"></div>
|
||||
<div class="sk-circle9 sk-circle"></div>
|
||||
<div class="sk-circle10 sk-circle"></div>
|
||||
<div class="sk-circle11 sk-circle"></div>
|
||||
<div class="sk-circle12 sk-circle"></div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<p class="footer">
|
||||
<b>geocsv</b> is loading.
|
||||
You must enable JavaScript to use <b>geocsv</b>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{% block foot %}
|
||||
|
@ -49,7 +50,7 @@
|
|||
{% style "/css/geocsv.css" %}
|
||||
|
||||
<script type="text/javascript">
|
||||
var csrfToken = "{{csrf-token}}";
|
||||
var csrfToken = "{{csrf-token}}";
|
||||
</script>
|
||||
<!-- scripts and styles -->
|
||||
<!-- ATTENTION \/ -->
|
||||
|
|
141
resources/public/css/spinner.css
Normal file
|
@ -0,0 +1,141 @@
|
|||
/*
|
||||
* Cribbed from http://tobiasahlin.com/spinkit/
|
||||
* (source here https://github.com/tobiasahlin/SpinKit)
|
||||
* Thanks Tobias!
|
||||
*/
|
||||
|
||||
.sk-fading-circle {
|
||||
margin: 100px auto;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.sk-fading-circle .sk-circle {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.sk-fading-circle .sk-circle:before {
|
||||
content: '';
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 15%;
|
||||
height: 15%;
|
||||
background-color: #3298dc;
|
||||
border-radius: 100%;
|
||||
-webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
|
||||
animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
|
||||
}
|
||||
.sk-fading-circle .sk-circle2 {
|
||||
-webkit-transform: rotate(30deg);
|
||||
-ms-transform: rotate(30deg);
|
||||
transform: rotate(30deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle3 {
|
||||
-webkit-transform: rotate(60deg);
|
||||
-ms-transform: rotate(60deg);
|
||||
transform: rotate(60deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle4 {
|
||||
-webkit-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle5 {
|
||||
-webkit-transform: rotate(120deg);
|
||||
-ms-transform: rotate(120deg);
|
||||
transform: rotate(120deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle6 {
|
||||
-webkit-transform: rotate(150deg);
|
||||
-ms-transform: rotate(150deg);
|
||||
transform: rotate(150deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle7 {
|
||||
-webkit-transform: rotate(180deg);
|
||||
-ms-transform: rotate(180deg);
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle8 {
|
||||
-webkit-transform: rotate(210deg);
|
||||
-ms-transform: rotate(210deg);
|
||||
transform: rotate(210deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle9 {
|
||||
-webkit-transform: rotate(240deg);
|
||||
-ms-transform: rotate(240deg);
|
||||
transform: rotate(240deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle10 {
|
||||
-webkit-transform: rotate(270deg);
|
||||
-ms-transform: rotate(270deg);
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle11 {
|
||||
-webkit-transform: rotate(300deg);
|
||||
-ms-transform: rotate(300deg);
|
||||
transform: rotate(300deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle12 {
|
||||
-webkit-transform: rotate(330deg);
|
||||
-ms-transform: rotate(330deg);
|
||||
transform: rotate(330deg);
|
||||
}
|
||||
.sk-fading-circle .sk-circle2:before {
|
||||
-webkit-animation-delay: -1.1s;
|
||||
animation-delay: -1.1s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle3:before {
|
||||
-webkit-animation-delay: -1s;
|
||||
animation-delay: -1s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle4:before {
|
||||
-webkit-animation-delay: -0.9s;
|
||||
animation-delay: -0.9s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle5:before {
|
||||
-webkit-animation-delay: -0.8s;
|
||||
animation-delay: -0.8s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle6:before {
|
||||
-webkit-animation-delay: -0.7s;
|
||||
animation-delay: -0.7s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle7:before {
|
||||
-webkit-animation-delay: -0.6s;
|
||||
animation-delay: -0.6s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle8:before {
|
||||
-webkit-animation-delay: -0.5s;
|
||||
animation-delay: -0.5s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle9:before {
|
||||
-webkit-animation-delay: -0.4s;
|
||||
animation-delay: -0.4s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle10:before {
|
||||
-webkit-animation-delay: -0.3s;
|
||||
animation-delay: -0.3s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle11:before {
|
||||
-webkit-animation-delay: -0.2s;
|
||||
animation-delay: -0.2s;
|
||||
}
|
||||
.sk-fading-circle .sk-circle12:before {
|
||||
-webkit-animation-delay: -0.1s;
|
||||
animation-delay: -0.1s;
|
||||
}
|
||||
|
||||
@-webkit-keyframes sk-circleFadeDelay {
|
||||
0%, 39%, 100% { opacity: 0; }
|
||||
40% { opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes sk-circleFadeDelay {
|
||||
0%, 39%, 100% { opacity: 0; }
|
||||
40% { opacity: 1; }
|
||||
}
|
BIN
resources/public/img/map-pins/Anchor-customer-pin.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
166
resources/public/img/map-pins/Anchor-customer-pin.svg
Normal file
|
@ -0,0 +1,166 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<!-- Icon created for SceneHere (c) 2010 Simon Brooke $Revision: 1.2 $ -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240.5"
|
||||
height="317.00851"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="Anchor-customer-pin.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/simon/workspace/geocsv/resources/public/img/map-pins/Anchor-customer-pin.png"
|
||||
inkscape:export-xdpi="11.98"
|
||||
inkscape:export-ydpi="11.98"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3155">
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3157" />
|
||||
<stop
|
||||
id="stop3163"
|
||||
offset="1"
|
||||
style="stop-color:#ffd200;stop-opacity:0.74789917;" />
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3159" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="-545.31499"
|
||||
inkscape:cy="-35.174076"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383"
|
||||
originx="-384.75"
|
||||
originy="-548.24148" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Basic pin for SceneHere</dc:title>
|
||||
<dc:date>20100801</dc:date>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Copyright (c) 2010 Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:identifier>basic_map_pin.svg</dc:identifier>
|
||||
<dc:description>
|
||||
Basic default map pin
|
||||
$Revision: 1.2 $
|
||||
</dc:description>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-384.75,-187.11218)">
|
||||
<path
|
||||
style="fill:#000080;fill-opacity:0.70403586;fill-rule:evenodd;stroke:#4f4f4f;stroke-width:10.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430,192.36218 150,0 c 20,1e-5 40,20.00001 40,40 l 0,150 c 0,20.00001 -20,40.00001 -40,40 l -40,0 c -20,0 -20,46.66667 -30,70 -13.33333,-23.33333 -20,-70 -40,-70 l -40,0 c -20,10e-6 -40,-19.99999 -40,-40 l 0,-150 c 0,-19.99999 20,-39.99999 40,-40 z"
|
||||
id="path2387"
|
||||
sodipodi:nodetypes="cccccccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g882"
|
||||
transform="matrix(0.540519,0,0,0.540519,400.41384,206.99039)">
|
||||
<g
|
||||
id="g825">
|
||||
<path
|
||||
id="path821"
|
||||
d="m 187.74,78.652 c -14.697,0 -26.655,-11.957 -26.655,-26.654 0,-14.698 11.958,-26.655 26.655,-26.655 14.698,0 26.655,11.957 26.655,26.655 0,14.697 -11.957,26.654 -26.655,26.654 z m 0,-45.309 c -10.286,0 -18.655,8.369 -18.655,18.655 0,10.286 8.369,18.654 18.655,18.654 10.287,0 18.655,-8.368 18.655,-18.654 0,-10.286 -8.368,-18.655 -18.655,-18.655 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path823"
|
||||
d="m 186.24,372.479 c -0.298,0 -0.596,-0.033 -0.889,-0.1 -38.095,-8.683 -65.694,-29.495 -82.14,-45.426 C 91.462,315.571 83.658,305.142 79.6,299.175 l -7.074,10.099 c -0.749,1.069 -1.973,1.705 -3.276,1.705 -0.015,0 -0.03,0 -0.046,0 -1.321,-0.016 -2.549,-0.682 -3.282,-1.781 -12.837,-19.252 -17.461,-42.672 -13.37,-67.729 3.07,-18.805 9.875,-31.807 10.163,-32.351 0.683,-1.289 2.012,-2.104 3.471,-2.128 0.021,-0.001 0.043,-0.001 0.064,-0.001 1.434,0 2.76,0.768 3.473,2.016 18.548,32.459 38.716,51.604 46.788,57.192 1.19,0.823 1.844,2.226 1.709,3.666 -0.136,1.44 -1.037,2.696 -2.359,3.283 l -8.991,3.985 c 16.622,15.09 36.793,24.968 58.871,28.819 V 151.993 h -63.205 c -4.296,6.236 -10.842,9.894 -17.908,9.894 -12.553,0 -22.766,-11.616 -22.766,-25.894 0,-14.277 10.212,-25.893 22.766,-25.893 7.065,0 13.611,3.657 17.908,9.894 h 63.205 V 99.113 C 147.428,90.58 135.742,72.373 135.742,51.998 135.742,23.326 159.069,0 187.74,0 c 28.672,0 51.998,23.326 51.998,51.998 0,21.533 -13.144,40.631 -32.998,48.404 v 19.592 h 63.204 c 4.297,-6.236 10.843,-9.894 17.908,-9.894 12.553,0 22.765,11.615 22.765,25.893 0,14.277 -10.212,25.894 -22.765,25.894 -7.065,0 -13.611,-3.657 -17.908,-9.894 H 206.74 v 153.959 c 22.078,-3.852 42.248,-13.729 58.871,-28.819 l -8.991,-3.985 c -1.324,-0.588 -2.228,-1.845 -2.362,-3.287 -0.134,-1.442 0.522,-2.845 1.716,-3.666 8.067,-5.584 28.235,-24.73 46.783,-57.189 0.713,-1.248 2.04,-2.016 3.473,-2.016 0.022,0 0.044,0 0.065,0.001 1.458,0.023 2.788,0.839 3.471,2.128 0.288,0.544 7.092,13.546 10.163,32.351 4.091,25.057 -0.532,48.477 -13.37,67.729 -0.733,1.1 -1.961,1.766 -3.282,1.781 -0.015,0 -0.031,0 -0.046,0 -1.304,0 -2.527,-0.636 -3.276,-1.705 l -7.074,-10.099 c -4.059,5.968 -11.863,16.398 -23.612,27.778 -16.445,15.931 -44.044,36.743 -82.139,45.426 -0.294,0.066 -0.592,0.099 -0.89,0.099 z M 79.749,287.99 c 0.06,0 0.12,10e-4 0.18,0.004 1.367,0.061 2.608,0.817 3.289,2.005 0.335,0.581 34.26,58.277 103.021,74.375 68.89,-16.127 102.686,-73.792 103.021,-74.375 0.682,-1.188 1.922,-1.943 3.289,-2.005 1.367,-0.075 2.67,0.581 3.456,1.701 l 7.007,10.004 c 17.898,-31.707 8.232,-65.716 2.694,-79.955 -16.254,26.67 -31.861,41.966 -39.801,48.77 l 8.415,3.729 c 1.206,0.535 2.07,1.629 2.312,2.925 0.241,1.297 -0.172,2.629 -1.105,3.561 -19.722,19.722 -44.706,32.12 -72.251,35.855 -1.147,0.154 -2.3,-0.191 -3.169,-0.951 -0.87,-0.76 -1.369,-1.858 -1.369,-3.013 V 147.993 c 0,-2.209 1.791,-4 4,-4 h 69.418 c 1.445,0 2.777,0.779 3.485,2.038 2.77,4.919 7.333,7.855 12.208,7.855 8.142,0 14.765,-8.027 14.765,-17.894 0,-9.867 -6.624,-17.893 -14.765,-17.893 -4.875,0 -9.438,2.937 -12.208,7.855 -0.709,1.259 -2.041,2.038 -3.485,2.038 H 202.74 c -2.209,0 -4,-1.791 -4,-4 v -26.4 c 0,-1.728 1.109,-3.26 2.75,-3.8 18.092,-5.949 30.248,-22.744 30.248,-41.794 C 231.738,27.737 212.001,8 187.74,8 c -24.26,0 -43.997,19.737 -43.997,43.998 0,18.013 10.794,34.022 27.5,40.787 1.51,0.612 2.499,2.078 2.499,3.708 v 27.501 c 0,2.209 -1.791,4 -4,4 h -69.419 c -1.445,0 -2.777,-0.779 -3.486,-2.038 -2.769,-4.919 -7.332,-7.855 -12.207,-7.855 -8.142,0 -14.766,8.026 -14.766,17.893 0,9.867 6.624,17.894 14.766,17.894 4.875,0 9.438,-2.937 12.207,-7.855 0.709,-1.259 2.041,-2.038 3.486,-2.038 h 69.419 c 2.209,0 4,1.791 4,4 v 162.626 c 0,1.154 -0.499,2.253 -1.369,3.013 -0.87,0.759 -2.021,1.104 -3.169,0.951 -27.546,-3.734 -52.53,-16.133 -72.252,-35.855 -0.932,-0.932 -1.345,-2.264 -1.104,-3.561 0.242,-1.296 1.106,-2.39 2.312,-2.925 l 8.414,-3.729 c -7.939,-6.802 -23.542,-22.096 -39.794,-48.756 -5.521,14.262 -15.16,48.303 2.688,79.94 l 7.006,-10.003 c 0.75,-1.072 1.974,-1.706 3.275,-1.706 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g827" />
|
||||
<g
|
||||
id="g829" />
|
||||
<g
|
||||
id="g831" />
|
||||
<g
|
||||
id="g833" />
|
||||
<g
|
||||
id="g835" />
|
||||
<g
|
||||
id="g837" />
|
||||
<g
|
||||
id="g839" />
|
||||
<g
|
||||
id="g841" />
|
||||
<g
|
||||
id="g843" />
|
||||
<g
|
||||
id="g845" />
|
||||
<g
|
||||
id="g847" />
|
||||
<g
|
||||
id="g849" />
|
||||
<g
|
||||
id="g851" />
|
||||
<g
|
||||
id="g853" />
|
||||
<g
|
||||
id="g855" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.6 KiB |
BIN
resources/public/img/map-pins/Broadband-supplier-pin.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
213
resources/public/img/map-pins/Broadband-supplier-pin.svg
Normal file
|
@ -0,0 +1,213 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<!-- Icon created for SceneHere (c) 2010 Simon Brooke $Revision: 1.2 $ -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240.5"
|
||||
height="317.00851"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="Broadband-supplier-pin.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/simon/workspace/geocsv/resources/public/img/map-pins/Broadband-supplier-pin.ng.png"
|
||||
inkscape:export-xdpi="11.98"
|
||||
inkscape:export-ydpi="11.98"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3155">
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3157" />
|
||||
<stop
|
||||
id="stop3163"
|
||||
offset="1"
|
||||
style="stop-color:#ffd200;stop-opacity:0.74789917;" />
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3159" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="-556.15585"
|
||||
inkscape:cy="86.04423"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383"
|
||||
originx="-384.75"
|
||||
originy="-548.24148" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Basic pin for SceneHere</dc:title>
|
||||
<dc:date>20100801</dc:date>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Copyright (c) 2010 Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:identifier>basic_map_pin.svg</dc:identifier>
|
||||
<dc:description>
|
||||
Basic default map pin
|
||||
$Revision: 1.2 $
|
||||
</dc:description>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-384.75,-187.11218)">
|
||||
<path
|
||||
style="fill:#c83737;fill-opacity:0.70403586;fill-rule:evenodd;stroke:#4f4f4f;stroke-width:10.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430,192.36218 150,0 c 20,1e-5 40,20.00001 40,40 l 0,150 c 0,20.00001 -20,40.00001 -40,40 l -40,0 c -20,0 -20,46.66667 -30,70 -13.33333,-23.33333 -20,-70 -40,-70 l -40,0 c -20,10e-6 -40,-19.99999 -40,-40 l 0,-150 c 0,-19.99999 20,-39.99999 40,-40 z"
|
||||
id="path2387"
|
||||
sodipodi:nodetypes="cccccccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g900"
|
||||
transform="matrix(0.42778362,0,0,0.42778362,404.47064,205.47142)"
|
||||
style="fill:#000000;fill-opacity:1">
|
||||
<g
|
||||
id="g837"
|
||||
style="fill:#000000;fill-opacity:1">
|
||||
<g
|
||||
id="g835"
|
||||
style="fill:#000000;fill-opacity:1">
|
||||
<g
|
||||
id="g833"
|
||||
style="fill:#000000;fill-opacity:1">
|
||||
<path
|
||||
id="path821"
|
||||
d="m 197.945,133.781 c -34.002,-23.38 -79.25,-22.763 -112.595,1.533 -3.348,2.439 -4.084,7.131 -1.645,10.479 1.468,2.015 3.752,3.084 6.068,3.084 1.532,0 3.078,-0.469 4.411,-1.439 28.211,-20.556 66.494,-21.079 95.262,-1.297 3.414,2.347 8.083,1.483 10.43,-1.931 2.347,-3.413 1.482,-8.082 -1.931,-10.429 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<path
|
||||
id="path823"
|
||||
d="m 177.736,160.474 c -21.796,-14.987 -50.802,-14.594 -72.178,0.982 -3.348,2.439 -4.084,7.131 -1.645,10.479 1.468,2.015 3.752,3.084 6.068,3.084 1.532,0 3.078,-0.468 4.41,-1.439 16.244,-11.835 38.284,-12.134 54.846,-0.746 3.414,2.346 8.083,1.483 10.43,-1.931 2.348,-3.413 1.483,-8.082 -1.931,-10.429 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<path
|
||||
id="path825"
|
||||
d="m 157.906,189.313 c -4.541,-3.121 -9.919,-4.771 -15.555,-4.771 -5.83,0 -11.576,1.848 -16.181,5.202 -3.348,2.438 -4.084,7.13 -1.646,10.478 1.468,2.016 3.752,3.085 6.068,3.085 1.533,-10e-4 3.078,-0.468 4.411,-1.44 2.058,-1.499 4.667,-2.325 7.348,-2.325 2.551,0 5.058,0.758 7.058,2.133 3.414,2.348 8.083,1.481 10.429,-1.932 2.346,-3.414 1.481,-8.083 -1.932,-10.43 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<path
|
||||
id="path827"
|
||||
d="m 335.232,30 c -4.142,0 -7.5,3.357 -7.5,7.5 v 18 c 0,4.143 3.358,7.5 7.5,7.5 4.142,0 7.5,-3.357 7.5,-7.5 v -18 c 0,-4.143 -3.357,-7.5 -7.5,-7.5 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<path
|
||||
id="path829"
|
||||
d="m 365.232,30 c -4.142,0 -7.5,3.357 -7.5,7.5 v 18 c 0,4.143 3.358,7.5 7.5,7.5 4.142,0 7.5,-3.357 7.5,-7.5 v -18 c 0,-4.143 -3.357,-7.5 -7.5,-7.5 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<path
|
||||
id="path831"
|
||||
d="m 410.232,78 h -7.5 V 7.5 c 0,-4.143 -3.358,-7.5 -7.5,-7.5 h -90 c -4.142,0 -7.5,3.357 -7.5,7.5 V 78 h -7.5 c -4.142,0 -7.5,3.357 -7.5,7.5 v 90 c 0,19.837 15.484,36.126 35,37.418 V 260.5 c 0,4.143 3.358,7.5 7.5,7.5 h 2.5 v 75.75 c 0,44.802 -36.449,81.25 -81.25,81.25 -44.801,0 -81.25,-36.448 -81.25,-81.25 V 320 h 58.463 c 4.142,0 7.5,-3.357 7.5,-7.5 V 7.5 c 0,-4.143 -3.358,-7.5 -7.5,-7.5 H 59.768 c -4.142,0 -7.5,3.357 -7.5,7.5 v 305 c 0,4.143 3.358,7.5 7.5,7.5 h 60.465 v 23.75 c 0,69.614 56.636,126.25 126.25,126.25 69.614,0 126.25,-56.636 126.25,-126.25 V 268 h 2.5 c 4.142,0 7.5,-3.357 7.5,-7.5 v -47.582 c 19.516,-1.292 35,-17.581 35,-37.418 v -90 C 417.732,81.357 414.375,78 410.232,78 Z m -97.5,-63 h 75 v 63 h -75 z M 67.268,305 V 15 h 148.928 v 290 z m 290.464,38.75 c 0,61.344 -49.907,111.25 -111.25,111.25 -61.343,0 -111.25,-49.906 -111.25,-111.25 V 320 h 15 v 23.75 c 0,53.072 43.178,96.25 96.25,96.25 53.072,0 96.25,-43.178 96.25,-96.25 V 268 h 15 z m 45,-168.25 c 0,12.406 -10.093,22.5 -22.5,22.5 h -25 c -4.142,0 -7.5,3.357 -7.5,7.5 0,4.143 3.358,7.5 7.5,7.5 h 12.5 v 40 h -35 v -47.5 c 0,-4.143 -3.358,-7.5 -7.5,-7.5 h -5 c -12.407,0 -22.5,-10.094 -22.5,-22.5 V 93 h 105 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g839"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g841"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g843"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g845"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g847"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g849"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g851"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g853"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g855"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g857"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g859"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g861"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g863"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g865"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
<g
|
||||
id="g867"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.9 KiB |
BIN
resources/public/img/map-pins/Investor-pin.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
162
resources/public/img/map-pins/Investor-pin.svg
Normal file
|
@ -0,0 +1,162 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<!-- Icon created for SceneHere (c) 2010 Simon Brooke $Revision: 1.2 $ -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240.5"
|
||||
height="317.00851"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="Investor-pin.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/simon/workspace/geocsv/resources/public/img/map-pins/Investor-pin.png"
|
||||
inkscape:export-xdpi="11.98"
|
||||
inkscape:export-ydpi="11.98"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3155">
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3157" />
|
||||
<stop
|
||||
id="stop3163"
|
||||
offset="1"
|
||||
style="stop-color:#ffd200;stop-opacity:0.74789917;" />
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3159" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="-560.19646"
|
||||
inkscape:cy="82.00362"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383"
|
||||
originx="-384.75"
|
||||
originy="-548.24148" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Basic pin for SceneHere</dc:title>
|
||||
<dc:date>20100801</dc:date>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Copyright (c) 2010 Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:identifier>basic_map_pin.svg</dc:identifier>
|
||||
<dc:description>
|
||||
Basic default map pin
|
||||
$Revision: 1.2 $
|
||||
</dc:description>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-384.75,-187.11218)">
|
||||
<path
|
||||
style="fill:#ff7f2a;fill-opacity:0.70403586;fill-rule:evenodd;stroke:#4f4f4f;stroke-width:10.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430,192.36218 150,0 c 20,1e-5 40,20.00001 40,40 l 0,150 c 0,20.00001 -20,40.00001 -40,40 l -40,0 c -20,0 -20,46.66667 -30,70 -13.33333,-23.33333 -20,-70 -40,-70 l -40,0 c -20,10e-6 -40,-19.99999 -40,-40 l 0,-150 c 0,-19.99999 20,-39.99999 40,-40 z"
|
||||
id="path2387"
|
||||
sodipodi:nodetypes="cccccccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g879"
|
||||
transform="matrix(0.3328653,0,0,0.3328653,403.1429,206.51503)">
|
||||
<g
|
||||
id="g823">
|
||||
<path
|
||||
id="path821"
|
||||
d="m 515.77,431.781 c 0,0 -8.917,-201.817 -135.072,-260.518 9.256,-14.101 18.176,-28.427 26.626,-43.018 11.122,-19.209 21.523,-39.136 28.899,-60.119 6.369,-18.114 5.823,-47.837 -11.421,-60.579 -14.977,-11.067 -36.904,-7.818 -53.604,-3.712 -13.713,3.372 -26.816,8.892 -39.847,14.25 -9.108,3.749 -18.35,7.339 -27.793,10.154 -10.094,3.008 -18.161,5.486 -31.057,-1.625 -3.358,-1.854 -6.701,-3.715 -10.149,-5.399 -10.489,-5.129 -20.946,-8.324 -32.719,-8.279 -21.403,0.073 -43.208,11.615 -53.512,30.642 -9.077,16.763 -7.027,32.818 0.289,49.305 10.566,23.817 29.965,44.772 46.745,64.328 3.586,4.178 7.213,8.324 10.879,12.44 C 104.478,226.17 95.389,431.78 95.389,431.78 c 0,0 -16.814,180.221 210.192,180.221 239.387,0 210.189,-180.22 210.189,-180.22 z m -143.939,24.066 c -2.696,7.371 -6.609,14.092 -11.651,19.969 -5.034,5.884 -11.17,10.875 -18.282,14.815 -4.124,2.308 -8.558,4.169 -13.267,5.604 v 11.804 c 0,10.293 -8.349,18.649 -18.654,18.649 h -2.006 c -10.307,0 -18.658,-8.356 -18.658,-18.649 v -9.798 c -3.489,-0.672 -6.883,-1.582 -10.145,-2.739 -6.871,-2.407 -13.223,-5.74 -18.888,-9.89 -5.66,-4.163 -10.673,-9.113 -14.864,-14.721 -2.996,-4.008 -5.564,-8.368 -7.631,-12.951 -3.62,-8.051 -1.102,-17.527 6.015,-22.739 l 3.089,-2.235 c 4.302,-3.14 9.736,-4.295 14.934,-3.157 5.211,1.121 9.679,4.414 12.297,9.048 1,1.778 2.109,3.46 3.336,4.986 2.252,2.858 4.828,5.314 7.658,7.272 2.814,1.955 5.92,3.504 9.237,4.579 3.229,1.039 6.616,1.579 10.071,1.579 4.569,0 8.65,-0.648 12.103,-1.912 3.225,-1.191 5.93,-2.795 8.031,-4.797 2.018,-1.921 3.598,-4.331 4.695,-7.172 1.22,-3.105 1.82,-6.702 1.82,-10.724 0,-4.001 -0.674,-7.226 -2.04,-9.577 -1.614,-2.827 -3.817,-5.299 -6.515,-7.345 -3.283,-2.494 -7.09,-4.721 -11.35,-6.631 -5.08,-2.285 -10.297,-4.547 -15.513,-6.75 -5.619,-2.366 -11.224,-4.964 -16.623,-7.733 -6.129,-3.137 -11.714,-7.021 -16.583,-11.547 -5.204,-4.846 -9.434,-10.717 -12.578,-17.448 -3.229,-6.947 -4.863,-15.182 -4.863,-24.496 0,-7.546 1.351,-14.795 4.03,-21.529 2.664,-6.702 6.483,-12.781 11.34,-18.047 4.845,-5.245 10.726,-9.633 17.506,-13.053 3.598,-1.803 7.419,-3.288 11.432,-4.443 v -10.045 c 0,-10.293 8.351,-18.648 18.658,-18.648 h 2.006 c 10.305,0 18.655,8.354 18.655,18.648 v 9.354 c 6.964,1.672 13.396,4.261 19.223,7.776 7.026,4.219 13.094,9.55 18.079,15.853 5.513,7.009 5.323,16.933 -0.481,23.698 l -2.991,3.496 c -3.443,3.999 -8.409,6.372 -13.699,6.497 -5.296,0.124 -10.356,-1.975 -13.988,-5.811 -0.784,-0.818 -1.592,-1.599 -2.419,-2.341 -2.138,-1.927 -4.438,-3.606 -6.837,-4.983 -2.266,-1.305 -4.704,-2.356 -7.208,-3.086 -2.332,-0.679 -4.714,-1.027 -7.097,-1.027 -3.897,0 -7.352,0.522 -10.241,1.548 -2.696,0.944 -4.945,2.211 -6.673,3.746 -1.662,1.487 -2.885,3.135 -3.754,5.037 -0.84,1.856 -1.255,3.836 -1.255,6.046 0,3.441 0.618,6.178 1.824,8.113 1.574,2.543 3.737,4.785 6.442,6.679 3.36,2.366 7.281,4.518 11.665,6.398 5.16,2.225 10.435,4.494 15.812,6.794 5.706,2.456 11.379,5.19 16.865,8.155 6.19,3.321 11.828,7.493 16.739,12.365 5.2,5.163 9.402,11.389 12.496,18.539 3.13,7.242 4.724,15.922 4.724,25.769 0,8.061 -1.364,15.88 -4.028,23.208 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g825" />
|
||||
<g
|
||||
id="g827" />
|
||||
<g
|
||||
id="g829" />
|
||||
<g
|
||||
id="g831" />
|
||||
<g
|
||||
id="g833" />
|
||||
<g
|
||||
id="g835" />
|
||||
<g
|
||||
id="g837" />
|
||||
<g
|
||||
id="g839" />
|
||||
<g
|
||||
id="g841" />
|
||||
<g
|
||||
id="g843" />
|
||||
<g
|
||||
id="g845" />
|
||||
<g
|
||||
id="g847" />
|
||||
<g
|
||||
id="g849" />
|
||||
<g
|
||||
id="g851" />
|
||||
<g
|
||||
id="g853" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.6 KiB |
BIN
resources/public/img/map-pins/Landowner-pin.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
169
resources/public/img/map-pins/Landowner-pin.svg
Normal file
|
@ -0,0 +1,169 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<!-- Icon created for SceneHere (c) 2010 Simon Brooke $Revision: 1.2 $ -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240.5"
|
||||
height="317.00851"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="Landowner-pin.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/simon/workspace/youyesyet/resources/public/img/map-pins/Landowner-pin.png"
|
||||
inkscape:export-xdpi="11.98"
|
||||
inkscape:export-ydpi="11.98"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3155">
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3157" />
|
||||
<stop
|
||||
id="stop3163"
|
||||
offset="1"
|
||||
style="stop-color:#ffd200;stop-opacity:0.74789917;" />
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3159" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="-351.09488"
|
||||
inkscape:cy="86.04423"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383"
|
||||
originx="-384.75"
|
||||
originy="-548.24148" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Basic pin for SceneHere</dc:title>
|
||||
<dc:date>20100801</dc:date>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Copyright (c) 2010 Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:identifier>basic_map_pin.svg</dc:identifier>
|
||||
<dc:description>
|
||||
Basic default map pin
|
||||
$Revision: 1.2 $
|
||||
</dc:description>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-384.75,-187.11218)">
|
||||
<path
|
||||
style="fill:#88aa00;fill-opacity:0.70403586;fill-rule:evenodd;stroke:#4f4f4f;stroke-width:10.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430,192.36218 150,0 c 20,1e-5 40,20.00001 40,40 l 0,150 c 0,20.00001 -20,40.00001 -40,40 l -40,0 c -20,0 -20,46.66667 -30,70 -13.33333,-23.33333 -20,-70 -40,-70 l -40,0 c -20,10e-6 -40,-19.99999 -40,-40 l 0,-150 c 0,-19.99999 20,-39.99999 40,-40 z"
|
||||
id="path2387"
|
||||
sodipodi:nodetypes="cccccccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g1588"
|
||||
transform="matrix(3.5141182,0,0,3.5141182,405.99846,213.75132)">
|
||||
<g
|
||||
id="g1530">
|
||||
<g
|
||||
id="g1528">
|
||||
<path
|
||||
id="path1524"
|
||||
d="m 48.19,31.889 c 0,-2.863 -2.344,-5.453 -6.124,-7.324 0.092,1.926 0.246,4.054 0.494,6.449 l 0.021,0.219 -0.094,0.198 c -0.098,0.203 -2.545,5.015 -15.217,5.015 -0.432,0 -0.781,-0.35 -0.781,-0.781 0,-0.022 0.012,-0.043 0.014,-0.064 0.034,-0.396 0.353,-0.709 0.756,-0.715 0.004,0 0.008,-0.002 0.012,-0.002 0.571,0 1.111,-0.014 1.638,-0.032 C 37.801,34.53 40.457,31.625 40.978,30.907 40.711,28.272 40.55,25.938 40.467,23.857 40.105,14.663 41.305,10.485 42.013,8.026 42.64,5.853 42.736,5.519 41.232,4.013 38.37,1.152 32.217,0.331 28.912,0.096 28.362,0.056 27.893,0.034 27.53,0.02 27.054,0.002 26.761,0.001 26.713,0 v 0.005 c -3.627,-0.031 -10.78,0.331 -13.904,3.455 -3.843,3.843 1.31,2.876 0.512,20.847 -4.109,1.89 -6.695,4.583 -6.695,7.582 0,5.706 9.305,10.332 20.783,10.332 C 38.885,42.222 48.19,37.595 48.19,31.889 Z M 13.909,7.652 c 0.183,-0.391 0.647,-0.56 1.04,-0.375 0.028,0.013 0.691,0.316 1.832,0.707 2.071,0.71 5.727,1.708 10.083,1.807 0.666,0.014 1.35,0.008 2.045,-0.024 2.704,-0.124 5.605,-0.636 8.519,-1.782 0.548,-0.215 1.093,-0.444 1.638,-0.705 0.389,-0.19 0.855,-0.022 1.042,0.368 0.186,0.39 0.021,0.855 -0.368,1.042 -3.717,1.78 -7.435,2.521 -10.832,2.679 -0.485,0.023 -0.963,0.034 -1.434,0.034 -0.199,0 -0.391,-0.008 -0.585,-0.013 C 19.872,11.259 14.619,8.85 14.283,8.692 13.894,8.507 13.726,8.043 13.909,7.652 Z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path1526"
|
||||
d="m 11.902,46.671 c -0.021,0.179 -0.031,0.352 -0.038,0.521 -0.621,0.188 -1.169,0.724 -1.156,1.537 0.031,1.944 0.848,3.24 2.138,3.792 0.96,2.314 3.209,2.919 5.703,1.626 1.497,-0.776 2.839,-1.805 4.198,-2.794 0.469,-0.342 1.979,-1.668 3.005,-2.053 0.148,-0.013 0.291,-0.048 0.426,-0.103 0.065,-0.004 0.12,0.011 0.177,0.021 0.198,0.094 0.418,0.141 0.654,0.133 0.235,0.008 0.456,-0.039 0.653,-0.133 0.059,-0.009 0.112,-0.024 0.179,-0.021 0.135,0.055 0.277,0.09 0.426,0.103 1.025,0.385 2.536,1.711 3.005,2.053 1.359,0.99 2.701,2.018 4.197,2.794 2.494,1.293 4.743,0.688 5.704,-1.626 1.288,-0.552 2.106,-1.848 2.137,-3.792 0.015,-0.813 -0.534,-1.349 -1.155,-1.537 -0.006,-0.169 -0.018,-0.342 -0.039,-0.521 -0.215,-1.845 -3.135,-1.865 -2.917,0 0.179,1.526 -0.049,1.943 -1.626,1.611 -1.519,-0.319 -2.977,-0.84 -4.449,-1.324 -1.861,-0.612 -4.228,-1.521 -6.115,-0.702 -1.888,-0.819 -4.254,0.09 -6.116,0.702 -1.471,0.484 -2.929,1.005 -4.449,1.324 -1.576,0.332 -1.805,-0.085 -1.626,-1.611 0.222,-1.865 -2.699,-1.844 -2.916,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g1532" />
|
||||
<g
|
||||
id="g1534" />
|
||||
<g
|
||||
id="g1536" />
|
||||
<g
|
||||
id="g1538" />
|
||||
<g
|
||||
id="g1540" />
|
||||
<g
|
||||
id="g1542" />
|
||||
<g
|
||||
id="g1544" />
|
||||
<g
|
||||
id="g1546" />
|
||||
<g
|
||||
id="g1548" />
|
||||
<g
|
||||
id="g1550" />
|
||||
<g
|
||||
id="g1552" />
|
||||
<g
|
||||
id="g1554" />
|
||||
<g
|
||||
id="g1556" />
|
||||
<g
|
||||
id="g1558" />
|
||||
<g
|
||||
id="g1560" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.1 KiB |
BIN
resources/public/img/map-pins/Operator-pin.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
161
resources/public/img/map-pins/Operator-pin.svg
Normal file
|
@ -0,0 +1,161 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<!-- Icon created for SceneHere (c) 2010 Simon Brooke $Revision: 1.2 $ -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240.5"
|
||||
height="317.00851"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="Operator-pin.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/simon/workspace/youyesyet/resources/public/img/map-pins/basic_map_pin.png"
|
||||
inkscape:export-xdpi="11.98"
|
||||
inkscape:export-ydpi="11.98"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3155">
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3157" />
|
||||
<stop
|
||||
id="stop3163"
|
||||
offset="1"
|
||||
style="stop-color:#ffd200;stop-opacity:0.74789917;" />
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3159" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="-545.31499"
|
||||
inkscape:cy="86.04423"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383"
|
||||
originx="-384.75"
|
||||
originy="-548.24148" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Basic pin for SceneHere</dc:title>
|
||||
<dc:date>20100801</dc:date>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Copyright (c) 2010 Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:identifier>basic_map_pin.svg</dc:identifier>
|
||||
<dc:description>
|
||||
Basic default map pin
|
||||
$Revision: 1.2 $
|
||||
</dc:description>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-384.75,-187.11218)">
|
||||
<path
|
||||
style="fill:#ffff00;fill-opacity:0.70403586;fill-rule:evenodd;stroke:#4f4f4f;stroke-width:10.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430,192.36218 150,0 c 20,1e-5 40,20.00001 40,40 l 0,150 c 0,20.00001 -20,40.00001 -40,40 l -40,0 c -20,0 -20,46.66667 -30,70 -13.33333,-23.33333 -20,-70 -40,-70 l -40,0 c -20,10e-6 -40,-19.99999 -40,-40 l 0,-150 c 0,-19.99999 20,-39.99999 40,-40 z"
|
||||
id="path2387"
|
||||
sodipodi:nodetypes="cccccccccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:export-xdpi="11.98"
|
||||
inkscape:export-ydpi="11.98" />
|
||||
<g
|
||||
id="g876"
|
||||
transform="matrix(0.49307722,0,0,0.49307722,402.02132,206.34179)">
|
||||
<path
|
||||
id="path821"
|
||||
d="M 310.475,82.607 C 306.784,59.511 295.724,39.802 278.007,25.069 259.67,9.821 235.237,0.92 209.188,0.006 c -0.234,-0.009 -0.461,-0.009 -0.696,0 -26.049,0.914 -50.491,9.815 -68.828,25.063 -17.718,14.733 -28.753,34.439 -32.444,57.538 -9.664,0.339 -17.372,8.306 -17.372,18.05 v 26.704 c 0,9.959 8.009,18.184 17.968,18.184 h 8.062 c 5.522,0 9.971,-4.6 9.971,-10.123 V 96.44 c 2,-50.704 43.059,-74.898 83.002,-76.433 39.946,1.535 80.998,25.725 82.998,76.435 v 29.436 l -11.802,0.549 c 1.317,-7.852 1.827,-16.198 1.5,-24.942 -1.677,-44.887 -38.678,-66.604 -72.343,-67.786 -0.232,-0.009 -0.471,-0.009 -0.703,0 -33.664,1.182 -70.662,22.898 -72.344,67.785 -1.388,37.1 12.439,67.066 37.937,82.214 10.719,6.368 22.736,9.552 34.754,9.552 12.018,0 24.035,-3.184 34.754,-9.552 13.972,-8.301 24.44,-20.991 30.821,-36.927 l 27.627,-1.225 h 7.828 c 9.959,0 17.972,-8.225 17.972,-18.184 v -26.704 c -0.001,-9.745 -7.711,-17.711 -17.375,-18.051 z m -51.007,44.778 -36.506,1.7 c -5.518,0.257 -9.781,4.938 -9.524,10.455 0.257,5.517 4.901,9.784 10.455,9.524 l 27.789,-1.294 c -4.621,7.897 -10.773,14.266 -18.296,18.734 -15.135,8.992 -33.941,8.992 -49.076,0 -19.007,-11.292 -29.273,-34.717 -28.167,-64.271 1.204,-32.143 27.279,-47.508 52.707,-48.533 25.429,1.025 51.503,16.39 52.703,48.533 0.337,9.008 -0.383,17.45 -2.085,25.152 z m 37.937,151.238 c -8.271,-44.662 -50.436,-64.653 -88.555,-64.654 -0.002,0 0.001,0 -0.001,0 -38.118,0 -80.286,19.994 -88.558,64.653 L 96.725,405.856 c -0.541,2.921 0.245,5.866 2.145,8.15 1.9,2.284 4.718,3.539 7.688,3.539 h 147.539 c 5.522,0 10,-4.477 10,-10 0,-5.523 -4.478,-10 -10,-10 H 118.581 l 21.377,-115.346 c 3.056,-16.502 12.642,-28.305 25.163,-36.213 4.284,14.83 21.338,24.559 43.722,24.559 0.003,0 0.003,0 0.006,0 22.385,0 39.442,-9.696 43.729,-24.525 12.521,7.907 22.105,19.821 25.161,36.323 l 23.568,127.194 c 0.893,4.815 5.095,8.161 9.821,8.161 0.604,0 1.218,-0.065 1.833,-0.179 5.431,-1.006 9.018,-6.228 8.012,-11.659 z M 233.41,240.302 c -1.465,5.657 -12.252,10.243 -24.562,10.243 -0.001,0 -0.004,0 -0.005,0 -12.306,0 -23.092,-4.587 -24.555,-10.244 l -0.662,-2.636 c 8.208,-2.438 16.835,-3.657 25.224,-3.657 8.389,0 17.014,1.238 25.222,3.677 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g823" />
|
||||
<g
|
||||
id="g825" />
|
||||
<g
|
||||
id="g827" />
|
||||
<g
|
||||
id="g829" />
|
||||
<g
|
||||
id="g831" />
|
||||
<g
|
||||
id="g833" />
|
||||
<g
|
||||
id="g835" />
|
||||
<g
|
||||
id="g837" />
|
||||
<g
|
||||
id="g839" />
|
||||
<g
|
||||
id="g841" />
|
||||
<g
|
||||
id="g843" />
|
||||
<g
|
||||
id="g845" />
|
||||
<g
|
||||
id="g847" />
|
||||
<g
|
||||
id="g849" />
|
||||
<g
|
||||
id="g851" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.8 KiB |
BIN
resources/public/img/map-pins/Other-key-customers-pin.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
162
resources/public/img/map-pins/Other-key-customers-pin.svg
Normal file
|
@ -0,0 +1,162 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<!-- Icon created for SceneHere (c) 2010 Simon Brooke $Revision: 1.2 $ -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240.5"
|
||||
height="317.00851"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="Other-key-customers-pin.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/simon/workspace/geocsv/resources/public/img/map-pins/Other-key-customers-pin.png"
|
||||
inkscape:export-xdpi="11.98"
|
||||
inkscape:export-ydpi="11.98"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3155">
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3157" />
|
||||
<stop
|
||||
id="stop3163"
|
||||
offset="1"
|
||||
style="stop-color:#ffd200;stop-opacity:0.74789917;" />
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3159" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="-560.19646"
|
||||
inkscape:cy="86.04423"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383"
|
||||
originx="-384.75"
|
||||
originy="-548.24148" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Basic pin for SceneHere</dc:title>
|
||||
<dc:date>20100801</dc:date>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Copyright (c) 2010 Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:identifier>basic_map_pin.svg</dc:identifier>
|
||||
<dc:description>
|
||||
Basic default map pin
|
||||
$Revision: 1.2 $
|
||||
</dc:description>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-384.75,-187.11218)">
|
||||
<path
|
||||
style="fill:#800080;fill-opacity:0.70403586;fill-rule:evenodd;stroke:#4f4f4f;stroke-width:10.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430,192.36218 150,0 c 20,1e-5 40,20.00001 40,40 l 0,150 c 0,20.00001 -20,40.00001 -40,40 l -40,0 c -20,0 -20,46.66667 -30,70 -13.33333,-23.33333 -20,-70 -40,-70 l -40,0 c -20,10e-6 -40,-19.99999 -40,-40 l 0,-150 c 0,-19.99999 20,-39.99999 40,-40 z"
|
||||
id="path2387"
|
||||
sodipodi:nodetypes="cccccccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g879"
|
||||
transform="matrix(0.69341642,0,0,0.69341642,406.65204,208.70617)">
|
||||
<g
|
||||
id="g823">
|
||||
<path
|
||||
id="path821"
|
||||
d="m 279.806,235.505 c -0.136,-1.772 -0.928,-3.476 -2.227,-4.747 L 165.336,118.515 c 4.416,-10.403 6.747,-21.669 6.747,-33.312 0,-22.754 -8.875,-44.163 -24.938,-60.266 C 131.059,8.866 109.665,0 86.898,0 64.12,0 42.763,8.869 26.651,24.95 c -33.243,33.225 -33.25,87.266 -0.005,120.488 16.111,16.115 37.475,24.99 60.241,24.99 11.646,0 22.884,-2.35 33.312,-6.772 l 36.874,36.902 c 1.534,1.515 3.557,2.319 5.74,2.248 l 20.095,-0.705 -0.656,20.145 c -0.062,2.125 0.705,4.193 2.245,5.706 1.484,1.512 3.569,2.334 5.685,2.248 l 20.169,-0.689 -0.724,20.123 c -0.063,2.127 0.754,4.199 2.238,5.712 1.534,1.512 3.321,2.325 5.74,2.251 l 20.119,-0.684 -0.674,20.126 c -0.118,2.232 0.822,4.379 2.418,5.903 1.472,1.339 3.309,2.06 5.245,2.06 0.278,0 0.563,-0.012 0.847,-0.037 l 30.851,-3.426 c 4.169,-0.455 7.205,-4.175 6.847,-8.353 z M 76.607,74.915 c -9.476,9.466 -24.796,9.466 -34.252,0 -9.47,-9.469 -9.47,-24.786 0,-34.246 9.456,-9.46 24.771,-9.469 34.252,-0.003 9.457,9.459 9.451,24.786 0,34.249 z m 176.864,163.16 c -1.126,1.126 -2.635,1.688 -4.101,1.688 -1.466,0 -2.976,-0.563 -4.101,-1.688 l -95.501,-95.529 c 2.659,-2.867 5.077,-5.885 7.273,-9.058 l 96.429,96.41 c 2.252,2.252 2.252,5.926 0.001,8.177 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g825" />
|
||||
<g
|
||||
id="g827" />
|
||||
<g
|
||||
id="g829" />
|
||||
<g
|
||||
id="g831" />
|
||||
<g
|
||||
id="g833" />
|
||||
<g
|
||||
id="g835" />
|
||||
<g
|
||||
id="g837" />
|
||||
<g
|
||||
id="g839" />
|
||||
<g
|
||||
id="g841" />
|
||||
<g
|
||||
id="g843" />
|
||||
<g
|
||||
id="g845" />
|
||||
<g
|
||||
id="g847" />
|
||||
<g
|
||||
id="g849" />
|
||||
<g
|
||||
id="g851" />
|
||||
<g
|
||||
id="g853" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.8 KiB |
BIN
resources/public/img/map-pins/Power-supplier-pin.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
174
resources/public/img/map-pins/Power-supplier-pin.svg
Normal file
|
@ -0,0 +1,174 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<!-- Icon created for SceneHere (c) 2010 Simon Brooke $Revision: 1.2 $ -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="240.5"
|
||||
height="317.00851"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="Power-supplier-pin.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/simon/workspace/youyesyet/resources/public/img/map-pins/Power-supplier-pin.png"
|
||||
inkscape:export-xdpi="11.98"
|
||||
inkscape:export-ydpi="11.98"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3155">
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3157" />
|
||||
<stop
|
||||
id="stop3163"
|
||||
offset="1"
|
||||
style="stop-color:#ffd200;stop-opacity:0.74789917;" />
|
||||
<stop
|
||||
style="stop-color:#ffff67;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3159" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="371.65244"
|
||||
inkscape:cy="86.04423"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2383"
|
||||
originx="-384.75"
|
||||
originy="-548.24148" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Basic pin for SceneHere</dc:title>
|
||||
<dc:date>20100801</dc:date>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:rights>
|
||||
<cc:Agent>
|
||||
<dc:title>Copyright (c) 2010 Simon Brooke</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:rights>
|
||||
<dc:identifier>basic_map_pin.svg</dc:identifier>
|
||||
<dc:description>
|
||||
Basic default map pin
|
||||
$Revision: 1.2 $
|
||||
</dc:description>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-384.75,-187.11218)">
|
||||
<path
|
||||
style="fill:#5a5cdc;fill-opacity:0.70403588;fill-rule:evenodd;stroke:#4f4f4f;stroke-width:10.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430,192.36218 150,0 c 20,1e-5 40,20.00001 40,40 l 0,150 c 0,20.00001 -20,40.00001 -40,40 l -40,0 c -20,0 -20,46.66667 -30,70 -13.33333,-23.33333 -20,-70 -40,-70 l -40,0 c -20,10e-6 -40,-19.99999 -40,-40 l 0,-150 c 0,-19.99999 20,-39.99999 40,-40 z"
|
||||
id="path2387"
|
||||
sodipodi:nodetypes="cccccccccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g876"
|
||||
transform="matrix(0.40458264,0,0,0.40458264,412.582,207.52617)">
|
||||
<path
|
||||
id="path821"
|
||||
d="M 456.855,72.488 290.673,0 H 166.183 L 0,72.488 v 62.348 H 149.276 L 63.569,426.856 H 0.928 v 30 h 455 v -30 H 393.287 L 307.58,134.836 H 456.856 V 72.488 Z M 184.312,30 h 88.232 v 74.836 h -88.232 z m -3.77,104.836 h 95.772 l 14.531,49.508 -62.417,67.988 -62.417,-67.988 z M 30,104.836 V 92.133 L 154.312,37.908 v 66.928 z m 126.145,113.122 51.92,56.554 -100.718,109.709 z M 108.933,426.855 228.428,296.693 347.923,426.855 Z M 349.508,384.221 248.791,274.513 300.71,217.959 Z M 426.855,104.836 H 302.544 V 37.908 l 124.312,54.225 v 12.703 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g823">
|
||||
</g>
|
||||
<g
|
||||
id="g825">
|
||||
</g>
|
||||
<g
|
||||
id="g827">
|
||||
</g>
|
||||
<g
|
||||
id="g829">
|
||||
</g>
|
||||
<g
|
||||
id="g831">
|
||||
</g>
|
||||
<g
|
||||
id="g833">
|
||||
</g>
|
||||
<g
|
||||
id="g835">
|
||||
</g>
|
||||
<g
|
||||
id="g837">
|
||||
</g>
|
||||
<g
|
||||
id="g839">
|
||||
</g>
|
||||
<g
|
||||
id="g841">
|
||||
</g>
|
||||
<g
|
||||
id="g843">
|
||||
</g>
|
||||
<g
|
||||
id="g845">
|
||||
</g>
|
||||
<g
|
||||
id="g847">
|
||||
</g>
|
||||
<g
|
||||
id="g849">
|
||||
</g>
|
||||
<g
|
||||
id="g851">
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.2 KiB |
|
@ -1,13 +1,15 @@
|
|||
(ns geocsv.handler
|
||||
(:require
|
||||
[geocsv.middleware :as middleware]
|
||||
[geocsv.layout :refer [error-page]]
|
||||
[geocsv.routes.home :refer [home-routes]]
|
||||
[reitit.ring :as ring]
|
||||
[ring.middleware.content-type :refer [wrap-content-type]]
|
||||
[ring.middleware.webjars :refer [wrap-webjars]]
|
||||
[geocsv.env :refer [defaults]]
|
||||
[mount.core :as mount]))
|
||||
(:require [compojure.core :refer [routes wrap-routes]]
|
||||
[compojure.route :as route]
|
||||
[geocsv.env :refer [defaults]]
|
||||
[geocsv.middleware :as middleware]
|
||||
[geocsv.layout :refer [error-page]]
|
||||
[geocsv.routes.home :refer [home-routes]]
|
||||
[geocsv.routes.rest :refer [rest-routes]]
|
||||
[reitit.ring :as ring]
|
||||
[ring.middleware.content-type :refer [wrap-content-type]]
|
||||
[ring.middleware.webjars :refer [wrap-webjars]]
|
||||
[mount.core :as mount]))
|
||||
|
||||
(mount/defstate init-app
|
||||
:start ((or (:init defaults) (fn [])))
|
||||
|
@ -15,21 +17,42 @@
|
|||
|
||||
(mount/defstate app-routes
|
||||
:start
|
||||
(ring/ring-handler
|
||||
(ring/router
|
||||
[(home-routes)])
|
||||
(ring/routes
|
||||
(ring/create-resource-handler
|
||||
{:path "/"})
|
||||
(wrap-content-type
|
||||
(wrap-webjars (constantly nil)))
|
||||
(ring/create-default-handler
|
||||
{:not-found
|
||||
(constantly (error-page {:status 404, :title "404 - Page not found"}))
|
||||
:method-not-allowed
|
||||
(constantly (error-page {:status 405, :title "405 - Not allowed"}))
|
||||
:not-acceptable
|
||||
(constantly (error-page {:status 406, :title "406 - Not acceptable"}))}))))
|
||||
;; This is an older way of doing routing and Dmitri Sotnikov now does it
|
||||
;; another way which is almost certainly better but I can't make it work.
|
||||
(routes
|
||||
(-> #'home-routes
|
||||
(wrap-routes middleware/wrap-csrf)
|
||||
(wrap-routes middleware/wrap-formats))
|
||||
(-> #'rest-routes
|
||||
(wrap-routes middleware/wrap-csrf)
|
||||
(wrap-routes middleware/wrap-formats))
|
||||
(route/resources "/")
|
||||
(route/not-found
|
||||
(:body
|
||||
(error-page {:status 404
|
||||
:title "Page not found"
|
||||
:message "The page you requested has not yet been implemented"})))))
|
||||
|
||||
|
||||
;; (ring/ring-handler
|
||||
;; (ring/router
|
||||
;; [(home-routes)
|
||||
;; ;; (-> rest-routes
|
||||
;; ;; (wrap-routes middleware/wrap-csrf)
|
||||
;; ;; (wrap-routes middleware/wrap-formats))
|
||||
;; ])
|
||||
;; (ring/routes
|
||||
;; (ring/create-resource-handler
|
||||
;; {:path "/"})
|
||||
;; (wrap-content-type
|
||||
;; (wrap-webjars (constantly nil)))
|
||||
;; (ring/create-default-handler
|
||||
;; {:not-found
|
||||
;; (constantly (error-page {:status 404, :title "404 - Page not found"}))
|
||||
;; :method-not-allowed
|
||||
;; (constantly (error-page {:status 405, :title "405 - Not allowed"}))
|
||||
;; :not-acceptable
|
||||
;; (constantly (error-page {:status 406, :title "406 - Not acceptable"}))}))))
|
||||
|
||||
(defn app []
|
||||
(middleware/wrap-base #'app-routes))
|
||||
|
|
|
@ -1,20 +1,29 @@
|
|||
(ns geocsv.routes.home
|
||||
(:require
|
||||
[geocsv.layout :as layout]
|
||||
[clojure.java.io :as io]
|
||||
[geocsv.middleware :as middleware]
|
||||
[ring.util.response]
|
||||
[ring.util.http-response :as response]))
|
||||
(:require [clojure.java.io :as io]
|
||||
[compojure.core :refer [defroutes GET POST]]
|
||||
[geocsv.layout :as layout]
|
||||
[geocsv.middleware :as middleware]
|
||||
[ring.util.response]
|
||||
[ring.util.http-response :as response]))
|
||||
|
||||
(defn home-page [request]
|
||||
(layout/render request "home.html"))
|
||||
"Serve the home page, in the process merging any parameters passed
|
||||
in the request into the session."
|
||||
(assoc
|
||||
(layout/render request "home.html")
|
||||
:session
|
||||
(merge
|
||||
(:session request)
|
||||
(:params request))))
|
||||
|
||||
(defn home-routes []
|
||||
[""
|
||||
{:middleware [middleware/wrap-csrf
|
||||
middleware/wrap-formats]}
|
||||
["/" {:get home-page}]
|
||||
["/docs" {:get (fn [_]
|
||||
(-> (response/ok (-> "docs/docs.md" io/resource slurp))
|
||||
(response/header "Content-Type" "text/plain; charset=utf-8")))}]])
|
||||
(defroutes home-routes
|
||||
(GET "/" request (home-page request))
|
||||
(GET "/docs" _ (fn [_]
|
||||
(->
|
||||
(response/ok
|
||||
(->
|
||||
"docs/docs.md"
|
||||
io/resource
|
||||
slurp))
|
||||
(response/header "Content-Type" "text/plain; charset=utf-8")))))
|
||||
|
||||
|
|
98
src/clj/geocsv/routes/rest.clj
Normal file
|
@ -0,0 +1,98 @@
|
|||
(ns geocsv.routes.rest
|
||||
"REST routes for geocsv."
|
||||
(:require [adl-support.core :as ac]
|
||||
[adl-support.rest-support :as ar]
|
||||
[clojure.core.memoize :as memo]
|
||||
[clojure.java.io :as io]
|
||||
[clojure.string :as s]
|
||||
[clojure.tools.logging :as log]
|
||||
[compojure.core :refer [defroutes GET POST]]
|
||||
[csv2edn.csv2edn :refer :all]
|
||||
[noir.response :as nresponse]
|
||||
[noir.util.route :as route]
|
||||
[ring.util.http-response :as response]
|
||||
))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;
|
||||
;;;; geocsv.routes.json: data service handlers.
|
||||
;;;;
|
||||
;;;; 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 2
|
||||
;;;; 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, write to the Free Software
|
||||
;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
;;;; USA.
|
||||
;;;;
|
||||
;;;; Copyright (C) 2016 Simon Brooke for Radical Independence Campaign
|
||||
;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn get-pin-image-names
|
||||
[request]
|
||||
(ar/do-or-server-fail
|
||||
(map
|
||||
#(s/replace (.getName %) #"-pin\.png$" "")
|
||||
(let [grammar-matcher (.getPathMatcher
|
||||
(java.nio.file.FileSystems/getDefault)
|
||||
"glob:*-pin.png")]
|
||||
(->> "public/img/map-pins"
|
||||
io/resource
|
||||
io/file
|
||||
file-seq
|
||||
(filter #(.isFile %))
|
||||
(filter #(.matches grammar-matcher (.getFileName (.toPath %)))))))
|
||||
200))
|
||||
|
||||
(defn get-data-uri
|
||||
"Return JSON formatted data taken from the CSV file at this URI. The file
|
||||
must exist, be publicly readable, and use commas as separators."
|
||||
[uri]
|
||||
(csv->json uri))
|
||||
|
||||
(defn get-data-google
|
||||
"Return JSON formatted data taken from the Google Sheets spreadsheet with
|
||||
this `docid`. The spreadsheet must exist and must be publicly readable."
|
||||
[docid]
|
||||
(get-data-uri
|
||||
(str
|
||||
"https://docs.google.com/spreadsheets/d/"
|
||||
docid
|
||||
"/export?format=csv")))
|
||||
|
||||
(defn get-data-file
|
||||
"Return JSON formatted data taken from the CSV file with the name `filename`
|
||||
in the directory `resources/public/data`."
|
||||
[filename]
|
||||
(-> (str "public/data/" filename) io/resource io/file io/reader csv->json))
|
||||
|
||||
(defn get-data
|
||||
"Return JSON formatted data from the source implied by this `request`."
|
||||
[request]
|
||||
(ar/do-or-server-fail
|
||||
;; We're merging the parameters from the request with the key/value
|
||||
;; pairs already in the session, so that parame put into the session
|
||||
;; by calls to the home page can be used here.
|
||||
(let [params (merge
|
||||
(:session request)
|
||||
(ac/massage-params request))]
|
||||
(cond
|
||||
(:docid params) (get-data-google (:docid params))
|
||||
(:uri params) (get-data-uri (:uri params))
|
||||
(:file params) (get-data-file (:file params))
|
||||
:else (get-data-file "data.csv")))
|
||||
200))
|
||||
|
||||
(defroutes rest-routes
|
||||
(GET "/get-pin-image-names" request (get-pin-image-names request))
|
||||
(POST "/get-pin-image-names" request (get-pin-image-names request))
|
||||
(GET "/get-data" request (get-data request))
|
||||
(POST "/get-data" request (get-data request)))
|
|
@ -60,7 +60,7 @@
|
|||
:fetch-data
|
||||
(fn [{db :db} _]
|
||||
(let [uri (assoc source-host
|
||||
:path "/data/data.json")]
|
||||
:path "/get-data")]
|
||||
(js/console.log
|
||||
(str
|
||||
"Fetching data: " uri))
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
(defn map-render
|
||||
"Render the actual div containing the map."
|
||||
[]
|
||||
[:div#map {:style {:height "500px"}}])
|
||||
[:div#map {:style {:height "1000px"}}])
|
||||
|
||||
(defn panel
|
||||
"A reagent class for the map object."
|
||||
|
|