geojson.net became Placemark.io, a complete system for building, editing, and sharing maps.
tmcw / geojson.net Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://www.placemark.io/
License: ISC License
Home Page: https://www.placemark.io/
License: ISC License
geojson.net became Placemark.io, a complete system for building, editing, and sharing maps.
Ideally, we use parcel as middleware and have one command that builds and serves the frontend and handles authentication.
The API.md file has several example links to demonstrate passing parameters via the URL. All of them except for the first one simply get changed to the first one when the map appears, and show no effect other than to display the entire world map but no geometry, no matter what the URL parameters are.
The same links, with the only change being that the domain is the deprecated “geojson.io” instead of “geojson.net”, appear in the geojson.io version of the file. Those work fine. Also, copying any of the example URLs from the geojson.NET API.md and pasting them into the browser bar, then changing the TLD of the URL from “.net” to “.io” also works just fine, but of course they then go to the deprecated geojson.IO.
Also, a minor thing: at the top of API.md in the geojson.net repository, the initial Header text still says “Geojson.io API.” Maybe that’s intentional because the API doesn’t work yet in geojson.NET? If so, maybe include a notation to that effect near the top of the file, that these are for future implementation.
Currently this app uses the Mapbox Legacy Maps API & a default classic style (mapbox.streets
) for it's primary tileLayer
:
Line 9 in 71bbccb
Support for Classic Styles is slated to end on June 1, 2020: https://blog.mapbox.com/deprecating-studio-classic-styles-d8892ac38cb4.
Because this implementation uses a Mapbox template style, migrating to the new endpoints should be fairly straightforward: https://docs.mapbox.com/help/troubleshooting/migrate-legacy-static-tiles-api/#leaflet-implementations
Issues:
geojson.io does not appear to break a sweat when performing same test.
I've been attempting to change somethings in the code and while using node server.js
building and making modifications take really long(30s) while DEV mode is active.
That said, I'm trying to run the frontend directly with parcel index.html
but I'm receiving the following error:
Is there a better way to made some modifications to run the project and not wait so long for the builds?
I've added some notes and some animations on how to use geojson.net with xyz
raster tiles. Thanks for this tool, as well as geojson.io. Please see https://github.com/roblabs/xyz-raster-sources#use-in-geojsonnet
I would like to add the proper notes to a Wiki or a docs.md
. It didn't seem right to add to readme.md. Any thoughts?
You can use geojson.net to add in xyz
raster tiles:
Add layer
ID
, Title
& Attribution
as neededURL
, you can add in a xyz
layerhttp://tile.stamen.com/watercolor/{z}/{x}/{y}.jpg
Obviously a pretty big task. Definitely a pony.
Previously, geojson.io used my personal (unlimited) token, then used a Mapbox-owned (unlimited) token, and now uses my alum token. This isn't an ideal situation for being able to run geojson.io independently.
Would be great if we could look into this issue around handling of the simple style properties that get added to features.
@stevage has offered me 4 brownie points to get this issue resolved, 4 can you believe it, it's so worth it!
I'm happy to take a preliminary look at it
I'm mostly just fixing whatever I stumble upon without making issues because of this stage of development, but anyway, this one's taking a little while:
leaflet-editable, which is lovely in that it lets us support multipolygons, nonetheless has some faults: specifically that it communicates in Leaflet's L.Polygon and L.Marker and so on, rather than L.GeoJSON features. So... latlng (seriously...) and we can't add properties to them. Need to figure out how to make it emit GeoJSON always.
Any objection if I switch the stringify code here to use
https://github.com/lydell/json-stringify-pretty-compact ?
It's much nicer to look at and the resulting geojsons diff better.
Sorry if it's too early for the wishlist :) But a need that I've often experienced, and never found a good solution to, is simple collaborative editing of geodata. Basically:
uMap kind of supports this, but doesn't have a real GeoJSON API. I'm not sure if this is possible at geojson.io through saving to Github. If it is, it's kind of clunky and not intuitive.
It would be really amazing if this was implemented simply and well.
(I'm not really asking for simultaneous collaborative editing here, though at least warning if there has been an intermittent save, and making some effort to merge changes might be nice.)
Not sure if I'm doing something wrong, or something broke, but currently, editing the text representation of the GeoJSON doesn't cause the map to be updated. So pasting into the edit box doesn't work, which is the primary way I use geojson.io (and hence would be expecting here...)
I have a potential group of German users who I want to recommend this tool to. Since it's for a history project the users tend to be older and not well-versed in English. It would therefore be very useful for us if the interface was available in German.
I would be willing to provide the translation if geojson.net adds support for translating the interface.
Hi Tom,
Importing a GeoJSON file from Open > File fails here:
geojson.net/src/ui/file_bar.js
Lines 28 to 41 in c0375f9
...since geojsons
are Promises and mergeGeojson
doesn't seem to handle those.
Should it wait for the file contents to be available? Something like:
const geojsons = await Promise.all( ... )
🤔 https://developer.github.com/v4/object/gist/ nothing here. It's in the v3 API, where... is it? Is it omitted from the new API?
Just noticed that when looking under "Statistics' on a marker, the latitude and longitude values are switched.
GeoJson going against the regular standard of (LAT,LNG) is the probable cause... Still not completely sure why they felt the need to switch them and go against the grain.
I noticed that the app uses the mapbox api tiles instead of mapbox source as a vector.
For some reason this gives different results compared to the vector, maybe the version numbers mean something? (v4 vs v8)
Anyway is there any reason to use mapbox tiles over the vector image? Is it easy enough to change in a forked version?
Can you offer instructions for how to get my fork functioning with github pages?
Already ticketed at mapbox/geojson.io#617, but I'm copying here because it's the most impactful thing that would improve geojson.io for me.
Not sure if this is a solvable problem, but geojson.net suffers from the same problem as geojson.io, in that if one polygon is wholly within another, it can be impossible to click on in order to edit its properties.
Possible solutions:
Will fix
Waiting on mxstbr/micro-github#13
Hi Tim, thank you very much for geojson.net and geojson.io! I really like these tools a lot, but like others I have concerns with the permissions. OK, call me paranoid ;) One idea would be to make it like this nbviewer where when sharing or getting data from pubic gists and repos, you only have to provide the URL. Since the data is public anyway, an oauth token might not even be necessary. Anyway, just an idea, feel free to close this as I probably won't send a PR, sorry.
related issues:
probably more
Gday @tmcw
Thanks for undertaking this project (the original and the to-be version), I couldn't tell you how often I use it! As I mentioned on slack I'd also half-heartedly started recently working on a more modernised replacement.
If you're interested I'd be happy to attempt to give the UI a bit of love. I can start with throwing together a few mock images and take it from there.
Cheers
Rowan
They're utf8 characters right now and they look terrible.
When I attempt to open a CSV file from my computer, the file doesn't appear to load. I get the following error in the console:
XML Parsing Error: syntax error
Location: https://geojson.net/#2/20.0/0.0
Line Number 1, Column 1:
and
TypeError: o is null
This is a bad intersection of leaflet editable, leaflet, and parcel.
Not sure exactly when it started however the maps are not loading. I can however make it work when loading my own Mapbox PublicKey locally
http://localhost:1234/ seems to be just the API:
Cannot GET /
But on which port is the webpage getting served?
Since the fix for Issue #45 (not responding to URL parameters) which I reported was applied. now the geojson.net just WSODs, with or without any URL parameters.
Here’s the complete returned HTML (note no tags in the <body>
section that would display anything — just an empty <div>
and some <script>
:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=Edge'>
<title>geojson.net</title>
<link href='./node_modules/tachyons/src/tachyons.css' rel='stylesheet' />
<link href='./css/leaflet.css' rel='stylesheet' />
<link href='./node_modules/codemirror/lib/codemirror.css' rel='stylesheet' />
<link href='./css/theme.css' rel='stylesheet' />
<link href='./css/style.css' rel='stylesheet' />
<link rel='icon' type='image/x-icon' href='./img/favicon.png' />
<meta name='description' content='simply edit geojson map data' />
<meta property='og:site_name' content='geojson.net'/>
<meta name='viewport' content='initial-scale=1,maximum-scale=1'>
<meta http-equiv="Content-Security-Policy" content="
default-src
'self'
;
child-src
'self'
blob:
;
connect-src
'self'
*
;
font-src
'self'
;
frame-src
'self'
;
img-src
'self'
data:
*
;
script-src
'self'
'unsafe-eval'
'unsafe-inline'
;
style-src
'self'
'unsafe-inline'
;
">
<style>
/*
* http://seclab.stanford.edu/websec/framebusting/framebust.pdf
*/
body { display: none; }
</style>
</head>
<body>
<div id='geojsonnet'></div>
<script>
if (self == top) {
document.getElementsByTagName ("body")[0].style.display = 'block';
} else {
top.location = self.location;
}
</script>
<script src='./src/index.js'></script>
</body>
</html>
Hi Tom,
for what do I exactly need the zeit.co/now dependency? As I am a non-American patriot it's illegal for me to use AWS.
Source: #47
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.