Merge branch 'develop'

This commit is contained in:
Simon Brooke 2020-01-28 22:33:54 +00:00
commit c3e23fb5da
25 changed files with 1582 additions and 91 deletions

View file

@ -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.

View file

@ -1 +1,2 @@
{}
{:prod false
:port 3000}

11
pom.xml.asc Normal file
View 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-----

View file

@ -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"]

View file

@ -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 \/ -->

View 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; }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View 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

View file

@ -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))

View file

@ -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")))))

View 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)))

View file

@ -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))

View file

@ -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."